自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 传输层 —— UDP协议

目录1、传输层再谈端口号端口号范围划分认识知名端口号netstat 与 pidof2、UDP协议UDP协议端格式UDP的特点面向数据报UDP的缓冲区UDP使用注意事项基于UDP的应用层协议

2023-04-05 12:11:22 1691 2

原创 应用层 —— HTTPS协议

目录1、HTTPS介绍HTTP 与 HTTPS"加密" 是什么常见的加密方式对称加密非对称加密数据摘要 && 数据指纹数字签名2、HTTPS的工作过程探究方案1 —— 只使用对称加密(明文传输不可取)方案2 —— 只使用非对称加密(仅单向安全,不可取)方案3 —— 双方都

2023-04-03 23:33:56 1789

原创 应用层 —— HTTP协议

目录1、HTTP协议HTTP简介认识URLurlencode和urldecode2、HTTP协议格式HTTP协议的请求格式HTTP响应协议格式telnet命令远程登陆服务3、HTTP的方法表单GET方法POST方法GET vs POST4、HTTP的状态码重定向状态码

2023-03-29 15:29:04 1384 1

原创 重谈“协议” + 序列化和反序列化

目录1、重谈 "协议"协议的概念结构化数据的传输序列化和反序列化2、网络版计算器2.1、服务端serverTcp.cc文件 服务端serverTcp.cc总代码2.2、客户端clientTcp.cc文件客户端clientTcp.cc总代码2.3、协议定制Protocol.hpp文件

2023-03-26 16:16:17 1205

原创 网络编程套接字( TCP协议通讯流程)

目录1、绑定失败问题2、TCP协议通讯流程三次握手的过程数据传输的过程四次挥手的过程TCP和UDP对比

2023-03-23 21:19:50 883

原创 < Linux > 守护进程

目录1、守护进程守护进程的概念进程组和会话2、守护进程化的方式TCP网络程序(守护进程化)TCP网络程序(守护进程化)gitee地址daemon创建守护进程nohup命令

2023-03-22 22:51:04 3253

原创 网络编程套接字( TCP )

目录1、实现一个TCP网络程序(单进程版)1.1、服务端serverTcp.cc文件服务端创建套接字服务端绑定服务端监听服务端获取连接服务端提供服务服务端main函数命令行参数服务端serverTcp.cc总代码

2023-03-22 14:38:20 3618

原创 网络编程套接字( UDP )

目录1、预备知识理解源IP地址和目的IP地址理解源MAC地址和目的MAC地址网络通信端口号端口号和进程ID源端口号和目的端口号认识TCP协议和UDP协议网络字节序2、socket编程接口socket常见APIsockaddr结构3、实现一个UDP网络程序3.1、服务端udpSer

2023-03-20 17:59:08 1505

原创 网络基础入门

目录1、重新看待计算机结构2、计算机网络背景网络发展认识"协议"3、网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型4、网络传输基本流程网络和操作系统之间的关系网络传输流程图同局域网的两台主机通信跨网络的两台主机通信数据包封装和分用5、网络中的地址管理认

2023-03-18 16:35:41 2028

原创 < Linux > 多线程(单例模式、线程安全问题、读者写者问题)

目录1、单例模式饿汉方式实现单例模式懒汉方式实现单例模式单例模式实现线程池(懒汉模式)2、STL、智能指针、线程安全STL中的容器不是线程安全的智能制造是否是线程安全的其它常见的各种锁3、读者写者问题读写锁的函数接口代码实现读者写者优先问题读者加锁和写者加锁的基本原理

2023-03-16 18:53:21 923 1

原创 < Linux > 多线程(线程池)

目录1、线程池的概念2、线程池的使用场景3、线程池的代码实现

2023-03-16 00:46:30 887

原创 < Linux > 多线程(信号量)

目录1、POSIX信号量信号量的原理信号量的概念信号量函数2、基于环形队列的生产消费模型生产者和消费者的申请和释放资源代码实现(单生产者单消费者)代码实现(多生产者多消费者)

2023-03-15 13:48:56 1071 2

原创 < Linux > 多线程(生产者消费者模型)

目录1、生产者消费者模型生产者消费者模型的例子生产者消费者模型的特点生产者消费者模型的优点2、基于BlockingQueue的生产者消费者模型概念模拟实现基于阻塞队列的生产消费模型基于计算任务的生产者消费者模型(并发)

2023-03-13 23:41:50 1661

原创 < Linux > 多线程(线程同步与互斥、可重入、线程安全、死锁)

