
NIO
kobexzf
这个作者很懒,什么都没留下…
展开
-
netty
内存模型:reactor模式,单线程(单reactor线程(多路复用)完成acceptor,dispatcher事件分发,handler处理) EventLoopGroup bossGroup = new NioEventLoopGroup(1); try { ServerBootstrap b = new ServerBootstrap(); b.group(b...原创 2018-12-14 11:05:05 · 108 阅读 · 0 评论 -
netty bytebuf
bytebuf 字节数组缓冲区, 0 readerIndex writerIndex capacity 与jdk bytebuffer 类似,不过bytebuffer命名为position,limit,capacity 动态扩展,write调用检查可用空间,可能会自动扩容(不超过maxCapacity) bytebuffer不会,它需要我们自己检查可用空间 支持mark reset readerI...原创 2018-12-14 13:30:04 · 166 阅读 · 0 评论 -
netty channel,unsafe,pipeline, handler,context
channel 代表netty内链路或通道,比如niosocketchannel就封装socketchannel,含channelConfig,含parent(如accept出来的SocketChannel其parent为ServerSocketChannel,也可为null),异步操作,返回channelFuture channel 将具体IO操作委托给其unsafe对象, channel 含p...原创 2018-12-14 14:41:48 · 138 阅读 · 0 评论 -
netty Bootstrap connect方法
connect方法调用如下方法,值得分析 private ChannelFuture doResolveAndConnect(final SocketAddress remoteAddress, final SocketAddress localAddress) { final ChannelFuture regFuture = initAndRegister(); ...原创 2018-12-14 15:19:01 · 3819 阅读 · 0 评论 -
java nio
Buffer ByteBuffer, CharBuffer… 读取数据:channel写入到buffer,flip,读取buffer数据,clear或compact 0,position,limit,capacity position相当于readerIndex和writerIndex,取决于是处于read mode还是write mode,limit在write mode下是capacity,f...原创 2019-01-04 19:56:37 · 122 阅读 · 0 评论 -
Mina-1
客户端,服务端几乎对等,一个主selector(单个线程,Acceptor线程,Connector线程)和多个幅selector(多个Processor线程) 服务端Acceptor线程:很明显处理bind,unbind,和accept连接,像bind,unbind通过future,队列可实现异步,但这里并没有开放,如下 protected final void unbind0(List<?...原创 2019-06-20 18:43:30 · 133 阅读 · 0 评论 -
Netty-tips
NioEventLoop:1 select,2 处理select所得,3 处理任务(普通和定时,按ioRatio确定时间) read,accept和connect,write全部在这里处理,不像mina按Processor,Connector,Acceptor区分。 accept处理:和read处理完全一致,Unsafe.read() NioByteUnsafe(NioSocketChannel)...原创 2019-09-17 20:25:04 · 123 阅读 · 0 评论