Netty 4(一) zero copy
2024-08-27 04:37:00
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方式导致的内存拷贝问题。
最新文章
- Bash 脚本编程语言中的美学与哲学
- 【树状数组套权值线段树】bzoj1901 Zju2112 Dynamic Rankings
- vim替换指令备忘
- pycurl
- 全选Form >; Grid 的所有行
- 五分钟轻松搞定产品需求文档!这可能史上最全PRD文档模板
- VC实用小知识总结 (一),转http://blog.csdn.net/myiszjf/article/details/10007431
- 腾讯的一道js面试题(原型)
- 设计模式笔记之二:Android开发中的MVP架构(转)
- 关于OMAPL138烧写程序的说明
- Android Material Design控件使用(四)——下拉刷新 SwipeRefreshLayout
- Oracle截取JSON字符串内容
- mvc路由配置.html结尾的伪静态
- DOM编程艺术章12:一个简单的Ajax例子
- html特殊字体显示
- nginx做负载均衡时其中一台服务器挂掉宕机时响应速度慢的问题解决
- 9.25中间件和Django的学过的知识总结
- AP、路由、中继、桥接、客户端模式之间的区别
- PHP学习必读的20本书
- BZOJ5131: [CodePlus2017年12月]可做题2
热门文章
- javascript优化--08模式(代码复用)01
- 看病要排队(stl)
- 亲和数[HDU2040]
- BZOJ4123 : [Baltic2015]Hacker
- [Cocos2d-x For WP8]Menu菜单
- 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题
- tomcat的安装
- FastDFS 安装
- 前端编码规范(4)—— CSS 和 Sass (SCSS) 规范
- Apache Spark源码走读之10 -- 在YARN上运行SparkPi