目录1、Linux线程互斥进程线程间的互斥相关背景概念互斥量 mutex互斥量的接口互斥量实现原理探究互斥量接口的使用(多种方式初始化锁)2、可重入 VS 线程安全概念常见的线程不安全的情况常见的线程安全的情况常见的不可重入的情况常见的可重入的情况可重入与线程安全联系

2023-03-12 22:26:56 1242

原创 < Linux > 多线程(线程概念 + 线程控制)

目录1、Linux线程概念什么是线程简单使用线程二级页表线程的优点线程的缺点线程异常线程用途2、Linux进程 VS 线程进程和线程进程的多个线程共享进程和线程的关系3、Linux线程控制POSIX线程库线程创建pthread_create

2023-03-09 22:54:04 1746 1

原创 < Linux > 进程信号

目录1、信号入门生活角度的信号技术应用角度的信号前台进程 && 后台进程信号概念用kill -l命令察看系统定义的信号列表信号处理的方式2、信号产生前用户层产生信号的方式3、产生信号3.1、通过终端按键产生信号3.2、核心转储core dump3.3、调用系统函数想进程发送信号kill函数raise

2023-03-07 17:40:04 1218 2

原创 < Linux > 进程间通信

目录1、进程间通信介绍进程间通信的概念进程间通信的本质进程间通信的分类2、管道2.1、什么是管道2.2、匿名管道匿名管道的原理pipe函数匿名管道使用步骤2.3、管道的读写规则2.4、管道的特点2.5、命名管道命名管道的原理

2023-02-25 01:54:16 806 1

原创 模拟封装C库函数 + 添加重定向功能到myshell

目录模拟封装C库函数添加重定向功能到myshell

2023-02-08 22:53:13 488

原创 < Linux > 基础IO(动静态库)

目录1、介绍动静态库2、生成动静态库(设计)静态库的打包动态库的打包动静态库同时生成3、使用动静态库静态库的使用动态库的使用

2023-02-08 22:49:45 1204

原创 < Linux > 基础IO(文件系统 + 软硬链接)

目录1、文件系统什么是磁盘磁盘的物理结构磁盘的存储结构磁盘的逻辑抽象结构inode2、软硬链接软链接硬链接软硬连接的区别软硬链接的删除3、文件的三个时间

2023-02-05 11:26:51 1430

原创 < Linux > 基础IO(文件描述符)

目录1、准备工作(文件描述符)2、C语言文件IO什么是当前路径?C语言文件接口汇总默认打开的三个流3、系统文件IO3.1、openopen的第一个参数(pathname)open的第二个参数(flags)open的第三个参数(mode)3.2、close3.3、write

2023-01-29 23:21:14 956 1

原创 shell的模拟实现

目录整体框架分析代码演示代码分析

2023-01-04 16:11:28 1520

原创 < Linux > 进程控制

目录1、进程创建fork函数fork函数返回值写时拷贝fork常规用法fork调用失败的原因2、进程终止2.1、进程退出常见场景2.2、进程退出码2.3、进程常见退出方法 _exit函数 exit函数 return退出

2023-01-03 21:39:23 1116

原创 【 C++ 】空间配置器

目录1、什么是空间配置器2、为什么需要空间配置器3、SGI-SGL空间配置器实现原理3.1、一级空间配置器3.2、二级空间配置器内存池SGI-STL中二级空间配置器设计SGI-STL二级空间配置器之空间申请SGI-STL二级空间配置器之空间回收3.3、空间配置器的默认选择3.4、空间配置器的再次封

2022-11-27 16:25:02 487 1

原创 【 C++ 】IO流

目录1、C语言的输入输出2、流是什么3、C++IO流3.1、C++标准IO流3.2、C++文件IO流文件操作步骤以二进制的形式操作文件以文本的形式操作文件4、stringstream的介绍

2022-11-24 11:37:15 706 1

原创 【 C++ 】特殊类设计

目录1、请设计一个类,不能被拷贝2、请设计一个类,不能被继承3、请设计一个类,只能在堆上创建对象4、请设计一个类,只能在栈上创建对象5、请设计一个类,只能创建一个对象(单例模式)饿汉模式懒汉模式

2022-11-19 16:09:12 711

原创 C++的四种强制类型转换

目录1、C语言中的类型转换2、为什么C++需要四种类型转换3、C++强制类型转换static_castreinterpret_castconst_castdynamic_cast4、RTTI(了解)5、常见面试题

2022-11-12 17:45:39 10448 2

