什么是netty

netty封装了java底层复杂的API,并将其隐藏在一个易于使用的API之后,对网络编程基础相对薄弱的开发人员有友好的支持,可以很快速、方便的构建出强大的高并发程序。
c3补充:netty解决了两个相应的关注领域,大致标记为技术的和体系结构的。

netty的特性

2.1 设计:统一的API,支持多种传输类型,阻塞的和非阻塞的。简单而强大的线程模型。真正的无连接数据报套接字支持。链接逻辑组件以支持复用
2.2 易于使用: 详实的javadoc和大量的示例。不需要超过jdk1.6的依赖(一些可选的特性可能需要jdk1.7+或额外的依赖)
2.3 性能: 拥有与java的核心API更高的吞吐量以及更低的延迟。得益于池化和复用,拥有更低的资源消耗。最少的内存复制
2.4 健壮性:不会因为慢速、快速或者超载的连接而导致OutOfMemoryError。消除在高速网络中NIO应用程序常见的不公平读写比率
2.5 安全性: 完整的SSL/TLS以及StartTLS支持。可用于受限环境下,如Applet和OSGI。
2.6 社区驱动:发布快速而且频繁