开发者社区> javaedge> 正文

Netty 源码阅读入门实战(一)-介绍

简介: 1 简介 以 Netty 为底层的框架 Netty 是什么 Netty 技术和方法的特点 设计 针对多种传输类型的统一接口 - 阻塞和非阻塞 简单但更强大的线程模型 真正的无连接的数据报套接字支持 链接逻辑支持复用 易用性 大量的 Javadoc 和 代码实例 除了在 JDK 1.6 + 额外的限制。
+关注继续查看

1 简介

Netty 由其作者 Trustin Lee
在这里插入图片描述

在 2008 年提交第一个commit至今,转眼间已经走过了十二年。
在这里插入图片描述
Netty 本身是基于 Java 中 NIO 接口能力进行封装而成的框架。对 NIO 的学习和掌握是不可避免的。
可以熟练的使用框架进行业务的开发,仅仅只是学习刚开了一个头。只有深入到框架的内部,对一个结果的背后都了解了“为什么”,“是什么”,“怎么样”,才能算对框架实现了掌握。而到了这一步,深入的探究源码是最好的手段。

什么是 Netty

  • 异步事件驱动框架,可快速开发高性能的服务端和客户端
  • 封装了JDK底层BIO和NIO模型,提供更加简单易用安全的 API
  • 自带编解码器解决拆包粘包问题,无需用户困扰
  • reactor线程模型支持高并发海量连接
  • 自带各种协议栈

Netty 的特点

  • 设计
    针对多种传输类型的统一接口 - 阻塞和非阻塞
    简单但更强大的线程模型
    真正的无连接的数据报套接字支持
    链接逻辑支持复用
  • 易用性
    大量的 Javadoc 和 代码实例
    除了在 JDK 1.6 + 额外的限制。(一些特征是只支持在Java 1.7 +。可选的功能可能有额外的限制。)
  • 性能
    比核心 Java API 更好的吞吐量,较低的延时
    资源消耗更少,这个得益于共享池和重用
    减少内存拷贝
  • 健壮性
    消除由于慢,快,或重载连接产生的 OutOfMemoryError
    消除经常发现在 NIO 在高速网络中的应用中的不公平的读/写比
  • 安全
    完整的 SSL / TLS 和 StartTLS 的支持
    运行在受限的环境例如 Applet 或 OSGI
  • 社区
    发布的更早和更频繁
    社区驱动

为什么要研究 Netty

◆各大开源项目选择Netty作为底层通信框架
◆更好的使用,少走弯路
◆遇到bug ?单机连接数上不去?性能遇到瓶颈?如何调优?
◆详解reactor线程模型 ,实践中举-反三
◆庞大的项目是如何组织的 ,设计模式,体验优秀的设计
◆阅读源码其实没那么困难

学习 Netty 将解锁以下成就:

◆掌握Netty底层原理 ,轻松解决各类疑难杂症,深度调优
◆面试加分,互联网各大架构师的职位,升职加薪,以-档三
◆给官方提issue

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Netty「源码阅读」之怎么解决 Java 的 epoll 空轮询 bug
Netty「源码阅读」之怎么解决 Java 的 epoll 空轮询 bug
314 0
Netty「源码阅读」之 EventLoop 简单介绍到源码分析
Netty「源码阅读」之 EventLoop 简单介绍到源码分析
72 0
Netty源码阅读入门实战(八) - 解码下(下)
Netty源码阅读入门实战(八) - 解码下
140 0
Netty源码阅读入门实战(八) - 解码下(上)
Netty源码阅读入门实战(八) - 解码下
79 0
Netty源码阅读入门实战(六)-pipeline
Netty源码阅读入门实战(六)-pipeline
785 0
Netty源码阅读入门实战(六)-pipeline
1 pipeline概述 2 pipeline初始化 双向链表结构 看看其一个实现类 基本数据结...
1003 0
Netty源码阅读入门实战(五)-新连接检测
1 检测新连接 打断点 telnet 此机地址,引起连接建立 执行到此,进入查看 以上即对应 read 方法 ...
948 0
Netty 源码阅读入门实战(四)-NioEventLoop
1 NioEventLoop概述 总述 2 NioEventLoop创建概述 ...
1100 0
Spark Netty与Jetty (源码阅读十一)
  spark呢,对Netty API又做了一层封装,那么Netty是什么呢~是个鬼。它基于NIO的服务端客户端框架,具体不再说了,下面开始。   创建了一个线程工厂,生成的线程都给定一个前缀名。      像一般的netty框架一样,创建Netty的EventLoopGroup:      在常用...
1013 0
+关注
javaedge
关注公众号:JavaEdge,后台回复面试,领取更多大厂求职资源。曾在百度、携程、华为等大厂搬砖,专注Java生态各种中间件原理、框架源码、微服务、中台等架构设计及落地实战,只生产硬核干货!
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
Storm源码走读笔记
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多