面试官系统精讲Java源码及大厂真题 - 48 一起看过的 Java 源码和面试真题

48 一起看过的 Java 源码和面试真题

 

面试官系统精讲Java源码及大厂真题 - 48 一起看过的 Java 源码和面试真题_第1张图片

 

不为了源码而读源码,只为了更好的实践

持续几个月,我们的专栏终于结束了,这篇总结篇,我们又想回到当初写这篇专栏的初心:我们不为读源码而读源码,只是为了更好的实践。

我刚工作的时候,就有一些大佬推荐我来阅读 Java 源码,那时候的我懵懵懂懂,只觉得大佬说的是对的,于是就去读,当时的目的很简单,主要是两个:一个是应付面试,一个是想让自己更强。

当时边工作边读源码,一开始真心是一点都看不懂,逻辑都看得很迷糊,更不用说去探究作者为什么这么写,用到哪些设计模式了,但也不知道为什么,还是咬牙把源码都读完了。

读完之后,还是比较骄傲的,虽然说读完之后,很多细节都不记得了,但不知道为啥,总是有股莫名的自信,原来自己已经是读过源码的人了,而且在平时的工作中,用到一些 API 时,脑海中突然就会蹦出一些火花来:比如说初始化 List、Map 时如何初始化其大小;比如说如何根据场景来设置线程池;比如说如何根据业务写出优雅的锁,这时候就会自我感觉代码写的好,其实我一直有个理念:只有紧密贴合业务,能帮助解决业务复杂度的代码才是好代码,读了第一遍 Java 源码之后,突然就有了这种感觉,对自己写的代码也越来越有自信了。

随着工作年龄的增加,又陆续读过几次 Java 源码,现在除了对自己写代码的自信,还多了一种帮助别人的自信,在同事遇到困难,或者 代码 review 时,一些漏洞,你很容易就看出来,不知不觉你就会成为团队中的技术专家。

所以我们才一直强调,我们读源码真心是为了更好的实践,这种好处当你认真读完源码之后,慢慢就会感受到了。

 

同学们的问题

在这几个月内,我收到很多问题,但比较频繁的是两类问题,第一类问题主要是说自己看不懂源码,问我怎么办?这个问题其实我也没有答案,Java 源码本身就很枯燥,它并不是电视剧,也不是小说,它是需要我们静下心来,一行一行琢磨思考的东西,同学们都很聪明,不是看不懂,只是不想静下心来罢了。当然当代码太复杂时,我们只看也是不行的,需要亲自动手 debug。

第二类问题主要是作者为什么这么写?这个问题其实也很难回答,但问这些问题的同学,我基本都一一作答了,在和这些同学交流的过程中,发现一小部分同学的确对源码很有研究,我也受益匪浅,但大部分同学其实并没有搞懂源码本身的逻辑,试想如果在没有搞懂源码本身的逻辑下,又如何去猜测并理解原作者用代码的本意呢?恐怕很难,所以还是建议大家先把源码本身逻辑弄懂后,再去推测本意和设计模型,不然这又会成为你阅读源码的阻碍(话虽然难听,但是真心的建议)。

你可能感兴趣的:(面试官系统精讲Java源码及大厂真题 - 48 一起看过的 Java 源码和面试真题)