分类: 点透为止

5 篇文章

网络编程深层剖析
为什么需要 EPOLLONESHOT? epoll 有两种触发的方式:LT(水平触发)和ET(边缘触发)。对于前者,只要存在着事件就会不断的触发,直到处理完成;而后者只触发一次相同事件,或者说只在从非触发到触发两个状态转换的时候才触发。 想象这样一种情况,当前是多线程在处理,一个 socket 事件到来,数据开始解析。这时候这个 socket 又来…
分布式深层剖析
CAP原理 CAP原理指的是:在一个分布式系统(互相连接并共享数据的节点的集合)中,当涉及读写操作时,只能保证一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance)三者中的两个,另外一个必须被牺牲。也就是说,在分布式系统的设计中,没有一种设计可以同时满足这3个特性,要么CA,要么C…
C++深层剖析
面向对象 多态的底层实现 多态的实现分为静态多态和动态多态: 静态多态(编译时多态):通过函数重载(overload)、模板(templates)和运算符重载来实现,它的调用在编译时就已经确定。 动态多态(运行时多态):通过继承、函数重写(override)和虚函数,依赖虚函数表(vtable)和虚函数表指针(vptr)实现动态绑定。 那么虚函数的…
操作系统深层剖析
进程/线程/协程 进程: 进程是操作系统进行资源分配的基本单位,每个进程都有自己独立内存空间。 由于每个进程都有独⽴的内存空间,创建和销毁进程的开销较⼤。 进程间切换需要保存和恢复整个进程的状态(栈、寄存器虚拟内存、文件句柄、打开的文件资源信息等),因此上下⽂切换的开销较高。 由于进程间相互隔离,进程之间的通信需要使⽤⼀些特殊机制,如管道、消息队列…
计算机网络深层剖析
一次完整的 HTTPS 通信流程 HTTPS = HTTP + TLS/SSL,通信过程包括: 建立 TCP 连接(三次握手) TLS/SSL 握手 客户端和服务器协商 TLS 版本与加密算法(客户端发送第一个随机数) 服务器发送数字证书(包含公钥)(服务器发送第二个随机数) 客户端核实数字证书的真实性,若为真,则取出公钥,用公钥加密后传输数据(包…