原创 【 C++ 】智能指针

目录1、内存泄漏什么是内存泄漏,内存泄漏的危害内存泄漏分类如何检测内存泄漏(了解)如何避免内存泄漏2、为什么需要智能指针智能指针的使用及原理RAII(智能指针指导思想)智能指针的浅拷贝问题3、C++库里的智能指针3.1、std::auto_ptr(不推荐)3.2、std::unique_ptr3.3

2022-11-11 23:49:17 1422

原创 【 C++ 】异常

目录1、C语言传统的处理错误的方式2、C++异常概念3、异常的使用异常的抛出和捕获异常的重新抛出异常安全异常规范4、C++标准库的异常体系5、自定义异常体系6、异常的优缺点

2022-11-02 23:41:23 568

原创 【 C++11 】包装器

目录1、function包装器function包装器的引入function包装器的概念使用function包装器优化逆波兰表达式求值使用function包装器解决模板效率地下,实例化多份的问题function包装器的意义2、bind包装器bind包装器的引入bind包装器的概念bind包装器绑定调整参数个数bind包装器绑

2022-10-26 23:22:11 827 2

原创 【 C++11 】lambda表达式

目录1、lambda表达式的引入2、lambda表达式lambda表达式的语法lambda表达式捕捉列表说明使用lambda表达式排序自定义类型lambda表达式的底层原理

2022-10-23 11:28:22 3132 3

原创 【 C++11 】可变参数模板

目录1、可变参数模板的概念2、参数包的展开方式递归函数方式展开参数包逗号表达式展开参数包3、STL容器中的empalce相关接口函数

2022-10-15 20:42:46 3617 2

原创 【 C++11 】类的新功能

目录1、准备条件2、默认成员函数3、类成员变量初始化4、强制生成默认函数的关键字default5、禁止生成默认函数的关键字delete6、继承和多态中的final与override关键字

2022-10-15 10:54:12 777

原创 【 C++11 】右值引用和移动语义

目录1、基本概念左值 vs 左值引用右值 vs 右值引用左值引用 vs 右值引用2、右值引用使用场景和意义左值引用的使用场景左值引用的短板右值引用和移动语义①、移动构造②、移动赋值③、编译器做的优化④、总结右值引用引用左值右值引用的

2022-10-09 23:44:26 1386

原创 【 C++11 】列表初始化、声明、范围for、STL中一些变化

目录1、C++11简介2、统一的列表初始化{ }初始化initializer_list容器3、声明autodecltypenullptr4、范围for5、STL中一些变化

2022-10-08 15:04:09 899 2

原创 海量数据面试题

目录1、哈希切割2、位图应用给定100亿个整数,设计算法找到只出现一次的整数求两个文件交集在100亿个整数中找到出现次数不超过2次的所有整数3、布隆过滤器求两文件交集(近似算法)求两文件交集(精确算法)计数法使布隆过滤器支持删除

2022-10-06 23:55:53 665 1

原创 【 C++ 】哈希的应用(2)布隆过滤器

目录1、布隆过滤器的概念与性质布隆过滤器的引出布隆过滤器的概念布隆过滤器的误判布隆过滤器的应用场景布隆过滤器优缺点如何选择哈希函数个数和布隆过滤器长度2、布隆过滤器的实现框架布隆过滤器的Set插入布隆过滤器的Test查找布隆过滤器的删除3、布隆过滤器的实现源码链接

2022-10-06 00:25:48 810

原创 【 C++ 】bitset位图的模拟实现

目录1、框架2、成员函数构造函数setresettestflipcountsizenone any all3、bitset源码链接

2022-10-03 21:44:02 891 1

原创 【 C++ 】哈希的应用(1)bitset位图

目录1、bitset的介绍位图的引入位图的概念位图的应用2、bitset的使用bitset的构造方式bitset成员函数的使用bitset运算符的使用

2022-10-03 21:39:42 689

原创 【 C++ 】用一个哈希表封装unordered_map和unordered_set

目录1、哈希表源代码2、哈希函数模板参数的控制3、对上层容器构建仿函数便于后续映射4、部分类型无法取模问题5、哈希表底层迭代器的实现框架++运算符重载!= 和 == 运算符重载* 和 -> 运算符重载6、哈希表的迭代器相关函数(begin和end)7、哈希表的优化(素数表)8、unordered_map的插入和[ ]运算符重载9、封装后源代码哈希表源代码链接

2022-10-01 17:45:08 1083

空空如也

空空如也

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

TA关注的人

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