vlambda博客
学习文章列表

Netty源码面试解析实战(一)- 引导篇


1
简介


Netty,一款用于创建高性能网络应用程序的高级框架,由其德国老爹 Trustin Lee


在 2008 年提交第一个commit至今,转眼间已经走过了十二年。
Netty源码面试解析实战(一)- 引导篇
Netty 本身是基于 Java 的 NIO 封装而成的框架。我们知道,熟练的使用框架进行开发,只是学习刚入了框架的门。现如今,处于 Java 诸神之战年代,唯有深入框架源码,对每个设计点都了如指掌,才算得上精通该框架。


2
所谓 Netty
  • 异步和事件驱动

  • 使用 Netty 比直接使用底层的 Java API 容易得多

  • 自带编解码器解决拆包粘包等问题

  • reactor线程模型,支撑高并发连接

  • 自带各种协议栈


3
Netty 的特点


3.1


设计


  • 支持多种传输类型的统一的 API,阻塞和非阻塞的

  • 简单而强大的线程模型

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

  • 链接逻辑组件以支持复用


3.2


易用


  • 翔实的 Javadoc 和示例

  • 一般只需要 JDK 1.6 的依赖

3.3


性能


  • 拥有比Java原生API更高的吞吐量及更低的延迟

  • 得益于池化和复用,更低的资源消耗

  • 减少内存复制


3.4


健壮


  • 不会因慢速、快速、超载的连接产生OOM

  • 消除NIO 在高速网络应用中的不公平的读/写比


3.5


安全


  • 完整的 SSL / TLS 和 StartTLS 的支持

  • 可运行在受限的环境,如 Applet 或 OSGI


3.6


 生态


  • 社区发布快速且频繁


4
谁在使用 Netty


国际大公司,如Apple、Twitter、Facebook、Google、Square和Instagram

流行开源项目,如Infinispan、HornetQ、Vert.x、Apache Cassandra和Elasticsearch,Spark,核心代码都利用了Netty的网络抽象。


Netty源码面试解析实战(一)- 引导篇
Netty源码面试解析实战(一)- 引导篇

扫描二维码更精彩

Netty源码面试解析实战(一)- 引导篇
Netty源码面试解析实战(一)- 引导篇


往期推荐



点击下方“阅读全文”了解更多
好看的人才能点