自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式知识总结

类CGarbo被定义为Singleton的私有内嵌类,以防该类被在其他地方滥用。程序运行结束时,系统会调用Singleton的静态成员Garbo的析构函数,该析构函数会删除单例的唯一实例。使用这种方法释放单例对象有以下特征:在单例类内部定义专有的嵌套类;在单例类内定义私有的专门用于释放的静态成员;利用程序在结束时析构全局变量的特性,选择最终的释放时机;使用单例的代码不需要任何操作,不必关心对象的释放。

2024-04-15 14:43:17 947 1

原创 Linux知识

Sector :⽂件储存在硬盘上,硬盘的最⼩存储单位叫做 “扇区”(Sector)。每个扇区储存 512 字节(相当于 0.5KB)。block :操作系统读取硬盘的时候,不会⼀个个扇区地读取,这样效率太低,⽽是⼀次性连续读取多个扇区,即⼀次性读取⼀个 “块”(block)。这种由多个扇区组成的 “块”,是⽂件存取的最⼩单位。“块” 的⼤⼩,最常⻅的是 4KB,即连续⼋个 sector 组成⼀个 block。inode :⽂件数据都储存在 “块” 中,那么很显然,我们还必须找到⼀个地⽅储存⽂件的元信。

2024-04-12 21:46:38 1031

原创 testWebserver知识总结

传递给mainloop的Channel传递给给subloop的Channel。

2024-04-12 16:50:55 485

原创 testWebserver所有类分析

为什么要这么继承:因为EventLoop在别的类中会被shared_ptr管理,并且在loop()函数中被作为参数参与到wpChannel_的构造函数中去。

2024-04-12 16:50:47 417

原创 Linux命令

创建文件夹。

2024-04-12 16:49:07 162

原创 C++内存管理

内存对⻬是指数据在内存中的存储起始地址是某个值的倍数。在C语⾔中,结构体是⼀种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是⼀些复合数据类型(如数组、结构体、联合体等)的数据单元。在结构体中,编译器为结构体的每个成员按其⾃然边界(alignment)分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第⼀个成员的地址和整个结构体的地址相同。

2024-04-01 16:43:00 821

原创 MySQL

由于B+树的叶子节点形成有序链表,可以非常高效地执行范围查询操作,例如大于、小于、区间查询等。更低的树高度:B+树相对于B树来说,具有更低的树高度。这是因为B+树的关键字全部存储在叶子节点中,非叶子节点只包含关键字范围和指向子节点的指针。由于B+树的叶子节点形成有序链表,可以按顺序访问数据,例如排序、分页和顺序遍历等操作。内存占用:B+树的节点大小比B树相对较小,可以容纳更多的节点在内存中,从而提高了缓存的效率。B+树对于大规模数据集的索引具有较好的扩展性,能够高效地处理大量的数据和高并发访问。

2024-03-21 21:50:21 287 1

原创 数据结构知识总结

所有叶子结点都集中在二叉树的最下面一层上,而且结点总数为:2^n-1 (n为层数 / 高度)

2024-03-21 21:06:53 1035 1

原创 c++新特性

在 C++ 或者 C 语言中,一个表达式(可以是字面量、变量、对象、函数的返回值等)根据其使用场景不同,分为左值表达式和右值表达式。确切的说 C++ 中左值和右值的概念是从 C 语言继承过来的。左值的英文简写为“lvalue”,右值的英文简写为“rvalue”。很多人认为它们分别是"left value"、“right value” 的缩写,其实不然。

2024-03-19 22:23:27 474

原创 C++面向对象

访问修饰符C++提供了三个访问修饰符:public、private和protected。这些修饰符决定了类中的成员对外部代码的可见性和访问权限。public 修饰符⽤于指定类中的成员可以被类的外部代码访问。公有成员可以被类外部的任何代码(包括类的实例)访问。private 修饰符⽤于指定类中的成员只能被类的内部代码访问。私有成员对外部代码是不可⻅的,只有类内部的成员函数可以访问私有成员。protected 修饰符⽤于指定类中的成员可以被类的派⽣类访问。受保护成员对外部代码是不可⻅的。

2024-03-14 16:07:50 360

原创 C++基础

预处理阶段对源代码文件中包含关系(头文件),预编译语句(宏定义)进行分析和替换,生成预编译文件。编译阶段将经过预处理后的预编译文件转换成特定汇编代码(编译原理相关,词法分析,语法分析,语义分析等),生成汇编文件。链接阶段将多个目标文件及所需要的库打包连接成最终的可执行目标文件(或库文件以供其他程序使用预处理器的主要作用就是通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有: 文件包含,条件编译、布局控制和宏替换4种。简单来说:gcc 和g++都是 GNU组织的一个编译器,都可以编译C代

2024-03-12 19:09:27 829

原创 计算机网络知识总结

OSI(Open System Interconnection)模型,即开放式系统互联,是国际标准化组织(ISO)制定的⼀个⽤于计算 机或通信系统间互联的标准体系,旨在将计算机⽹络通信划分为七个不同的层级,每个层级都负责特定的功能。每 个层级都构建在其下⽅的层级之上,并为上⽅的层级提供服务。七层从下到上分别是物理层、数据链路层、⽹络层、传输层、会话层、表示层和应⽤层。可以简称为“物数⽹传会表应”。

2024-03-12 14:32:25 830

原创 操作系统总结

虚拟内存地址:程序所使⽤的内存地址物理内存地址:实际存在硬件⾥⾯的空间地址。

2024-03-11 21:36:00 909

原创 笔试面试知识总结

模拟记录字符串中M和T的数目x,若操作次数k + x的和大于字符串长度,就返回字符串长度;不然返回k + x。

2024-03-11 21:28:31 340

原创 C++ STL

是什么容器(Container)各种数据结构,如vector、list、deque、set、map等,⽤来存放数据,从实现⻆度来看,STL容器是⼀种class template。算法(Algorithm)各种常⽤的算法,如sort、find、copy、for_each。从实现的⻆度来看,STL算法是⼀种function template。迭代器(Iterator)

2024-03-09 19:55:39 849

原创 webserver项目知识总结

使用 C++ 11 编写去除 muduo 对 boost 的依赖C++11 特性std::function和std::bindboost库是muduo网络库依赖的第三方库。在c++11标准出来之后,新增了std::function和std::bind,功能与boost::function和boost::bind相同。因此就可以用标准库中的函数代替boost库中的函数,以此去除对boost库的依赖。智能指针线程Thread中std::shared_ptr<std::thread>

2024-03-08 22:27:09 978

原创 算法题总结

动态规划一个字符或一对字符是两种最小回文串形式,针对每个字符的这两种最小回文串,向外扩展,找到最长回文串主函数一个for循环,循环内两个pair expandFromCenter(string &s, int left, int right)函数,第二、三形参是起始左右限,返回参数是从该位置得到的最长回文串的左右限。

2024-03-07 08:22:29 392

原创 代码随想录刷题

58. 最后一个单词的长度 - 力扣(LeetCode)从最后往前读,读到了空格且标志是否有读取单词的变量为true时停止。

2024-02-19 21:19:55 1089

空空如也

空空如也

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

TA关注的人

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