1

Netty!!!

写过一段时间的代码后,大多数人都会学到:直接使用底层的APi暴露了复杂性,并且引入了对往往供不应求的技能的关键性依赖,当然,学过Java的朋友或者其他语言也知道,面向对象的概念:用较简单的抽象隐藏底层实现的复杂度。

而也因此引出了各种开源的大框架,它们各有优缺点,其中大多数与分布式系统相关联。

而在网络编程领域,或许Netty才是真正的一枝独秀!它掌控着Java高级API的能力,并将其隐藏在一个易于使用的API之后。你可以完全专注于你自己的应用。

特性

设计

统一的API,支持多种传输类型,阻塞的和非阻塞的
简单而强大的线程模型
真正的无连接数据报套接字支持
连接逻辑组件以支持复用

易于使用

详实的Javadoc的大量的示例
JDK依赖简单

性能

拥有比Java的核心API更高的吞吐量以及更低的延迟
得益于池化和复用,拥有更低的资源消耗
最少的内存复制

健壮性

不会因为慢速、快速或者超载的连接而导致OutOfMemoryError
消除在高速网络中NIO应用程序常见的不公平读/写比率

安全性

完整的SSL/TLS以及StartTLS支持
可用于受限环境下,如Applet和OSGI

社区驱动

发布快速而且频繁

谁在使用Netty?

多的是!!!
Apple、Twitter、Facebook、Google等大公司,甚至到各种开源项目其核心代码也是用到Netty强大的网络抽象。

相关项目

个人关于Netty项目:InChat

项目介绍:【预计终版仿腾讯IM项目,目前迭代中....】基于Netty4与SpringBoot,聊天室WebSocket(文字图片)加API调用Netty长链接执行发送消息(在线数、用户列表)、Iot物联网-MQTT协议、TCP/IP协议单片机通信,异步存储聊天数据


如何本文对你有所帮助,欢迎关注公众号

图片描述


Java猫说
1.3k 声望930 粉丝

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。