自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【呕心沥血5万两千字】一篇文章带你实现高性能Web服务器

本博客是介绍从零开始自主实现一个HTTP服务器,项目中将会通过基本的网络套接字读取客户端发来的HTTP请求并进行分析,最终构建HTTP响应并返回给客户端。HTTP在网络应用层中的地位是不可撼动的,无论是移动端还是PC端浏览器,HTTP无疑是打开互联网应用窗口的重要协议。本项目采用CS模型自主实现了基于短链接方式的HTTP服务器,目前支持GET,POST方法,主要目的在于理解HTTP协议的处理资源的过程。

2023-09-02 21:18:18 1150

原创 【实战项目】高并发内存分配器

本博客主要介绍了从零实现一个高并发内存池的过程。主要包括项目背景、所用的重难点技术、项目整体框架搭建、项目实现细节、项目过程中遇到的问题以及是如何解决的。完成该项目,至少需要掌握的预备知识有:C++数据结构(链表、哈希桶)、操作系统内存管理、单例模式、多线程、互斥锁等。项目概述:本项目参考了谷歌 tcmalloc 设计,提取核心设计实现了高并发的内存池。目前是基于Windows环境下进行实习,后期也能跨平台实现。

2023-08-11 16:09:37 1060 1

转载 排序算法稳定性和不稳定性的理解

说到稳定性,与之对应就是不稳定性,那么排序算法的稳定性又为何意呢?通俗地讲就是,能保证排序前两个相等的数其在序列的前后位置顺序与排序后它们的前后位置顺序一致。形式化解释如下:一列数中,如果Ai = Aj,Ai位于Aj的前置位,那么经过升降序排序后Ai仍然位于Aj的前置位。那么排序稳定性又有什么优势和劣势呢?首先优势应该是比较明显的,比如:1. 能够节约时间,稳定性算法会减少一次交换时间(但多了不交换这个限制后,稳定排序的冒泡/插入/选择都是O(n^2);而不稳定排序快排/堆排却是O(nlogn));

2023-07-30 21:20:11 387 1

原创 用非递归实现二叉树的前序中序后序遍历

二叉树的遍历是指按某条搜索路径访问树中的每个结点,使得每个结点均被访问一次,而且仅能访问一次(说明不可二次访问,一遍而过)。遍历一颗二叉树便要决定对根结点N、左子树L和右子树的访问顺序。二叉树常的的遍历方法有前序遍历(NLR)、中序遍历(LNR)和后序遍历(LRN)三种遍历算法,其中 “序” 指的是根结点在何时被访问。三种遍历方法有递归和非递归两个版本。在本文中主要用非递归的方式去实现二叉树的非递归遍历。用非递归的方法去进行前序,中序,后序的遍历是对二叉树遍历的过程更深入的了解。最后除了。

2023-06-27 10:46:10 1432

原创 C++----STL简介

是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。那要如何学习STL呢?可以学习STL书籍英文版《可以把 C++ 标准程序库的学习比喻为三个境界(或层次):熟练使用STL第二境界:了解泛型技术的内涵与 STL 的学理乃至实作扩充STL。

2023-06-25 10:34:41 609 2

原创 C/C++内存管理

首先看下图,我们可以看到不同类型的变量在内存中的储存位置栈又叫堆栈–非静态局部变量/函数参数/返回值等等,栈是向下增长的。内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。堆用于程序运行时动态内存分配,堆是可以上增长的。数据段–存储全局数据和静态数据。代码段–可执行的代码/只读常量。new的原理(1)调用函数申请空间(2)在申请的空间上执行构造函数,完成对象的构造delete的原理。

2023-06-15 22:38:45 390 1

原创 C++之旅----类和对象(下)

再次理解类和对象现实生活中的实体计算机并不认识,计算机只认识二进制格式的数据。如果想要让计算机认识现 实生活中的实体,用户必须通过某种面向对象的语言,对实体进行描述,然后通过编写程序,创建对象后计算机才可以认识。比如想要让计算机认识洗衣机,就需要:1.用户先要对现实中洗衣机实体进行抽象---即在人为思想层面对洗衣机进行认识,洗衣机有什 么属性,有那些功能,即对洗衣机进行抽象认知的一个过程2.经过1。

2023-06-08 22:43:12 148

原创 C++之旅----类和对象(上)

对象是一个实体,我们眼睛看到的所有实体都可以看成一个实体对象类是用来对实体(对象)进行描述的。(对象有什么属性,有什么功能)类是一种自定义类型方法是实现类功能的一个具体实现,该类有什么样的功能?类的所有功能都要通过调用方法来实现。2.类与结构体的关系C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如: 之前在数据结构初阶中,用C语言方式实现的栈,结构体中只能定义变量;现在以C++方式实现,会发现struct中也可以定义函数。

2023-05-30 22:25:34 372 1

空空如也

空空如也

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

TA关注的人

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