【Netty】
依本多情
欲戴王冠必承其重
展开
-
为什么Netty中对FastThreadLocal比ThreadLocal的性能更好,解密FastThreadLocal原理?
(1)首先看一下ThreadLocal的实现原理?在当一个ThreadLocalMap进行get()的时候,其实是先去从当前线程获取到ThreadLocalMap对象,然后再去【this中对应的ThreadLocal的HashCode】根据获取这个线程中的对象值。如果出现hash冲突的话,就会使用hash线性探测算法,知道找到没有冲突的槽位 public T get() { Thread t = Thread.currentThread(); ThreadL原创 2020-08-31 12:25:17 · 805 阅读 · 0 评论 -
(一)Netty是什么和Netty的基本原理架构
Netty是基于CS架构的一种模式,分为Client端和Server端(1)先从Server端开始,先看一下Netty服务端的运行原理图:首先你得知道下面的几个主要的角色:serverBootstrapNioEventLoopGroup (这个是专门负责接收client端的请求的)NioEventLoopGroup (这个是专门负责干活的)NioServerSocketChanne...原创 2019-05-09 11:58:37 · 1413 阅读 · 0 评论 -
(二)Netty中的Channel和ChannelPipeline的运行流程和底层原理
(1)Netty中的ChannelPipeline和Channel分别在Netty中起到什么作用首先你需要知道在BIO中是面向字节流或者字符流进行传输的,而且BIO中的数据传输还是单向的而在NIO中传输数据的时候是面向块的效率比较高,而且还是双向的传输,并且是面向channel通道进行的最后在Netty中的是面向管道的,其实就是包装之后的NIO,一个 Channel 包含了一个 Channe...原创 2019-05-13 16:17:27 · 1957 阅读 · 0 评论