- 博客(6)
- 资源 (10)
- 收藏
- 关注
原创 netty4源码阅读与分析---netty的内存管理
我们首先来看下UnpooledHeapByteBuf,它是基于堆内存的字节缓冲区,没有基于对象池实现,每次读写时都会创建一个UnpooledHeapByteBuf对象,可能会有一定的性能影响,但是内存管理上却相对容易得多。它的类关系图如下:...
2018-06-27 22:14:02 3604
原创 netty4源码阅读与分析---ByteBuf
在worker线程处理read事件时,会将读取到的内容写入到ByteBuf中,供后续的操作,这里我们来研究下其内部结构,
2018-06-27 22:12:06 497
原创 netty4源码阅读与分析---netty线程模型
本文主要说下我自己对netty线程模型的理解,以及这样的线程模型的好处。通俗的来讲,netty的线程模型描述的就是老板和员工的故事。老板(通常情况下是一个老板)负责接活,与客户沟通,协调(netty的accept),谈成后(通道建立),他需要从员工中选出一位员工来负责处理后续具体的事宜(worker线程,这里我们有16位员工,编号1-16),员工做事时按照任务的先后顺序进行处理,这样可以避免错乱,...
2018-06-27 22:11:01 506
原创 netty4源码阅读与分析----服务端如何处理请求
接上一篇,当服务端接收到客户端的连接请求后(accept事件),服务端发现我们感兴趣的accept事件到了(这个过程就是NioEventLoop的run方法在不断的轮寻),交由processSelectedKeys方法处理,它会调用到这里:if ((readyOps & (SelectionKey.OP_READ | SelectionKey.OP_ACCEPT)) != 0 || rea...
2018-06-27 22:10:30 387
原创 netty4源码阅读与分析----服务端启动过程
首先我们编写个测试例子,然后根据例子一步步debug过程中阅读源码。EventLoopGroup bossGroup=new NioEventLoopGroup(1); EventLoopGroup workerGroup=new NioEventLoopGroup(); try { ServerBootstrap b=new ServerB...
2018-06-27 22:09:56 516
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人