阅读量100w+的Netty源码  底层原理完整体系首著 学完可以自己动手写“微信”

阅读量100w+的Netty源码 底层原理完整体系首著 学完可以自己动手写“微信”

在介绍本书内容之前,先来谈一谈这本书的形成过程。

本书的形成过程

大概在 16 年左右,我开始负责一个长连的项目,核心技术是 Netty,由于之前从未了解过这项技术,于是想先找找有没有相关的资料。

我学习一项技术的习惯是先找找看有没有这方面的书籍,当时找了一些博客和一本书来啃,一段时间之后发现这些内容对我的帮助不是很大,反而把我搞的稀里糊涂。

接手到的长连项目是之前一位同事写的,代码写的很漂亮,后来花了一些时间去研究这个项目是如何使用 Netty 的,加上之前或多或少耳濡目染的那些资料,勉强算是入门了。

项目需求在升级,比如后续需要一些加密,协议升级类的需求,我当时的 Netty 知识储备将很快无法支持我升级该项目,于是,我开始一段 Netty 的探索之旅。

在 我的源码阅读经历这篇文章中,我提到,在毕业的前两年,我花了很多时间去研究 IntelliJ IDEA 高效编程及调试的一些技巧,有了这些基础,接下来研究 Netty 还是相对比较轻松的。当时,每次上班前和下班后,我都会花 2 ~ 3 个小时的时间去阅读 Netty 的源码,整个过程是非常愉悦的,因为Netty 的源码和 Spring 的源码一样,写得非常优雅,给人带来美的享受。

一段时间之后,我的 Netty 知识储备已足够应对项目的复杂程度了,很多技术需求也可以通过比较优雅的方式来实现,但是有个问题想不通,既然 Netty 是作为互联网领域非常受欢迎的中间件,为什么相关的资料却凤毛棱角?

当时正值单身的黄金时期,有大把的时间可以用来干自己喜欢的事情,于是,我每个周末都会约上基友--波波一起去上海图书馆,去干啥呢?去写源码分析文章。

刚开始非常自信,认为凭借着前期对 Netty 的研究,写个文章不是啥难事,但是实际写作过程中发现,要比我想象中难太多了,有很多问题我不知道该如何解决。比如:我每次都该写些啥?每篇文章的结构如何组织?我怎么写才能够让读者能够容易读懂?经过一段时间的摸索,我找到了答案。

我当时列个详细的目录,决定每周写一个主题。为了确保不让读者困扰,尽管每周对要写的主题已非常熟悉,我还是会花大量的时间去反复研究这个主题,弄清楚每一个细节。然后到了周末,我会花上一天的时间,完全站在读者的角度,去构思和雕琢每一篇文章。周末写完之后,工作日再花上几个小时的时间去校对,最终发表。

坚持了大半年的时间之后,整个 Netty 底层的体系:包括 Netty 源码的分析,以及线上问题的排查思路,已经搭建起来了。下面是一些文章的截图,从阅读量及得到的奖赏来看,还是比较受到读者欢迎的。

有了 Netty 这一系列的积累,后续慕课找到我,最终在该平台上录制了 Netty 源码分析的视频课程:「Java读源码之Netty深入剖析」。掘金也找到我,最后在该平台上出了一本电子书 「Netty 入门与实战:仿写微信 IM 即时通讯系统」。后来多位编辑找到我,想合作出版一本高效实战的实体书,我选择了董老师,才有了今天的实体书:《跟闪电侠学 Netty:Netty 即时聊天实战与底层原理》。

写这本书,我没有从头开始写。一方面是时间方面确实不太够,另外一方面,我的每一篇博客,专栏的每个章节,每一个视频,都花了很长时间精心打磨,雕琢,并根据读者的反馈进行迭代,力争做到对读者负责。在博文视点出版社编辑老师的帮助下,我将掘金小册中作为入门部分,将我的源码分析博文作为进阶部分,两者合并并整理润色,成就了当前的这一本实体书。

为什么你可能需要阅读这本书?

2016 年左右,关于 Netty 的书籍还仅有一两本,目前市面上 Netty 相关的书已经比较多了,为什么你可能需要阅读这本书呢?

对于初学者来说,本书和市面上其他的书不同,采用了基于一个实战项目的形式,由浅入深地,体系化地讲授 Netty 各个知识点。

本书前半部分开篇提出了一个目标:构建一个完整的单机版即时聊天项目。在后续的每个章节中,读者都可以通过书中的内容逐渐完善该项目,最后一个章节结束之后,单机版的聊天项目也就完成了。

对于进阶者来说,本书的后半部分,完全站在读者的角度来分析 Netty 的每个组件,读者在阅读过程中会有一种在探索未知事物和破案推理的感觉。此外,书中还会穿插讲一些源码的阅读技巧,帮助大家降低阅读代码的门槛。

在入门部分,如果读者觉得当前章节较为简单,想立即去深入了解本章节相关的知识点,很容易跳转到后半部分的对应的源码部分进行阅读。比如,入门部分第四章节的“服务端启动流程”和进阶部分的“服务端启动流程解析”是入门与进阶的关系,入门部分第十三章节的“拆包/粘包理论与解决方案”与进阶部分的“编码原理解析”是入门与进阶的关系,读者可以做到不仅知其然,而知其所以然。

我一直认为,对读者比较友好的一本好书,应该是能够让读者一口气读完,并意犹未尽的,希望本书能够实现这个目标。

这本书的目录结构

读者可以根据本书的目录,大体了解本书的内容。



结束语

写作会耗费大量的脑力体力,最后带来的物质回报其实也不会太多,但是,如果这本书能够帮助到很多在技术的道路上默默前行的朋友,给我带来的那份满足感将远远超过物质回报,希望在技术的道路上,与大家一起砥砺前行。

代做工资流水公司深圳对公流水样本沈阳查询银行流水淮安打对公银行流水天津办理工作收入证明天津背调流水公司衡阳做企业流水打印商丘银行流水修改图片舟山房贷流水模板台州车贷流水代办岳阳代开签证流水湘潭工资代付流水报价北京背调工资流水代办舟山银行流水PS公司孝感银行流水打印厦门开车贷工资流水南昌做入职流水杭州办薪资银行流水蚌埠公司银行流水公司绵阳开车贷工资流水佛山代开对公流水湛江自存银行流水打印襄阳自存流水报价兰州做银行流水电子版邢台自存流水打印佛山查询薪资银行流水长沙打印企业对公流水湘潭入职银行流水公司湛江离职证明模板临沂代办公司流水泰安代开转账银行流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化