![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 78
Ambitions‖
这个作者很懒,什么都没留下…
展开
-
【超详细】事务的ACID以及MySQL的隔离级别
什么是事务首先要明白什么是事务?事务是程序中一系列严密的操作,所有的操作必须完成,否则在所有的操作中所做的所有的更改都会被撤销。也就是事务的原子性,一个事务中的一系列的操作要么全部成功,要么就是失败。事务的结束有两种,当事务中所有的步骤全部成功执行的时候,事务提交。如果其中一个步骤失败,将会发生回滚操作,撤销到事务开始之前的所有的操作。事务的ACID事务具有四个特征原子性 :事务是数据库的逻辑工作单位,事务中包含多个操作,要么都做完,要么都不做。隔离性:事务彼此之间是不能互相干扰的,即一个事转载 2021-06-06 18:10:15 · 100 阅读 · 0 评论 -
面试问烂了的三握四挥
目录三次握手握手为什么需要三次,两次四次不行吗四次挥手挥手为什么需要四次,三次不行吗三次握手三次握手其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。过程:刚开始客户端处于 CLOSED 的状态,服务端处于 LISTEN 状态,进行三次握手:第一次握手:客户端给服原创 2021-05-31 23:24:57 · 168 阅读 · 0 评论 -
守护进程、僵尸进程和孤儿进程
守护进程指在后台运行的,没有控制终端与之相连的进程。它独立于控制终端,周期性地执行某种任务。Linux的大多数服务器就是用守护进程的方式实现的,如web服务器进程http等。创建守护进程要点:让程序在后台执行。方法是调用fork()产生一个子进程,然后使父进程退出。调用setsid()创建一个新对话期。控制终端、登录会话和进程组通常是从父进程继承下来的,守护进程要摆脱它们,不受它们的影响,方法是调用setsid()使进程成为一个会话组长。setsid()调用成功后,进程成为新的会话组长和进程组长,原创 2021-05-17 11:22:40 · 182 阅读 · 0 评论 -
一个程序从开始运行到结束的完整过程
目录预编译编译汇编链接我们平时不管是在 Windows 下的编译器直接点击执行一个代码,还是在 Linux 下通过 gcc/g++ 生成可执行文件并执行,都会直接出来代码的运行结果。但实际上它还细分为以下四个过程:预编译、编译、汇编、链接。预编译主要处理源代码文件中的以“#”开头的预编译指令。处理规则见下1、删除所有的#define,展开所有的宏定义。2、处理所有的条件预编译指令,如“#if”、“#endif”、“#ifdef”、“#elif”和“#else”。3、处理“#include”预编原创 2021-05-17 11:10:53 · 3188 阅读 · 0 评论 -
Linux进程间通信的几种方式
Linux几乎支持全部UNIX进程间通信方法,包括管道(有名管道和无名管道)、共享内存、消息队列、信号、信号量和套接字。其中套接字是用于不同主机在网络中的通信。管道:无名管道(内存文件):管道是一种半双工的通信方式,数据只能单向流动,也就是在同一时刻只能由管道的一端向另一端发送数据,另一端进行接收。而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常指父子进程或兄弟进程。有名管道(FIFO文件,借助文件系统):有名管道也是半双工的通信方式,但是允许在没有亲缘关系的进程之间使用;管道是先进先出的通原创 2021-04-28 19:13:01 · 274 阅读 · 0 评论 -
C++中const和static的作用
const不考虑类的情况const 常量在定义时必须初始化,之后无法更改。const 形参可以接收 const 和非 const 类型的实参,例如:// i 可以是 int 型或者 const int 型void fun(const int i){ //函数实体 ...} 考虑类的情况const 成员变量:不能在类定义外部初始化,只能通过构造函数初始化列表进行初始化,并且必须有构造函数;不同类对其 const 数据成员的值可以不同,所以不能在类中声明时初始化。const 成员函数原创 2021-04-12 18:38:59 · 358 阅读 · 0 评论 -
深入浅出TCP协议
TCP协议是网络传输层中最重要的通信协议之一,它是面向字节流、面向连接的、具有可靠性传输的网络传输协议。TCP头部格式源端口和目的端口:接收方在进行数据分用的时候,传输层的tcp协议通过端口,可以将数据提交给指定侦听的应用程序;传输层再通过目的端口来区分数据属于哪一个进程。序号:标识TCP源端向TCP目的端发送的数据字节流。确认号:标识TCP目的端期望TCP源端的下一个请求序号。...原创 2021-04-07 23:31:39 · 352 阅读 · 1 评论 -
C语言八大排序算法【详细 代码+图文】
C语言八大排序算法辅助方法代码void ShowArr(int* arr, int len) //显示数组{ for (int i = 0; i < len; ++i) { printf("%d ", arr[i]); } printf("\n");}bool IsSort(int* arr, int len) //判断数据是否有序,从小到大{ for (int i = 0; i < len - 1; ++i) { if (arr[i] > arr[原创 2020-11-22 20:05:59 · 8981 阅读 · 0 评论