自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Java反射

一个.java文件中可以看到的内容是未经编译过的,只有一部分自定义的内容。在IDEA中点开class文件查看,发现也只有一部分自定义的内容,因为这是编译器经过反编译处理后看到的,并不是class文件完全体。这容易误导以为一个class文件的内容也只有反编译后所看到的内容。以下是class文件真正的ClassFile内容,存储类似C语言结构体。

2024-11-13 17:15:11 438

原创 SpringBoot常用功能实现

文件名前缀和后缀为标准固定格式,不可以改变。

2024-07-19 02:37:51 380

原创 Java网络通信及Servlet常见场景实现

Servlet已默认实现及提供了相关接口,直接使用即可。重定向的请求头中多了Cookie的两个参数。响应返回头中设置了两个Cookie。

2024-06-10 20:54:08 364

原创 C++与Java数据结构设计的区别

C++中的逆向迭代器是一个公共的模板,底层实现只是对正向迭代器的封装,迭代器的逆向首尾元素通过成员方法rbegin()和rend()方法来取到,同样内部只是反着调用了end()和begin()。Java中的反向迭代器同样有设计,但是非常不好用,数据结构间有设计的反向迭代器也差异化较大,开发中几乎没有使用,即使要反向迭代,也可以通过其它手段实现。Java不可以通过Lambda直接定义一个实现类,必须依托函数式接口才可以实现,Java函数式接口配合Lambda使用只能拥有一个方法。C++是通过数组+链表实现。

2024-06-02 13:31:59 513 1

原创 rpmbuild多进程批量编译脚本

rpmbuild多进程批量编译

2024-06-02 03:35:06 507

原创 Qt实现VLC

选择32位或64位下载7z。

2024-03-28 01:29:13 1046

原创 Qt界面优化QSS、QPainter使用

选择QPushButton,QLineEdit,QComboBox这三种控件.(即接下来的样式会针对这三种控件都⽣效).选择QDialog的所有后代(子控件,孙子控件等等)中的QPushButton.选择器描述的范围越精准,则优先级越高,一般来说, ID选择器优先级是最高的。选择所有QPushButton中,flat属性为false的控件.选择QDialog的所有子控件中的 QPushButton.选择所有的QPushButton的控件.不会选择子类.选择所有的QPushButton和其子类的控件.

2024-03-21 02:30:59 1211 1

原创 Python基础语法

int整数,默认4个字节,自动增长float双精度浮点数,8个字节bool布尔类型,True / False,1个字节str字符串,单引号与双引号都可以表示,没有区别。

2024-03-08 00:36:52 504 1

原创 Qt事件、文件、线程、网络实现

Qt::KeyboardModifier 中定义了在处理键盘事件时对应的修改键。在Qt中,键盘事件可以与修改键一起使用,以实现一些复杂的交互操作。查找按键事件中所有的组合按键类型:在帮助文档中输入:Qt::KeyboardModifier。查找按键事件中所有的单个按键类型:在帮助文档中输入:Qt::Key。Meta键(在Windows上指Windows键,在macOS上指Command键)使用键盘上的数字键盘进行输入时,Num Lock键处于打开状态。用于在输入法组之间切换。

2024-03-04 19:49:06 462 1

原创 QMainWindow核心控件及QDialog对话框使用

menuBar()QMainWindow内部方法,返回唯一菜单栏QMainWindow设置菜单栏。

2024-02-28 22:05:51 526

原创 QWidget常见控件的API与信号

如:" on_pushButton_clicked() " ,pushButton 代表的是对象名,clicked 是对应的信号。

2024-01-22 13:08:02 1223

原创 ProtoBuf

sudo make check // 执行15分钟左右。sudo make // 执行15分钟左右。

2023-12-29 20:09:21 371 1

原创 Git常用命令

Fast-forward(快进模式),当前分支直接指向要合并分支的最新提交,合并速度快;--no-ff 参数,表⽰禁⽤ Fast forward 模式。禁⽤ Fast forward 模式后合并会自动创建⼀个新的commit ,所以加上 -m 参数,把描述写进去。如果只有工作区有,版本库没有,则工作区回退不了,需要add后就可以了。合并如果有冲突,需要再次提交一次,就不再是默认模式了。删除的分支如果没有进行过合并,则需要用-D强制删除。--abbrev-commit: 缩写提交id。

