自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于TCP的聊天系统

服务端数据库模块用户管理模块自定义消息类型消息队列服务端核心部分客户端

2022-08-05 22:06:12 22600 4

原创 GZIP文件压缩

基于huffffman树的文件压缩LZ77GZIP: LZ77和Huffman的结合

2022-08-04 16:45:59 2416

原创 二叉搜索树

1 二叉搜索树概念2 二叉搜索树操作

2022-08-04 09:31:10 1694

原创 排序算法集合

1.前言2.直接插入排序:3.希尔排序( 缩小增量排序 )4.选择排序4.1直接选择排序:4.2堆排序5.交换排序5.1冒泡排序5.2.快速排序6.归并排序7.非比较类排序

2022-07-22 12:02:05 1750

原创 AVL树的旋转

单旋与双旋的选择:左单旋右单旋右左双旋左右双旋AVL树的验证

2022-06-04 22:23:25 177

原创 网络基础1

1.网络发展背景2.网络协议的初识3.网络协议分层4.网络数据的封装与分用5.ip地址和MAC地址的初识

2022-05-19 00:22:00 244

原创 线程池&读写锁&单例模式&乐观锁&悲观锁

线程池读写锁单例模式乐观锁&悲观锁

2022-05-10 19:03:37 515

原创 生产者与消费者模型&信号量

生产者与消费者模型与信号量

2022-05-10 18:55:01 382

原创 死锁&详解

1.死锁产生的场景(两种)2.死锁的gdb分析3.死锁的必要条件4.代码怎么预防死锁

2022-05-10 18:46:11 272

原创 同步&条件变量

条件变量:条件变量接口:条件变量更深层次的理解(pthread_cond_wait内部原理)

2022-05-10 18:40:37 240

原创 c++ 继承

1.继承的概念及定义2.基类和派生类对象赋值转换(赋值兼容规则)3.继承中的作用域4.派生类的默认成员函数5. 继承与静态成员6.继承与友元7.复杂的菱形继承及菱形虚拟继承虚拟继承简单介绍:...

2022-05-04 12:32:56 965

原创 c++引用

1 、引用概念2、 引用特性3、 常引用4 使用场景5.引用和指针的区别

2022-05-04 12:16:42 640

原创 内联函数&语法糖

const修饰的常量内联函数宏的优缺点auto关键字(C++11)基于范围的for循环(C++11)指针空值nullptr(C++11)

2022-05-04 12:10:31 160

原创 priority_queue & deque

priority_queue介绍priority_queue的使用堆算法算法:sort容器适配器deque的简单介绍为什么选择deque作为stack和queue的底层默认容器

2022-05-02 19:03:17 561

原创 线程安全与互斥

线程安全与互斥

2022-04-19 15:20:27 399

原创 线程概念与线程控制

1.线程概念2.线程控制

2022-04-19 15:12:15 636

原创 c++ list

1.list介绍2.list的构造3.迭代器4.容量相关5.元素访问6.修改7.特殊操作8. list的迭代器失效9.list模拟实现

2022-04-19 15:08:34 1156

原创 vector

1.string与vector的区别2.vector介绍3.(constructor)构造函数4.迭代器5.vector空间相关6. vector 增删查改7.迭代器失效8.vector模拟实现(参考sgi版本)9.动态二维数组理解

2022-04-19 15:04:14 775

原创 c/c++内存管理

1. C/C++内存分布2. malloc真正申请的空间3. C++中动态内存管理4.new的实现原理5.delete的实现原理6.new操作符 & 操作符new & 定位new7.malloc/free和new/delete的区别

2022-04-08 22:10:11 2853

原创 string类&深浅拷贝

1 .string类2. string类对象的常见构造3. string类对象的容量操作4. string类对象的修改操作5.浅拷贝:6.深拷贝

2022-04-08 16:28:33 1105

原创 模板小总结

1.函数模板2.函数模板的实例化3.非类型模板参数4.函数模板的特化5.类模板特化6.C++编译器不能支持对模板的分离式编译

2022-03-30 20:46:43 274

原创 进程信号篇

1.信号的概念:信号是一个软中断2.信号的种类3.信号的产生:4.信号的处理方式5.信号的注册6.信号的注销:7.信号的自定义处理方式8.信号的捕捉流程9.信号的阻塞.10.扩展

2022-03-27 18:28:13 3145

原创 初始化列表/static成员/友元/内部类

1.深究构造函数2. static成员3. 友元4.内部类5,再次来理解类和对象

2022-03-24 13:10:45 173

原创 析构/拷贝构造/运算符重载/const修饰的成员函数

