Netty系列・高级篇Netty核心源码解析
Posted 步尔斯特
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Netty系列・高级篇Netty核心源码解析相关的知识,希望对你有一定的参考价值。
文章目录
1 启动剖析
我们就来看看 netty 中对下面的代码是怎样进行处理的
//1 netty 中使用 NioEventLoopGroup (简称 nio boss 线程)来封装线程和 selector
Selector selector = Selector.open();
//2 创建 NioserverSocketChannel,同时会初始化它关联的 handler,以及为原生 ssc 存储 config
NioS
Netty源码面试解析实战- 引导篇
Netty,一款用于创建高性能网络应用程序的高级框架,由其德国老爹 Trustin Lee
在 2008 年提交第一个commit至今,转眼间已经走过了十二年。
Netty 本身是基于 Java 的 NIO 封装而成的框架。我们知道,熟练的使用框架进行开发,只是学习刚入了框架的门。现如今,处于 Java 诸神之战年代,唯有深入框架源码,对每个设计点都了如指掌,才算得上精通该框架。
异步和事件驱动
使用 Netty 比直接使用底层的 Java API 容易得多
自带编解码器解决拆包粘包等问题
reactor线程模型,支撑高并发连接
自带各种协议栈
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
生态
社区发布快速且频繁
国际大公司,如Apple、Twitter、Facebook、Google、Square和Instagram
流行开源项目,如Infinispan、HornetQ、Vert.x、Apache Cassandra和Elasticsearch,Spark,核心代码都利用了Netty的网络抽象。
扫描二维码更精彩
往期推荐
以上是关于Netty系列・高级篇Netty核心源码解析的主要内容,如果未能解决你的问题,请参考以下文章
Netty源码解析Netty核心源码和高并发高性能架构设计精髓