#种一棵树最好的时间是十年前,其次是现在
很多程序员一开始在学习上找不到方向,但我想在渡过了一段时间的新手期之后这类问题大多都会变得不再那么明显,工作的方向也会逐渐变得清晰起来。
但是没过多久,能了解到的资料就开始超过每天学习的能力,像是买了没看的书、收藏没读的贴、mark 了之后再也没有关注过的文章越积越多,更别提每天面对各种技术分享或者微博里的新鲜玩意了。
大多数人每天能留给自己学习的时间有限,这个阶段如何提升学习效率就成了要解决的重点。
说说自己提升学习效率的心得,其实非常简单:体系化的学习。
我曾经很喜欢看一些博客或者是一些 “看起来” 比较通俗易懂的文章,每天在微博微信里刷到什么技术文章就 mark 下来,基本上几分钟就能读完。可一段时间下来,虽然读了不少东西,但是还是有种在原地打转的状态,并没有感受到有什么实际的提高。
最后实在忍不住,抱着厚书硬啃了一遍,突然有种豁然开朗的感觉:读书时自己学到的是一张完整的知识网络,每个知识点和其它内容相互联系和区别。这种全方位的理解比起一篇篇独立的文章,不知要高到哪里去了。
在重复了几次痛苦的学习-梳理过程后,再去看一些独立的文章或者资料往往会事半功倍,因为能在体系内找到相对应的知识,甚至有时候一本书里一页只需要看一句话,点破那层窗户纸,就可以掌握新的知识。很多程序员一开始在学习上找不到方向,但我想在渡过了一段时间的新手期之后这类问题大多都会变得不再那么明显,工作的方向也会逐渐变得清晰起来。
但是没过多久,能了解到的资料就开始超过每天学习的能力,像是买了没看的书、收藏没读的贴、mark 了之后再也没有关注过的文章越积越多,更别提每天面对各种技术分享或者微博里的新鲜玩意了。
大多数人每天能留给自己学习的时间有限,这个阶段如何提升学习效率就成了要解决的重点。
说说自己提升学习效率的心得,其实非常简单:体系化的学习。
我曾经很喜欢看一些博客或者是一些 “看起来” 比较通俗易懂的文章,每天在微博微信里刷到什么技术文章就 mark 下来,基本上几分钟就能读完。可一段时间下来,虽然读了不少东西,但是还是有种在原地打转的状态,并没有感受到有什么实际的提高。
最后实在忍不住,抱着厚书硬啃了一遍,突然有种豁然开朗的感觉:读书时自己学到的是一张完整的知识网络,每个知识点和其它内容相互联系和区别。这种全方位的理解比起一篇篇独立的文章,不知要高到哪里去了。
在重复了几次痛苦的学习-梳理过程后,再去看一些独立的文章或者资料往往会事半功倍,因为能在体系内找到相对应的知识,甚至有时候一本书里一页只需要看一句话,点破那层窗户纸,就可以掌握新的知识。所以我建议你看文章博客,不能只看一篇,通透的、连续的学习,效果才是最佳的。
有人调侃我们说:
- 程序员不如送外卖。送外卖是搬运食物,自己是搬运代码,都不产出新的东西……
- 透支体力,又消耗健康,可替代性极强,30岁之后就要面临被优化的危险……
- 想跳槽,但是更高的平台难进,同级别的平台又是重复……
- 想利用业余时间学习提升,但是自己能力有限,很难形成知识体系…
这些其实都是初级程序员面临的困境,当你提高自身能力,登上更高的层级之后,无论薪资还是发展都会有很大的提升**。**
那么问题来了,怎么才能度过初级程序员的瓶颈,进阶成为高薪工程师呢?
就拿 Java 工程师来说,如果你在小型企业或外包公司工作,你的技术栈会很有局限性。我遇到很多中小厂的程序员,面试大厂的时候,都会挂在同一个问题上,那就是 Netty,因为 Netty 的能力代表了你的技术水平。
比如几天前,一位做了4 年 Java 的老兄面试某大厂时就在 Netty 问题上踩了坑。因为从来没接触过,面试官问他 Netty 通信中的粘包、拆包。他只能一脸懵逼。没吃透 Netty 底层通讯原理,你就不能算的上 Java 老司机,是行业的共识,所以快学起来吧!
**然而在学习中苦于缺少参考资料、遇到问题缺少专家指点、看源码掉入细节耗费大量时间精力、缺乏指引的最佳实践。不过不要慌,这次特地整理分享这份Netty从基础到底层学习手册给有需要的朋友!
Netty基础到底层学习手册目录
1.夯实Netty 基础知识
在第一部分和二部分中,专栏首先介绍 Netty 的全貌,带你了解 Netty 的发展现状和技术架构。并且逐一讲解了 Netty 的核心组件原理和使用,以及网络通信必不可少的编解码技能,为后面的源码解析和实践环节打下基础。
2.实战开发经验
结合第一部分的理论知识,这部分使用Netty开发两个实际项目中可能会涉及到项目,分别是在线IM聊天和HTTP文件下载器。通过实战项目,讲解在实战中,对Netty的使用。并且通过实战,还会涉及诸如协议设计、数据存储、并发安全考量等等实战类知识。
3.Netty 进阶技能,源码分析
讲解 Netty 的内存管理,并通过 Nginx、Redis 两个著名的开源软件加以对比,达到举一反三的目的。同时结合高频的面试问题,通过多角度剖析 Netty 的核心源码,帮助你快速准确地理解 Netty 高性能的技术原理,对其中的设计思想能够学以致用。
Netty基础到底层学习手册内容展示
入门篇
实战篇
源码篇
总结
Netty 作为当前流行的 Java Nio 框架,已经成为在大型分布式系统中,用来达到高并发、高可用等性能要求的一种有效手段。但是想要了解内部原理又比较困难,主要是内部接口众多,包括各种抽象类,初学者如果直接看源码很容易晕。
上面这份Netty学习笔记能让有需要的朋友收获如下:
- 对Java中几种IO实现模式的了解
- 掌握使用Java NIO开发的能力
- 掌握使用Netty开发项目的能力
- 深入理解和掌握Netty的设计精髓,诸如并发安全保证,设计原理,重点算法等
- 从源码的深度掌握Netty重点设计背后的代码细节和思路
同时还配合上面的学习笔记手写了一份**Netty学习思路导图给有需要的小伙伴。