基础知识小结

转几个写得深入浅出的基础知识文章(有空再更新):

容器基础

左耳朵耗子的“马桶文章”系列:

网络

用NIO/Netty必然要了解网络编程的IO多路复用, 对select/poll/epoll介绍太多了,这里转个:epoll源码分析
很简洁的小结:

1.执行epoll_create时,创建了红黑树和就绪list链表。
2.执行epoll_ctl时,如果增加fd(socket),则检查在红黑树中是否存在,存在立即返回,不存在则添加到红黑树上,然后向内核注册回调函数,用于当中断事件来临时向准备就绪list链表中插入数据。
3.执行epoll_wait时立刻返回准备就绪链表里的数据即可。

分布式

paxos 论文, 知行学社的视频值得推荐