- 博客(125)
- 收藏
- 关注
原创 【网络】网络层协议-IP协议
网络层&IP协议基本概念、IP协议格式详解、网段划分相关概念、IP地址数量限制、私有IP和公网IP以及路由相关知识。
2024-08-24 09:00:00 3543 67
原创 【网络】【Linux】Linux内核中连接的组织形式与全连接队列
分析linux内核源码,理解套接字系统级原理,套接字在linux内核中的组织形式,与文件的关系,以及Tcp全连接队列等
2024-08-16 09:58:09 2762 59
原创 【网络】传输层协议-Tcp协议
传输层Tcp协议,两万字图文详细讲解Tcp报文格式、确认应答机制、超时重传机制、连接管理机制:三次握手,四次挥手、滑动窗口、流量控制、拥塞控制、延迟应答、捎带应答、面向字节流、粘包问题、Tcp异常情况处理等内容。
2024-08-14 09:38:55 1278 49
原创 【网络】应用层协议-http协议
在编写网络通信代码时,我们可以自己进行协议的定制,但实际有很多优秀的工程师早就已经写出了许多非常成熟的应用层协议,其中最典型的就是HTTP协议。本文内容:HTTP协议详解、cookie和session、HTTPS协议讲解(数据加密、数字指纹、CA认证)。
2024-08-12 09:54:57 2827 46
原创 【网络】协议与网络版计算器
为了使数据在网络上能够从源到达目的,网络通信的参与方必须遵循相同的规则,我们将这套规则称为协议(protocol),而协议最终都需要通过计算机语言的方式表示出来。只有通信计算机双方都遵守相同的协议,计算机之间才能互相通信交流。
2024-08-08 09:38:25 2365 51
原创 【C++】线程库
语言可以使技术具有跨平台性,在C++11提供线程库之前,由于线程在不同操作系统下实现的方式各不相同,比如Windows和Linux下各有自己的接口,这使得代码的可移植性比较差,为了解决这一问题,C++11引入了线程库,使用该线程库并不需要依赖第三方库(-lpthread)。
2024-08-04 10:35:57 967 36
原创 【C++】智能指针
在『 异常』部分我们提到了内存泄漏的问题,当时我们解决的方案是『 异常的重新抛出』,但很明显这种方案虽然有效,但是这无疑让我们的代码看起来并不整齐且复杂,那么C++为了预防内存泄漏,给我们提供了一种解决方案:智能指针。
2024-07-28 10:08:01 1375 50
原创 【网络】网络基础(一)
在计算机发展初期,计算机之间相互独立,每个终端各自持有数据,这明显对于数据的共享很不友好,为了高效的数据传输和共享,世界各地的科学家、实验室就开始想办法提出自己的解决方案用来解决多设备数据共享的问题,所以在这一阶段形成了网络互联的概念。
2024-07-03 10:54:33 5420 58
原创 【Linux】生产者消费者模型
本篇文章内容:生产者消费者模型概述、基于阻塞队列BlockQueue的生产者消费者模型、POSIX信号量、基于环形队列的生产者消费者模型。
2024-05-25 15:30:00 1525 68
原创 【Linux】信号
信号在我们的生活中无处不在,比如红绿灯给你递达了一个红灯停绿灯行的信号,收到快递取件码给你抵达了一个快递到了的信号等等,那么在计算机中也有信号的概念,对只不过接收信号的个体从人变成了进程,本篇文章我们会以信号的产生、信号的保存以及信号的处理来介绍信号的概念。
2024-05-13 09:45:00 1596 60
原创 【算法】基础算法004之前缀和
本篇文章为大家带来前缀和算法,前缀和算法可以以O(1)的时间复杂度快速求出某一段连续区间的和,这个连续区域既可以是一维的也可以是二维的。
2024-05-08 09:36:04 1629 68
原创 【Linux】进程间通信
由于进程间具有独立性,他们之间是不能直接访问获取甚至修改对方的数据的,但是在实际需求中,我们需要进程之间进行交互,所以必须开发某种方式使进程间可以建立联系。在最开始,进程间通信最原始的方式就是利用管道,当然随之也有诸多不同的进程间通信的标准,接下来就让我们一起来学习下吧!
2024-05-05 14:00:00 2336 61
原创 【C++】异常
C语言是如何处理错误的?C语言处理错误的机制实际上比较低级,比如直接终止程序assert或者返回错误码自行查表找错等,那C++作为一个面向对象的语言,对比C语言来说处理错误的方式有何优点呢?今天让我们一起来学习一下『 异常处理』吧。
2024-04-29 10:00:00 2431 67
原创 【算法】基础算法003之二分
本篇文章主要围绕二分算法展开,二分算法主要利用的是数据的二段性,当数据符合某种规律时,可以根据这种规律将数据分为两段,并且每次查找都可以将另一段舍去。注意:二分算法并不仅仅适用于有序时,而是数据满足某种规律即可。
2024-04-29 09:45:00 1794 3
原创 【C++】C++11 包装器
我们目前学习过的可调用对象有三种:函数指针、仿函数以及lambda表达式(实际上也是仿函数),但是这三种可调用对象却又有各自的缺点,比如函数指针类型写起来比较复杂,仿函数的类型不统一,而lambda表达式语法层上就没有类型,所以C++11引入了包装器,主要就是为了封装他们,统一类型。
2024-04-22 09:56:18 1779 66
原创 【C++】C++11右值引用
今天我们正式进入C++11的学习,C++11引入的一个非常重要的语法就是右值引用,在C++11之前的C++版本我们所提的引用都是左值引用,那么右值引用与左值引用又有什么区别呢?什么是左值?什么是右值?右值引用的价值体现在哪里?那么接下来我们就来学习有关右值引用的相关知识。
2024-04-19 14:15:00 1835 61
原创 【C++】C++11 lambda表达式
lambda表达式的引入是为了简化代码,提高代码的可读性,在某种角度上来看,lambda表达式实际上是一个匿名函数。
2024-04-15 09:45:00 1421 58
原创 【C++】C++11可变参数模板
其实我们之前经常使用可变参数模板,C语言的printf函数大家一定非常熟悉,其实这就是一种可变参数模板:那么在C++11引入可变参数模板的设计可以带来什么变化呢?让我们一起来学习下吧!
2024-04-09 09:45:00 2688 73
原创 【C++】C++11类的新功能
在C++11中,类增加了2个新的默认成员函数,没错就是我们上一篇刚刚学习的移动构造与移动赋值,并且新增了一些功能,比如default、delete、final和override等关键字,让我们一起来探讨一下吧!
2024-04-04 08:00:00 3142 67
原创 【Linux】动态库与静态库
本篇文章博主会与大家共同学习动静态库的相关内容,涉及到动静态库的基本知识与特征,动静态库的打包与使用等内容。
2024-04-01 12:15:21 2270 57
原创 【C++】哈希应用之布隆过滤器
布隆过滤器是哈希的又一重要应用,上篇文章我们谈到位图只能处理整型数据的问题,那么对于布隆过滤器来说它结合了哈希与位图,使数据处理扩展到了字符串甚至其他数据类型上。
2024-03-26 16:15:00 3331 76
原创 【C++】哈希应用之位图
哈希是一种解决问题的思想,那么有关哈希的一个重要应用便是位图,该种结构适用于海量数据,数据无重复的场景,通常用来判断某个数据存在或者不存在,但只能处理整型数据。
2024-03-26 09:45:00 1729 45
原创 【C++】如何用一个哈希表同时封装出unordered_set与unordered_map
上次我们模拟实现了闭散列的哈希表与开散列的哈希表,但很明显上次实现的很粗糙功能很简单,迭代器并没有实现,以及泛型编程思想也没有应用,那么对于本篇文章我们要用一个哈希表同时封装出unordered_set 与 unordered_map,对此我们之前已经成功用一颗红黑树同时封装出set与map,大致的思想是类似的,只不过这里会略微复杂一些。
2024-03-24 07:39:19 2092 66
原创 【数据结构】哈希表与哈希桶
本篇文章我们共同学习哈希结构,哈希结构追求更极致的搜索效率。之前学习的结构中搜索的效率取决于搜索过程中元素的比较次数,因此顺序结构中查找的时间复杂度为O(N),平衡树中查找的时间复杂度为树的高度O(logN)。那我们能不能构建一种数据结构,让搜索效率达到O(1)呢。如果构造一种存储结构,该结构能够通过某种函数使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时就能通过该函数很快找到该元素进而达到O(1)的查找效率。接下来就让我们共同学习哈希结构。
2024-03-20 10:00:00 2862 81
C++知识图谱(xmind原生文件+全1195主题+图文代码内嵌)
2024-09-22
netbeans表头字体如何更改
2023-12-30
模拟实现vector遇到的const迭代器问题
2023-12-18
你怎么看csdn博客新星入围博主基本都是搬运抄袭的问题
2023-07-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人