Netty的“零拷贝”主要体现在如下三个方面:

1) Netty的接收和发送ByteBuffer采用DIRECT BUFFERS,使用堆外直接内存进行Socket读写,不需要进行字节缓冲区的二次拷贝。如果使用传统的

堆内存(HEAP BUFFERS)进行Socket读写,JVM会将堆内存Buffer拷贝一份到直接内存中,然后才写入Socket中。相比于堆外直接内存,消息在发

送过程中多了一次缓冲区的内存拷贝。

2) Netty提供了组合Buffer对象,可以聚合多个ByteBuffer对象,用户可以像操作一个Buffer那样方便的对组合Buffer进行操作,避免了传统通过内存

拷贝的方式将几个小Buffer合并成一个大的Buffer。

3) Netty的文件传输采用了transferTo方法,它可以直接将文件缓冲区的数据发送到目标Channel,避免了传统通过循环write方式导致的内存拷贝问题。

最新文章

  1. Bash 脚本编程语言中的美学与哲学
  2. 【树状数组套权值线段树】bzoj1901 Zju2112 Dynamic Rankings
  3. vim替换指令备忘
  4. pycurl
  5. 全选Form > Grid 的所有行
  6. 五分钟轻松搞定产品需求文档!这可能史上最全PRD文档模板
  7. VC实用小知识总结 (一),转http://blog.csdn.net/myiszjf/article/details/10007431
  8. 腾讯的一道js面试题(原型)
  9. 设计模式笔记之二:Android开发中的MVP架构(转)
  10. 关于OMAPL138烧写程序的说明
  11. Android Material Design控件使用(四)——下拉刷新 SwipeRefreshLayout
  12. Oracle截取JSON字符串内容
  13. mvc路由配置.html结尾的伪静态
  14. DOM编程艺术章12:一个简单的Ajax例子
  15. html特殊字体显示
  16. nginx做负载均衡时其中一台服务器挂掉宕机时响应速度慢的问题解决
  17. 9.25中间件和Django的学过的知识总结
  18. AP、路由、中继、桥接、客户端模式之间的区别
  19. PHP学习必读的20本书
  20. BZOJ5131: [CodePlus2017年12月]可做题2

热门文章

  1. javascript优化--08模式(代码复用)01
  2. 看病要排队(stl)
  3. 亲和数[HDU2040]
  4. BZOJ4123 : [Baltic2015]Hacker
  5. [Cocos2d-x For WP8]Menu菜单
  6. 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题
  7. tomcat的安装
  8. FastDFS 安装
  9. 前端编码规范(4)—— CSS 和 Sass (SCSS) 规范
  10. Apache Spark源码走读之10 -- 在YARN上运行SparkPi