摘自:https://baike.baidu.com/item/Netty/10061624?fr=aladdin
也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。
设计
针对多种传输类型的统一接口 - 阻塞和非阻塞
简单但更强大的线程模型
真正的无连接的数据报套接字支持
链接逻辑支持复用
易用性
大量的 Javadoc 和 代码实例
除了在 JDK 1.6 + 额外的限制。(一些特征是只支持在Java 1.7 +。可选的功能可能有额外的限制。)
性能
比核心 Java API 更好的吞吐量,较低的延时
资源消耗更少,这个得益于共享池和重用
减少内存拷贝
健壮性
消除由于慢,快,或重载连接产生的 OutOfMemoryError
消除经常发现在 NIO 在高速网络中的应用中的不公平的读/写比
安全
完整的 SSL / TLS 和 StartTLS 的支持
行在受限的环境例如 Applet 或 OSGI
社区
发布的更早和更频繁
处理大容量数据流更简单
处理协议编码和单元测试更简单
I/O超时和idle状态检测
应用程序的关闭更简单,更安全
更可靠的OutOfMemoryError预防
1、基于BIO和NIO的UDP传输
2、本地传输(又名 in-VM传输)
3、HTTP通道,可绕过防火墙
1、HTTP客户端和服务器端
2、用于实现各种专有协议的工具
1、Google Protocol Buffers
2、JBoss Microcontainer, OSGi, Guice以及Spring