lukaliou123 / lukaliou123.github.io

lukaliou123在2022年的面试用知识点总结
Other
5 stars 0 forks source link

Netty #31

Open lukaliou123 opened 1 year ago

lukaliou123 commented 1 year ago

1.Netty的高性能可以归结为以下几个关键因素:

1.非阻塞I/O:Netty使用Java的NIO库,这是一种基于事件驱动和非阻塞I/O模型的技术。因此,Netty可以用少量的线程处理大量的并发连接,而不需要为每个连接创建一个新的线程。这种模式减少了线程切换的开销,提高了服务器的吞吐量。

2.零拷贝技术:Netty实现了零拷贝,它可以减少在用户空间和内核空间之间的数据复制。这种技术能够减轻CPU的负担,降低内存使用,并提高数据传输速度。

3.高效的内存管理:Netty使用内存池化技术来复用已经分配的缓冲区。这避免了频繁的内存分配和回收,从而提高了性能。

4.灵活的线程模型:Netty提供了灵活的事件循环组模型,使得开发者可以根据具体需求自定义线程模型,更好地利用系统资源。

5.优化的网络协议处理:Netty内置了许多常用网络协议的编解码器,并且对其进行了优化,使得数据传输更为高效。