Netty
文章平均质量分 82
m0_38008272
这个作者很懒,什么都没留下…
展开
-
java bio nio aio及同步,异步,阻塞,非阻塞的理解
BIO: Blocking-I/O,JDK 1.4以前的阻塞io模型NIO: New-I/O, Non-Blocking I/O JDK1.4以后的非阻塞IO模型AIO:Asynchronous I/O.异步IO模型。同步与异步:关于同步与异步的概念与理解,网上有两种不同的说法。一:同步与异步的主要区别在于处理IO的对象的不同。同步:用户线程自己处理IO操作;异步:用户线程自己原创 2018-02-05 20:48:01 · 359 阅读 · 0 评论 -
NIO WindowsSelectorProvidorImpl
// 开启多路复用器Selector selector = Selector.open(); /** * Opens a selector. * * The new selector is created by invoking the {@link * java.nio.channels.spi.SelectorProvider#openSelecto原创 2018-02-05 23:05:04 · 454 阅读 · 0 评论 -
AIO简述
转载:https://www.ibm.com/developerworks/cn/java/j-nio2-1/index.htmlNIO.2 入门,第 1 部分异步通道 API了解支持异步 I/O 的新通道Catherine Hope 和 Oliver Deakin2010 年 12 月 06 日发布WeiboGoogle+用转载 2018-02-05 23:06:35 · 166 阅读 · 0 评论 -
Netty源码分析 --- Unsafe
AbstractNioUnsafe: // 用于将当前Unsafe对应的Channel注册到eventloop的多路复用器上,然后调用DefaultChannelPipeline的fireChannelRegistered方法; // 如果Channel被激活,则调用DefaultChannelPipeline的fireChannelActive方法 ...原创 2018-02-25 10:12:26 · 440 阅读 · 0 评论 -
Netty源码解析一 -- ByteBuf
JDK NIO之ByteBuffer的局限性如下:(1)长度固定,一旦分配完成,它的容量将不能动态扩展和收缩,而需要编码的POJO对象大雨ByteBuffer的容量时,会发生索引越界异常;(2)只有一个标识位置的指针position,读写的是偶需要搜公条用flip()和rewind()等,使用着必须小心的处理这些API,否则很容易导致程序越界异常;(3)ByteBuffer的API功能有限,...原创 2018-02-24 21:10:25 · 307 阅读 · 0 评论 -
Netty Channel ---AbstractNioByteChannel & AbstractNioMessageChannel源码解析
AbstractNioByteChannel源码解析 @Overrideprotected void doWrite(ChannelOutboundBuffer in) throws Exception { int writeSpinCount = -1; for (;;) { // 从当前的消息发送环形数组中弹出一条消息 Object m...原创 2018-02-24 23:32:26 · 883 阅读 · 0 评论 -
自顶向下深入分析Netty(三)--Bootstrap
转载https://www.jianshu.com/p/e896c7f461b1 Netty的一种线程模型本文开始分析Netty的源码,由于目标是自顶向下分析,在这一节将分析Netty是如何构建起如上图所示的整体框架。首先将使用一个示例展示怎么使用Bootstarp构建...转载 2018-02-25 10:13:38 · 125 阅读 · 0 评论 -
Unsafe
转载:https://www.cnblogs.com/solq111/p/7059788.htmlUnsafe 是channel的内部接口, 负责跟socket底层打交道。从书写跟命名上看是不公开给开发者使用的,直到最后实现NioSocketChannelUnsafe也没有公开出去按 Ctrl+C 复制代码public interface Channel extends AttributeMap,...转载 2018-02-25 10:17:56 · 148 阅读 · 0 评论