Netty 中为什么不需要 flip方法
来源:互联网 发布:linux发行版排行 2017 编辑:程序博客网 时间:2024/06/05 16:51
我们在使用JAVA NIO发送消息时不是常常需要调用ByteBuffer.flip()方法吗?
实际上ChannelBuffer之所以不需要这个方法是因为 ChannelBuffer有两个指针:
一个对应读操作,一个对应写操作。
当你向一个 ChannelBuffer写入数据的时候写指针的索引值便会增加,但与此同时读指针的索引值不会有任何变化。
读写指针的索引值分别代表了这个消息的开始、结束位置。
与之相应的是,NIO的buffer缓冲没有为我们提供如此简洁的一种方法,除非你调用它的flip方法。
因此,当你忘记调用flip方法而引起发送错误时,你便会陷入困境。这样的错误不会再Netty中发生,因为我们对应不同的操作类型有不同的指针。你会发现就像你已习惯的这样过程变得更加容易— 一种没有flippling的体验!
0 0
- Netty 中为什么不需要 flip方法
- 为什么Handler在主线程中不需要使用Looper.prepare()和loop()方法?看源码!
- java中,为什么有些类不需要导入?
- 为什么不需要在 Docker 容器中运行 sshd
- netty(六) 为什么选择netty
- 关于ByteBuffer中flip和rewind方法的作用说明
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- Java NIO之Buffer中flip()、rewind()、clear()方法解析
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- 为什么未来不需要我们?
- 为什么不需要写@synthesize
- 网络流
- Netty MessageDecoder decode详解
- 放学回家发个邮件共负盈亏附件一警方已就发邮件
- HDU4551 猜生日问题
- 数据大观园(一)
- Netty 中为什么不需要 flip方法
- MySql 5.6.20乱码问题的解决
- Arrays.copyof(···)与System.arraycopy(···)区别
- 如何让微信好友“爱”上你
- jQuery Easy UI Panel(面板)组件
- Python PIL ImageDraw 和ImageFont模块学习
- Linux Unix shell 编程指南学习笔记(第一部分)
- Netty 的Channel write返回一个ChannelFuture 对象内部实现
- 一个js构造树的函数