深入浅出学

深入浅出学 Netty

林斌 · 博思软件技术架构部技术经理

1021人已买
详情
目录(34)

内容亮点

  • 扎实的 Java 网络理论知识分析:线程模型、并发安全设计、逻辑事件概念模型、IO 模型,异步编程、全面的理论知识打牢 Java 网络编程的基础。
  • 详尽的 Netty 示例讲解与实战演练:针对每一个知识点,都提供了详尽的代码示例,让抽象的知识变得直观;采用生产项目作为实战对象,将理论知识和实际项目联系起来,在实战中进一步丰富对 Netty 的理解。
  • 深入细致的 Netty 源码分析:从源码的角度串联 Netty 理论与实战知识,更为细致地揭示了 Netty 的内在实现,包括线程模型、并发设计、内存池等高级内容的源码分析,让读者清楚 Netty 的每一处细节。

为什么要学 Netty

开发网络应用程序是一个复杂的系统工程,稍有疏忽便容易造成错误。而直接基于 Java 提供的原生 API 编写一个健壮的,高性能的网络应用是一个很大的挑战。Netty 的存在帮助我们解决了这个问题,它是一个网络 IO 编程框架,将网络编程的复杂性隐藏起来,为开发者提供了简单易用的 API,即使只是初级工程师也能使用 Netty 开发出高质量的网络应用。这使得 Netty 成为了事实上的网络 IO 开发标准。虽然 Netty 简单易用容易上手,但是毕竟网络编程是复杂的,会存在各种的状况和可能性。在遇到一些问题时,仅仅只是掌握的程度是不足以对问题进行定位和排查。

通过本专栏的学习,对网络开发所需掌握的基础理论知识会更加牢固,对网络应用涉及的线程模型,设计模式,高性能架构等更加明确。通过对 Netty 的源码深入讲解,使得读者对 Netty 达到 “知其然更之所以然” 的程度。在遇到一些线上的问题时,具备了扎实理论功底的情况,可以有的放矢而不会显得盲目。

专栏思路和大纲

专栏整体上围绕三个部分进行展开:

第一部分:入门篇

这个部分阐述网络 IO 模型的分类以及如何使用 Java 原生接口进行开发。让读者建立起对网络IO开发的感性印象。其后会详细讲解NIO的相关知识,NIO 是后续学习的整体基石。在了解 NIO 的基础上,对Netty 进行模型,API,组件方面的介绍,并且编写第一个 Netty 应用程序。通过这个例子,读者可以掌握对 Netty 的基本使用,达到初步使用 Netty 进行开发的能力。

第二部分:实战篇

结合第一部分的理论知识,本章节使用 Netty 开发两个实际项目中可能会涉及到项目,分别是在线 IM 聊天和 HTTP 文件下载器。通过实战项目,讲解在实战中,对 Netty 的使用。并且通过实战,还会涉及诸如协议设计、数据存储、并发安全考量等等实战类知识。

第三部分:进阶篇

经过入门和实战的学习,读者对使用 Netty 开发高质量的项目已经没有问题。但是在遇到一些疑难杂症时,可能需要更多对 Netty 内部的了解;或者与项目深度结合时,希望能够了解到 Netty 的实现。进阶篇将从源码分析的角度入手,带领读者从源码的层级上分析整个 Netty 的实现。几个重点的组件,线程池,管道,启动器以及一些设计模式,线程模式等都会详细分析。

你将获得

  • 对 Java 中几种 IO 实现模式的了解
  • 掌握使用 Java NIO 开发的能力
  • 掌握使用 Netty 开发项目的能力
  • 深入理解和掌握 Netty 的设计精髓,诸如并发安全保证,设计原理,重点算法等
  • 从源码的深度掌握 Netty 重点设计背后的代码细节和思路

适宜人群

  • 想要进行 Java 网络编程却缺乏相关知识的同学
  • 大致了解 Netty,希望能在项目中上手的同学
  • 会使用 Netty,但是遇到问题不会定位的同学

购买须知

  • 本专栏为图文内容,共计 30 篇;
  • 付费用户可享受文章永久阅读权限;
  • 本专栏为虚拟产品,一经付费概不退款,敬请谅解;
  • 本专栏可在 GitChat 服务号、App 及网页端 gitbook.cn 上购买,一端购买,多端阅读。

订阅福利

  • 本专栏限时特价 39 元,11 月 15 日恢复至原价 59 元。

  • 订购本专栏可获得专属海报(在 GitChat 服务号领取),分享专属海报每成功邀请一位好友购买,即可获得 25% 的返现奖励,多邀多得,上不封顶,立即提现;

  • 提现流程:在 GitChat 服务号中点击「我-我的邀请-提现」;

  • 购买本专栏后,服务号会自动弹出入群二维码和暗号。如果你没有收到那就先关注微信服务号「GitChat」,或者加我们图上的小助手微信进行咨询。(入群方式可查看第 3 篇文末说明)。

购买须知

  • 本课程内容版权归北京码字科技发展有限公司独家所有,未经授权,不得转载。
  • 本课程为虚拟产品,一经付费概不退款,敬请谅解。
  • 添加 GitChat 助教俏俏(微信 ID: gitchat2025),加入免费技术交流群。
× 订阅 Java 精选频道
¥ 元/月
订阅即可免费阅读所有精选内容