Netty源码面试实战+原理(一)-鸿蒙篇

网友投稿 697 2022-05-30

全是干货的技术号:

本文已收录在github,欢迎 star/fork:

https://github.com/Wasabi1234/Java-Interview-Tutorial

1 简介

在 2008 年提交第一个commit至今,转眼间已经走过了十二年。

Netty 是封装了 JDK 的 NIO 接口而成的框架。所以 JDK NIO 是基础,请先掌握它!

2 什么是 Netty

异步事件驱动框架,可快速开发高性能的服务端和客户端

封装了JDK底层BIO和NIO模型,提供更加简单易用安全的 API

自带编解码器解决拆包粘包问题,无需用户困扰

Reactor线程模型支持高并发海量连接

自带各种协议栈

3 Netty 的特点

设计

针对多种传输类型的统一接口 - 阻塞和非阻塞

简单但更强大的线程模型

真正的无连接的数据报套接字支持

链接逻辑支持复用

易用性

大量的 Javadoc 和 代码实例

除了在 JDK 1.6 + 额外的限制。(一些特征是只支持在Java 1.7 +。可选的功能可能有额外的限制。)

性能

比核心 Java API 更好的吞吐量,较低的延时

资源消耗更少,这个得益于共享池和重用

减少内存拷贝

健壮性

消除由于慢,快,或重载连接产生的 OutOfMemoryError

消除经常发现在 NIO 在高速网络中的应用中的不公平的读/写比

安全

完整的 SSL / TLS 和 StartTLS 的支持

Netty源码面试实战+原理(一)-鸿蒙篇

运行在受限的环境例如 Applet 或 OSGI

社区

发布的更早和更频繁

社区驱动

4 为什么要研究 Netty

为了面试跳槽涨薪超过30%!

JDK

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Hive性能调优之并行执行(3)
下一篇:Panoptic FPN 全景分割
相关文章