写过一段时间的代码后,大多数人都会学到:直接使用底层的APi暴露了复杂性,而且引入了对每每供不该求的技能的关键性依赖,固然,学过Java的朋友或者其余语言也知道,面向对象的概念:用较简单的抽象隐藏底层实现的复杂度。git
而也所以引出了各类开源的大框架,它们各有优缺点,其中大多数与分布式系统相关联。github
而在网络编程领域,或许Netty才是真正的一枝独秀!它掌控着Java高级API的能力,并将其隐藏在一个易于使用的API以后。你能够彻底专一于你本身的应用。编程
设计
统一的API,支持多种传输类型,阻塞的和非阻塞的
简单而强大的线程模型
真正的无链接数据报套接字支持
链接逻辑组件以支持复用安全
易于使用
详实的Javadoc的大量的示例
JDK依赖简单网络
性能
拥有比Java的核心API更高的吞吐量以及更低的延迟
得益于池化和复用,拥有更低的资源消耗
最少的内存复制框架
健壮性
不会由于慢速、快速或者超载的链接而致使OutOfMemoryError
消除在高速网络中NIO应用程序常见的不公平读/写比率异步
安全性
完整的SSL/TLS以及StartTLS支持
可用于受限环境下,如Applet和OSGI分布式
社区驱动
发布快速并且频繁性能
多的是!!!
Apple、Twitter、Facebook、Google等大公司,甚至到各类开源项目其核心代码也是用到Netty强大的网络抽象。spa
我的关于Netty项目:InChat
项目介绍:【预计终版仿腾讯IM项目,目前迭代中....】基于Netty4与SpringBoot,聊天室WebSocket(文字图片)加API调用Netty长连接执行发送消息(在线数、用户列表)、Iot物联网-MQTT协议、TCP/IP协议单片机通讯,异步存储聊天数据
如何本文对你有所帮助,欢迎关注公众号