基于netty源码启发的学习性质的java非阻塞网络库
- 基于Eventloop模型做到了读写串行化,尽可能减少了锁的开销,实现了消息驱动的socket读写和基于最小堆的定时器
- 实现了三级内存池,降低每次都需要获取堆外内存的开销,Eventloop线程优先从本线程私有的分配器分配池化内存,若不足再去全局公有的分配器分配内存,再不足则分配非池化内存,同样允许设置最大和最小内存池上限保证大小可控
- 仿照netty的pipeline实现了无锁化的线程安全可插拔handler
- 只依赖与jdk系统库标准API,不依赖于反射,无额外第三方依赖,对jdk升级和native-image友好