2023-12-28 16:45:26 856 1

原创 Docker常用命令

配置加载#启动服务#开启启动#查看服务状态],

2023-12-20 15:21:43 2374 1

原创 Redis常用命令

cd /etc/修改配置文件#修改任意ip#关闭保护模式#启动守护进程#修改工作目录#修改日志目录。

2023-12-10 19:11:14 1513 1

原创 MySQL安装及常用命令

skip-grant-tables # root默认不需要密码character-set-server=utf8 # 数据库编码utf8default-storage-engine=innodb # 数据库引擎。

2023-12-02 17:24:33 2340

原创 fcntl、select、poll、epoll使用

复制一个现有的描述符(cmd=F_DUPFD).获得/设置文件描述符标记(cmd=F_GETFD或F_SETFD).获得/设置文件状态标记(cmd=F_GETFL或F_SETFL).获得/设置异步I/O所有权(cmd=F_GETOWN或F_SETOWN).获得/设置记录锁(cmd=F_GETLK,F_SETLK或F_SETLKW).O_NONBLOCK,非阻塞,配合F_SETFL使用。返回值:成功返回文件描述符fd的属性位图,失败返回-1。

2023-11-29 23:19:05 385 1

原创 传输层、网络层、数据链路层协议介绍

16位UDP长度包含UDP报头+UDP数据,UDP包最大为64k,如果校验和出错会直接丢弃。

2023-11-23 14:56:39 1187

原创 Socket套接字

1. socket 套接字创建1. socket 套接字创建AF_INET (Adress Family地址族_Internet protocols网络协议) IPv4网络协议。PF_INET (Protocol Family协议族_Internet protocols网络协议) IPv4网络协议。SOCK_DGRAM (Supports datagrams)支持数据报(无连接、最大长度固定的不可靠消息)。SOCK_STREAM 支持字节流(TCP)默认传0。

2023-11-05 20:37:34 109 1

原创 多线程互斥及同步

进程是资源分配的基本单位,线程是调度的基本单位,线程共享进程数据,但也拥有自己独立的数据:线程id,一组寄存器,栈,errno,信号屏蔽字,调度优先级。线程又被称为轻量级进程(Light Weighted Process),查看线程命令在ps命令行参数添加-L。LWP即为线程id。linux线程接口提供了一套pthread第三方库来供外部调用,线程在进程空间中的共享区各自私有一份自己的栈区。

2023-10-25 01:02:22 59 1

原创 进程信号及捕捉

主函数执行过程中中断进入内核态,内核切换用户态之前处理可递达的信号,信号如果自定义捕获,再切换回用户态执行信号注册函数,执行完后再次切换回内核态,内核完成信号处理收尾工作,再切换回主函数继续向下执行。pending表示信号未决,block表示信号阻塞,用位图设置,信号从1号开始按下标依次映射,handler表示信号相应的处理动作。set为要设置的信号屏蔽字(输入型参数),oset为当前进程的mask(block阻塞信号集)(输出型参数),how为设置方式。当信号处理函数返回时自动恢复原来的信号屏蔽字。

2023-10-18 21:16:00 74 1

原创 进程间通信

匿名管道可以让父子间进程进行通信,在fork()子进程之前,调用系统接口int pipe(int pipefd[2])创建纯内存存在的文件,管道文件由操作系统的文件系统来管理,匿名管道采用半双工通信,需关闭父子进程用不到的fd,防止读写数据冲突。系统接口调用,参数为输出型参数,下标0和1分别对应读fd和写fd。

2023-10-16 17:45:59 68 1

原创 文件系统、软硬链接、动静态库

每个文件对应一个inodebit位(1bit)和一个inode Table属性集合(128字节),inode Table中会有一个Data Blocks数组对应多个Data Block(4kb)。创建一个文件,系统会通过占用一位inodebit位和占用一条inode Table来生成对应的inode编号,并且在当前目录的Data Block中写入一份文件名和inode编号对应的kv数据。

2023-10-11 19:53:49 73

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除