- 博客(54)
- 收藏
- 关注
原创 设计模式之简单工厂模式
不是一个正式的设计模式,但它是工厂模式的基础。它使用一个单独的工厂类来创建不同的对象,根据传入的参数决定创建哪种类型的对象。(Concrete Product):实现了抽象产品接口,定义了具体产品的特定行为和属性。(Concrete Factory):根据不同的参数决定创建哪种类型的对象。每次增加一个产品时,都需要修改具体工厂中的代码,违反了OCP开闭原则。
2025-05-30 12:00:09
703
原创 Shell 脚本
个人感觉,光是把这些内容看完、敲完,对 Shell 的掌握还远远不够。因此,我打算新开一个专栏,每天练习一道 Shell 编程题,不断积累实战经验。也愿与各位朋友共勉,在 Shell 的世界里越走越远!
2025-05-29 20:41:25
1403
原创 设计模式之原型模式
(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于。:实现原型接口的具体类,负责实际的克隆操作。:使用原型实例来创建新的对象。客户端调用原型对象的。方法来创建新的对象,而不是直接使用构造函数。:定义一个用于克隆自身的接口,通常包括一个。方法,通常使用浅拷贝或深拷贝来复制自身。,它提供了一种创建对象的最佳方式之一。
2025-05-29 14:16:49
736
原创 设计模式之单例模式
此时线程 B 进入这个方法,直接获取了 instance,但此时instance 尚未初始化。线程 A 按照 1 -> 3 -> 2的流程执行,先让instance指向了一个地址。第一种:给 getInstance 方法加锁,代码编写简单,但是效率不高。这里给instance变量加上volatile关键字是为了防止代码重排序。如果发生了代码重排序,可能流程变成 1 -> 3 -> 2。,主要用于解决频繁创建和销毁全局使用的类实例的问题。第一次需要用到的时候实例化对象,有两种写法。在类加载的时候实例化对象。
2025-05-28 19:26:18
719
原创 CSS回顾
显示模式img {div {.box1 {.box2 {<img width="300" src="../images/我的自拍.jpg" alt=""><img width="300" src="../images/我的自拍.jpg" alt="">
2025-05-22 16:54:57
1259
原创 第二章 Java语言基础
本章介绍了Java语言的基础知识,重点讨论了八大基本数据类型及其对应的包装类,包括byte、short、int、long、float、double、boolean和char。从JDK 1.5开始,Java引入了自动装箱和自动拆箱机制,简化了基本类型与包装类之间的转换。此外,本章深入探讨了包装类的序列化机制,特别是通过实现Serializable接口来支持对象的序列化和反序列化。Serializable是一个标记接口,用于指示类的对象可以被序列化,Java提供了默认的序列化机制,同时也允许开发者通过自定义wr
2025-05-21 13:32:54
1223
原创 第一章走进java世界
(Java Virtual Machine):可以运行 Java 字节码(*.class)的虚拟计算机。编译执行(生成 Hello1.class 文件 和 Hello2.class 文件,执行结果正常)编译执行(生成 Hello.class 文件 和 Hello1.class 文件, 执行结果正常):让操作系统找到可执行命令文件,比如 javac.exe、java.exe。编译执行(生成 Hello1.class 文件,执行结果正常)编译执行 (生成 Hello.class 文件,执行结果正常)
2025-05-20 21:55:11
1286
原创 计算机网络之王道考研读书笔记-2
传输介质可分为:①导向传输介质,指铜线或光纤等,电磁波被导向为沿着固体介质传播:②非导向传输介质,指自由空间(空气、真空或海水),电磁波在非导向传输介质中的传输称为无线传输。通信的目的是传输信息。信号则是数据的电气或电磁表现,是数据在传输过程中的存在形式。信源是产生和发送数据的源头,信宿是接收数据的终点,信道是信号的传输介质,一个双向通信的线路包含一个发送信道和一个接收信道。在网络中只起信号放大和转发作用,目的是扩大网络的传输范围,而不具备信号的定向传送能力,即信息传输的方向是固定的,是标准的共享式设备。
2024-12-19 19:08:25
992
1
原创 计算机网络之王道考研读书笔记-1
internet(互连网):泛指由多个计算机网络互连而成的计算机网络。这些网络之间可使用任意通信协议。Internet(互联网或因特网):指当前全球最大的、开放的、由众多网络和路由器互连而成的特定计算机网络,它采用 TCP/IP 协议族作为通信规则。从定义来看,internet包括Internet。
2024-12-16 18:52:22
1053
2
原创 如何利用nw.js打包vue项目
NW.js基于Chromium和Node.js。NW.js能够通过页面技术开发桌面应用 , 同时可以调用Node.js代码以及模块。未来 , 你可以使用NW.js轻松将页面应用制作成桌面应用。
2024-09-20 21:22:44
1368
原创 深入理解Servlet
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。
2024-09-16 11:08:34
1771
原创 自动化工具selenium
selenium本身是一个自动化测试工具。它可以让python代码调用浏览器。并获取到浏览器中加载的各种资源。我们可以利用selenium提供的各项技能。帮助我们完成数据的抓取。
2024-07-27 12:33:04
1211
原创 python中的协程
asyncio模块是python3.4版本引入的标准库, 直接内置了对异步IO的操作编程模式是一个消息循环, 我们从asyncio模块中直接获取一个EventLoop的引用, 然后把需要执行的协程扔到EventLoop中执行, 就实现了异步IO说明能实现协程的不止asyncio, tornado和gevent都实现了类似功能关键字的说明关键字 说明event_loop 消息循环, 程序开启一个无限循环, 把一些函数注册到事件循环上, 当满足事件发生的时候, 调用相应的协程函数。
2024-07-25 18:26:14
758
原创 python中的线程
一条线程指的是进程中一个单一顺序的控制流, 一个进程中可以并发多个线程, 每条线程并行执行不同的任务。当有某个任务完成的时候, 会 yield 这个任务, 就能执行 for 循环下面的语句, 然后继续阻塞住, 循环到所有任务结束, 同时, 先完成的任务会先返回给主线程。并且由于GIL锁存在, Python里一个进程永远只能同时执行一个线程(拿到GIL的线程才能执行), 这就是为什么在多核CPU上, Python的多线程效率并不高的根本原因。线程是最小的执行单元, 而一个进程由至少一个线程组成。
2024-07-24 18:07:10
575
原创 urllib&requests
除了requests模块可以发送请求之外, urllib模块也可以实现请求的发送, 只是操作方法略有不同!urllib在python中分为urllib和urllib2, 在python3中为urllib# 构造请求# 发送请求获取响应response.cookies是CookieJar类型使用requests.utils.dict_from_cookiejar, 能够实现把cookiejar对象转化为字典。
2024-07-21 20:15:45
941
原创 xpath
XPath是一门在XML文档中查找信息的语言。li[@name=“xx”]//text() # 获取li标签name为xx的里面的文本内容。//*[@class=“xx”] # 获取所有class为xx的标签。通过在路径表达式中使用"|"运算符,您可以选取若干个路径。//div/a/@href # 获取a里面的href属性值。谓语用来查找某个特定的节点或者包含某个指定的值的节点。注意: "|"两边必须是完整的xpath路径。查找所有div标签下的直接子节点h1的内容。//* # 获取所有。
2024-07-18 22:27:17
695
原创 beautifulsoup
Beautiful Soup 支持Python标准库中的HTML解析器, 还支持一些第三方的解析器, 如果我们不安装它, 则Python会使用默认的解析器, lxml解析器更加强大,推荐安装。我们在写CSS时, 标签名不加任何修饰, 类名前加点, id名前加#, 在这里我们也可以利用类似的方法来筛选元素, 用到的方法是soup.select(),返回类型是list。一个Tag可能包含多个字符串或其它的Tag,这些都是这个Tag的子节点.Beautiful Soup 提供了许多操作和遍历子节点的属性。
2024-07-18 16:03:45
959
原创 正则表达式
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern)正则表达式是一个 模糊的 匹配(不是精准匹配)re: python自1.5版本开始增加了re模块,该模块提供了perl风格的正则表达式,re模块是python中所有正则表达式的功能如下四个方法经常使用match()search()findall()finditer()
2024-07-17 21:15:10
774
原创 Docker
镜像就是包含了应用文件、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。准备一个Linux服务器安装JRE并配置环境变量拷贝Jar包运行Jar包准备一个Linux运行环境安装JRE并配置环境变量拷贝Jar包编写运行脚本。
2024-07-08 10:59:15
1208
2
原创 Redis的基本使用
Redis是一个基于内存的 key-value 结构的数据库官网:https://redis.io中文网:https://www.redis.net.cn/
2024-07-08 10:47:41
633
原创 QT实战百度语音识别
随着学习的深入,感觉愈发缺乏满足感。刚好看到微信语音转文字的功能,经网上查询,发现可以使用QT + 百度语音识别技术实现这一功能。当然,由于使用的 QT 和 百度语音识别,那么看不到一些具体的底层实现,但操作起来相对比较简单。俗话说:“没吃过猪肉,还没见过猪跑?”,我打算先看看别人已有的技术,搬过来跑一下,然后再进行深入学习,同时也可以复习一下 QT 相关知识。文章如有写错或者代码可优化,欢迎大家指正!
2024-05-08 21:30:45
3331
5
原创 音视频常用工具
VLC 播放器VLC支持多种常见音视频格式,支持多种流媒体传输协议,也可当作本地流媒体服务器使用,功能十分强大。官网下载地址: https://www.videolan.org/VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。VLC的全名是Video Lan Client, 是一个开源、跨平台的视频播放器。
2024-05-06 22:04:19
1207
1
原创 个人学习总结__打开摄像头、播放网络视频的以及ffmpeg推流
最近入手了一款非常便宜的usb摄像头(买回来感觉画质很低,没有描述的4k,不过也够用于学习了),想着利用它来开启流媒体相关技术的学习。第一步便是打开摄像头,从而才能够对它进行一系列后续操作,诸如实时编解码,推流摄像头采集的数据等等。本篇文章记录了如何通过QT、libvlc、ffmpeg三种方式来调用usb摄像头,顺带讲述了如何播放http网络视频流。以及如何搭建一个srs流媒体服务器。如代码有逻辑错误或者可优化,欢迎大家指正!希望和大家共同进步。
2024-04-28 22:32:03
3159
原创 ffmpeg与sdl的个人笔记
AVFormatContext: 封装格式上下文结构体,也是统领全局的结构体,保存了视频文件封装格式相关信息。AVInputFormat demuxer每种封装格式(例如FLV, MKV, MP4, AVI)对应一个该结构体。AVStream 视频文件中每个视频(音频)流对应一个该结构体。AVCodecContext 编解码器上下文结构体,保存了视频(音频)编解码相关信息。AVCodec 每种视频(音频)编解码器(例如H.264解码器)对应一个该结构体。
2024-04-25 17:57:57
1392
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人