析构/拷贝构造/运算符重载/const修饰的成员函数

2022-03-24 12:56:29 977

原创 消息队列 msg

1.消息队列的原理2.消息队列的接口:2.1创建消息队列2.2发送消息2.3接收消息2.4操作消息队列的接口3 消息队列的生命周期也是跟随操作系统

2022-03-21 22:49:44 895

原创 共享内存shm

1 共享内存的原理 共享内存的接口2 共享内存的特性2.1生命周期跟随操作系统2.2共享内存采用的是覆盖写的方式,读的时候, 是访问地址2.3共享内存的删除特性

2022-03-20 21:03:35 1640

原创 系统接口当中,文件打开方式的宏,在内核当中的使用方式为位图&命名管道

1系统接口当中,文件打开方式的宏,在内核当中的使用方式为位图2命名管道2.1 mkfifo命令2.2mdfifo函数2.3特性2.4代码验证

2022-03-19 20:13:17 164

原创 父子进程的匿名管道

父子进程通过匿名管道进行进程间通信

2022-03-19 10:37:15 298

原创 匿名管道的特性

1​​​​​​ 匿名管道的特性1.1 半双工1.2 管道的生命周期跟随进程。1.3 管道的大小(64k)1.4 管道提供字节流服务1.5 pipe_size1.6 阻塞属性2.设置非阻塞属性

2022-03-19 10:24:40 456

原创 进程间通信&匿名管道

1.进程间通信目的1.1为什么需要进程通信呢?1.2常见的进程间通信方式:2.管道(匿名管道):2.1管道符号 |2.1管道的本质2.3 管道的接口2.3.1理解参数的含义2.3.2 从PCB角度理解匿名管道2.3.3用匿名管道进行读写2.3.4进程间通信

2022-03-18 09:29:26 189

原创 Linux ext2 文件系统

Linux ext2 文件系统

2022-03-16 22:14:37 650

原创 默认成员函数&构造函数

1.类的6个默认成员函数2. 构造函数2.1 概念2.2 特性

2022-03-16 14:21:35 1117

原创 c++ 类和对象

1.面向过程和面向对象2.类和对象3.类定义的格式4.类的访问限定符及封装4.1 访问限定符5.类的作用域6.类的实例化7.类对象模型8.this指针8.1问题引入8.2 this指针的特性

2022-03-15 21:52:43 737

原创 基础I/O 1

1、c语言文件接口1.1 fopen:1.2 fclose1.3 fwrite1.4 fread1.5 fseek2、系统调用的文件接口2.1 open2.1 write2.3 read2.4 lseek2.5close2.6在调用读接口时,参数count预留一个“\0”的位置。3.文件描述符3.1文件描述符:文件描述符就是一个小正整数(没有负数)3.2 内核理解文件描述3.3 文件流指针和文件描述符的区别3.2.1.从源码角度理解文

2022-03-14 21:19:42 390

原创 进程控制2 进程程序替换

1.为啥需要进程程序替换因为父进程创建出来的子进程和父进程拥有相同的代码段,所以,子进程的代码和父进程是一样的。当我们想要让子进程执行不同的程序时候,就需要让子进程调用进程程序替换的接口,从而让子进程执行不一样的代码。2.原理:替换进程的数据段和代码段,更新堆栈。3.exec函数簇

2022-03-10 23:13:08 220

原创 进程控制1

1、进程创建1.1 fork内部完成的事情创建子进程,子进程拷贝父讲程的PCB。1.分配新的内存块和内核数据结构( task_struct)给子进程2.将父进程部分数据结构内容拷贝至子进程,将不一样的内容重新修改,重新分配内存(子进程的PID不等于父进程) 3.添加子进程到系统进程列表当中(添加到双向链表当中 ) 4.fork返回,开始调度(操作系统开始调度)。1.2用户空间&内核空间内核空间:Linux操作系统和驱动程序运行在内核空间。换句话说,系统调用的函数都是在内核空间运行的.

2022-03-09 17:20:08 1213

原创 进程概念相关2

1、环境变量2、进程虚拟地址空间

2022-03-07 13:12:07 530

原创 进程概念相关

1、冯诺依曼体系结构2、操作系统概念3、进程概念 PCB 创建子进程 僵尸进程 孤儿进程

2022-03-05 23:16:01 281

原创 二叉树的链式结构

二叉树链式结构相关内容

2022-02-12 11:17:50 91

原创 二叉树基础及二叉树顺序结构

二叉树基础及二叉树顺序结构

2022-02-11 11:39:02 2918

空空如也

空空如也

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

TA关注的人

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