java面试题网

普通会员

108

帖子

11

回复

138

积分

楼主
发表于 2018-06-01 17:37:44 | 查看: 1496| 回复: 0

从大的方面看,netty性能高效主要体现在:

1.io线程模型

使用reactor模式,同步非阻塞。这决定了可以用最少的资源做更多的事。

2.内存零拷贝

使用直接缓存(Zero-copy, 在操作数据时, 不需要将数据 buffer 从一个内存区域拷贝到另一个内存区域. 因为少了一次内存的拷贝, 因此 CPU 的效率就得到的提升.)

3.内存池设计

申请的内存可以重用,主要指直接内存。

内部实现是用一颗二叉查找树管理内存分配情况。

4.串形化处理socket读写,避免锁,即一个指定socket的消息是串形化处理的。这样性能比多个线程同时 处理一个socket对应消息要好,因为多线程处理会有锁。

5.提供对protobuf等高性能序列化协议支持



您需要登录后才可以回帖 登录 | 立即注册

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018