操作系统
写时复制 Copy-On-Write
- 多个进程或线程可以共享相同的数据副本,直到某个进程或线程尝试修改数据时,才真正执行拷贝(而不是在一开始就创建多个副本)。
- 这样可以减少不必要的复制提高内存利用率和性能。
适用场景
- 操作系统进程管理(fork):提高进程创建效率,减少内存消耗。
- 高并发读、多线程安全集合(CopyOnWriteArrayList):适用于读多写少的场景。
- 数据库 MVCC:提高数据库事务的并发性能。
网路
TCP三次握手
- 第一次握手:客户端发送SYN请求,给服务端发送了一个序号
- 第二次握手:服务端发送SYN和ACK请求,给客户端发送自己的序号和确认客户端的序号
- 第三次握手:客户端发送ACK请求,确认服务端的序号
三次握手确认双方发送和接受功能正常
TCP四次挥手
- 第一次挥手:客户端发送FIN请求,告诉服务端要关闭连接
- 第二次挥手:服务端收到客户端请求后,进入等待关闭状态
- 第三次挥手:服务端发送FIN请求,告诉客户端没有请求要处理了,可以关闭连接
- 第四次挥手:客户端确认服务端关闭,自己也关闭连接
关闭期间服务端可能还有数据未发送完毕,不能合并ACK+FIN