前言
这段时间比较闲,就看起了jdk源码。一般的一个高级开发工程师, 能阅读一些源码对自己的提升还是蛮大的。这里作个自己的小结。
为什么要读源码?
现在一个项目基本离不开jar包, 第三方api,我们可以反编译去看一些大神们的源码,当然源码的水平也是有好有坏。都有哪些好处呢?
1、了解思想
程序员大部分开发中都是些增删查改,过的的业务的逻辑。比如一个需求 我们用了几十行代码写了。 感觉没问题, 但是别人可能用几行就搞定了,要学习别人的思路。
2、熟悉设计模式
包括24种设计模式,Java对象的三大特征,好的代码中都有体现。
3、提高自己的代码优雅性
我们代码可能更多是业务的需求, 但是源码大部分都比较优雅, 比如jdk 源码,非常精简。要学习源码的代码写法。
4、知晓原理,提升面试能力
面试中经常闻到源码, 你是否读过源码,你觉得为什么这么写,举个例子, 之前面试碰到被别人问, jdk 7 和 jdk 8 的concurrentHashMap 的size()方法分别是怎么实现的, 这个集合经常被问到。
5、让自己变得有耐心
我们知道, 阅读别人的代码是非常痛苦的事 ,尤其是一些比较差 的代码, 可读性非常差, 当然 jdk 源码 也比较头痛。 举个例子, String ,这个 对象,它 的方法我们可能基本都用过了,但是它 的源码有多少人真正看完了呢?
我看了下, 它 的源码有2000多行,一开始看起来非常枯燥 ,阅读源码, 让自己静下心来,程序员本身就是一份安静的工作。
6、让自己变得有逼格
以前的一个资深开发每次跟我们聊天, 说那啥jdk源码都基本看过了,当然10个程序员有1个阅读源码就不错了, 至少值得尊敬。
7、提升自己代码严谨性
一个程序员,只要工作, 就离不开bug ,jdk 的源码大部分都是专家写的 ,代码严谨性非常强,我们看了代码, 改变自己平时错误的编码习惯, 包括最基本的判空啊。再比如, 一个类里面的常量到底是用private 修饰,还是protect修饰, 还是public修饰,
bug越多, 越让别人鄙视。