netty
布道
专注但要有大局观(先大后小,思路为先,实验为辅)
展开
-
Netty 4.0中的那些变化
Netty 是最优秀的NET库,每个大版本的一些特性都会引入注目,本文带你了解重温Netty 4.0的值得注意的改变和新特性,帮助你将应用程序从老的Netty3迁移到最新的版本上。翻译自官方文档New and noteworthy in 4.0。目录1. 项目结构的改变2. 通用 API 的改变3. Buffer API 的改变3.1.ChannelBuffer→ByteB...翻译 2019-08-23 23:30:21 · 6311 阅读 · 0 评论 -
冷知识:netty的Recycler对象池
在netty中Recycler用来实现对象池,以达到对象的循环利用,它是netty实现的一个轻量级对象回收站,具体的实现有:堆内存对应PooledHeapByteBuf,而直接内存对应的是PooledDirectByteBuf。本文基于源码针对netty-4.1.27。对象池产生的背景创建大量对象实例的消耗不小,在之前初探对象的内存布局就讲过,若能通过复用,能够避免频繁创建新对象和销毁对象...原创 2019-06-08 20:38:57 · 4192 阅读 · 1 评论 -
EpollEventLoopGroup 与 NioEventLoopGroup你知道吗
Java NIO根据操作系统不同,比如 macosx 是KQueueSelectorProvider、windows有WindowsSelectorProvider、Linux有EPollSelectorProvider (Linux kernels >= 2.6,是epoll模式)或PollSelectorProvider(selector模式),足以可见不同的系统对nio中的Selec...原创 2019-04-29 21:46:36 · 14785 阅读 · 3 评论 -
Netty的资源泄露探测器:ResourceLeakDetector
因为 Netty 大量使用 ByteBuf,如果 ByteBuf出现泄露,则服务很容易出现 OOM。Netty 中的ResourceLeakDetector就是为解决该问题而生,它记录 Netty 使用的各种 ByteBuf的使用,能对占用资源的对象进行监控。无论是 Pooled 还是 Unpooled,无论是 Direct 还是 Heap,所有的 ByteBuf都要被 ResourceLe...原创 2019-05-01 19:50:38 · 7140 阅读 · 0 评论 -
java BIO NIO AIO的理论
按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。NIO是java1.4新引入的Java I/O类库,其目的在与提高速度,尤其是在文件IO与网络IO当中。NIO与IO的不同之处就在于NIO是面向缓冲区的,IO是面向流的。同步& 异步 & 阻塞 & 非阻塞其...原创 2016-01-26 21:43:54 · 29706 阅读 · 0 评论 -
异步非阻塞高性能IO模型浅析
服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:同步阻塞IO(Blocking IO):即传统的IO模型 同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。在Java领域,也称为New I/O IO多路复用(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻...转载 2014-11-17 16:33:18 · 900 阅读 · 0 评论