今天我们就来讲讲怎么看源码

码匠笔记 Java编程 2019-08-30

来自公众号:码匠笔记

这篇文章我们就来讲一讲为什么要看源码,怎么看源码

为什么看源码

面试

随便一个面试无论大小,是不是都会遇到给我讲一下 HashMap 、ArrayListConcurrentHashMap 的原理,那么如果你不自己看源码,而是随便从网上看看分析文章,很难体会到其中的奥妙。

设计

很多时候你在自己开发,可能会遇到一些设计问题,绞尽脑汁,也查阅了很多设计模式的入门文章,但是就是不知道怎么设计。那么这个时候你也应该多看看源码。 Spring 里面至少用了 9 种设计模式,那么你熟读了 Spring 的源码,遇到一些设计上面的问题自然可以照猫画虎,后之融会贯通。

掌握

突然有一天有人和你说,你做的 *** 功能出问题了,马上 Debug 一下,发现抛异常的全是代码库里面,一下就懵逼了。那么如果自己深入理解了框架的原理,源码自己了然于胸自然不会担心,分分钟定位问题。

怎么看源码

吹了半天牛逼了,你到底说说怎么看源码嘛?我来分享一下我个人看源码比较高效的一种方式,当然不一定是最佳的方式,如果你有更好的方式欢迎文末留言,一起学习。

知其然

首先当然是拿过来狂搞他的 API,你都不知道怎么用,用来干嘛的,看了源码也没啥用啊。所以第一步是通篇读他的官网[1],然后对着官网的例子把他的用法全部了解并实践。

渐入佳境

这时候 API 想必你已经了解了吧?那么还是看看他的 官网 有没有架构、组件、模块介绍的文章,对整个项目有一个概览,比如最近异常火爆的 Dubbo 他的官网如何设计,如何运作可是说的很清楚。

囫囵吞枣

这时候 API 和 架构你都了解了吧,然后找一个请求的入口 Debug 起飞。配合上一节说的官文,对照自己的 Debug 路线会清晰很多。

知其所以然

然后就可以根据每一个点都做 真人 Debug[2] 和 Debug,假以时日你变打通任督二脉。

封印

看到这里你已经身怀绝技,试问哪一个大侠的武学经典不都是装订成册,流传千古的?所以这时候你找一个本子,把自己的理解画一画,写一写。一定要抱着让别人能看懂的方向去书写,这样不仅可以流芳百世对自己也是另一种精进。

References

[1] 官网一定要看他的官网,其他博客和说明文档不全面或者不一定对,比如我上一篇文章MySQL的count性能比较,如果不自己看下源码真的被很多网上的帖子误导
[2] 真人 Debug很多时候都是先自己凭借感觉,跟着代码去埋点,然后再运行成功,这样看源码效果更佳



●编号1041,输入编号直达本文

●输入m获取文章目录

推荐↓↓↓
 

Web开发

    已同步到看一看

    发送中

    本站仅按申请收录文章,版权归原作者所有
    如若侵权,请联系本站删除
    觉得不错,分享给更多人看到
    Java编程 热门文章:

    女程序员做了个梦,众网友的神回复    阅读/点赞 : 15908/56

    工作前 VS 工作后的区别    阅读/点赞 : 13330/90

    当程序猿成立了Hello World共和国……    阅读/点赞 : 10685/64

    做一名程序员需要学哪些知识?    阅读/点赞 : 9315/66

    10个最“牛叉”的代码注释    阅读/点赞 : 8657/48

    为什么说编程是有史以来最好的工作    阅读/点赞 : 7543/53

    创业做一个App究竟要花多少钱?    阅读/点赞 : 6827/63