![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 97
各种技术类书的笔记
是落落呀
2022届毕业(简历被怀疑不是本人了,加个姓吧,孙)
展开
-
高性能mysql 随笔
mysql的三层架构: 第一层是管理客户端连接的。 对于每个客户端连接,都会从管理的线程池中取出一个为其服务 第二层是语句查询、语句解析、语句优化,一些select的缓存、还有内置函数、存储过程视图之类的管理。 查询语句的优化则是再内部的解析器对语句重构以提升执行效率。 第三层是存储引擎,主要负责数据的存取,建表时可以选择不同的引擎,不同的引擎各有优劣。 比如MyISAM不支持事务却使用表锁,innoDB使用行锁却支持事务。并发控制 关于锁的上锁方式,分为两种....原创 2022-07-09 08:24:33 · 307 阅读 · 1 评论 -
《UNP卷二》随笔
UNP卷二随笔一二三四 管道和FIFO一 进程间通信的方式有三种: ①文件系统。通过read、write等函数,穿过内核,于文件系统上实现进程之间的共享,当然这需要某种同步操作。这种类型的持久性基于文件何时被删除。 ②内核。在内核上建立的某个<进程间通讯的对象>,不同进程间通过调用一组相关函数,通过这个对象在进程间传递信息。其持久性不会随着进程结束被删除,只有显示调用某个删除操作,或者内核重启,这种对象才会消失。例如posix消息队列(今天刚看到这)。 ③进程。这类原创 2021-11-12 09:49:35 · 192 阅读 · 1 评论 -
《STL源码剖析》随笔
STL源码剖析随笔第二章 空间配置器第三章 迭代器与traits第二章 空间配置器 内存分配过程 STL的内存分配分为两级。 第一级是在所需分配内存大于128字节时。 此时只使用malloc分配内存,当malloc无法取得有效内存时,则会调用名为’内存不足处理例程’,调用该函数后依旧无法成功取得内存,就抛出异常。 第二级是在所需分配内存小于128字节时。 第二级则是为了解决内存碎片问题。其维护16个自由链表,分别是 8~128字节中8的倍数,这些内存被初原创 2021-02-10 20:13:28 · 140 阅读 · 0 评论 -
《winodws核心编程》随笔
winodws核心编程随笔第一章 错误处理第二章 字符及字符处理第一章 错误处理 1.WINDOWS版本的errno 当函数出错,不同的返回值类型有不同的描述,分别是: ①VOID 该类型的API不会失败 ②BOOL 失败返回0,否则返回一个非0值 ③HANDLE HANDLE标识一个可以操纵的对象,失败一般返回NULL,有些函数返回INVALID_HANDLE_VALUE(-1)。 ④PVOID 该类型标识一块内存地原创 2021-02-04 17:07:16 · 359 阅读 · 0 评论 -
《TCP/IP详解卷一》随笔
TCP/IP详解卷一随笔概述以太网协议ARP & RARPICMP概述链路层。主要包括操作系统的设备驱动程序和计算机的网卡接口。网络层。处理网络中的分组传输。传输层。提供端到端的服务,本书主要涉及TCP和UDP。应用层。负责处理应用程序细节,程序处理数据后交给套接字。TCP/IP协议族是一组不同的协议组合的。TCP和IP只是其中两个协议。在链路层,主要有以太网协议、ARP、RARP三个协议。在网络层,主要有IP、ICMP、IGMP三个协议。在传输层,主要有TCP、UDP两个协议。原创 2020-10-28 20:39:06 · 376 阅读 · 0 评论 -
《深度探索C++对象模型》随笔
深度探索C++对象模型随笔第一章 关于对象第二章第三章第四章第五章第六章第七章第一章 关于对象 1. C++中,有两种数据成员: ①静态数据成员②非静态数据成员 三种成员函数: ①静态成员函数②非静态成员函数③虚函数 2. 静态数据成员放在类之外,非静态数据成员被配置与每一个类对象之类 静态和非静态成员函数也放在类之外,虚函数则是特殊情况: ①每个类产生一堆指向其虚函数的指针,集合在一个表格中,该表成为虚函数表(vtbl) ②每个类对象被安插一个指针,原创 2020-10-22 23:45:13 · 197 阅读 · 0 评论 -
《Effective C++ 55&35》随笔
Effective C++ 55&35 随笔Effective C++ 55More Effective C++ 35大概很有以前看过这两本书,不过那时候知道的也不太多,笔记在OneNote上也是乱七八糟的,后来因为某些原因在OneNote上的笔记怎么也找不到了,重新看一遍好好整理整理。其中一些不怎么重要部分就被跳过了。Effective C++ 55 02条: 尽量以const enum inline 替换#define ①对于单纯常量最好以const对象或者enum代替def原创 2020-10-15 23:37:35 · 253 阅读 · 0 评论 -
muduo一书随笔
muduo一书随笔第一章 线程安全的对象声明周期管理第一章 线程安全的对象声明周期管理 1.不要在对象构造函数 或 析构函数中出现this指针、注册回调、把this指针传递给跨线程对象。因为只要还在构造函数,对象就不是一个被构造好的对象,只要进入析构函数,对象就不是一个完整的对象。在多线程中使用未构造好的对象和已经销毁的对象是不安全的。 2.二段式构造。书中提出多线程情况下用构造函数+init()函数来构造对象,把注册回调这类危险的操作放在init()中,通过init()的返回值来判断对象是否构造原创 2020-10-15 17:38:14 · 151 阅读 · 0 评论 -
《C++并发编程实战》随笔
写在开头:本书中的许多代码过于复杂,使用了C++中较新的特性等。第一章原创 2020-08-11 15:58:42 · 252 阅读 · 0 评论 -
《UNP》随笔
UNP随笔第一章第二章这篇文章只是记载了我对于其中不太了解的知识。第一章 errno值:只要某个unix函数(某个系统调用或限定为某个套接字函数)有错误发生,全局变量errno会被置为一个指明错误类型的值。第二章TIME_WAIT状态 其存在的意义是为了解决两个问题: 1.A端发送了FIN后,收到B端的ACK和FIN,最后A端还会向B端发送一个ACK,当最后这个ACK丢失,B端会重发表示自己停止发送的FIN,以期望收到A端确认。 书中提到这个状态最多会维持2MSL,猜测也许如果2MSL原创 2020-07-13 22:06:17 · 583 阅读 · 0 评论 -
《APUE》随笔
APUE随笔原创 2020-07-14 22:09:18 · 1088 阅读 · 0 评论