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

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

为什么看源码

面试

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

设计

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

掌握

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

怎么看源码

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

知其然

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

渐入佳境

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

囫囵吞枣

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

知其所以然

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

封印

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

References

[1] 官网: 一定要看他的官网,其他博客和说明文档不全面或者不一定对,比如我上一篇文章MySQL的count性能比较,如果不自己看下源码真的被很多网上的帖子误导

[2] 真人 Debug: 很多时候都是先自己凭借感觉,跟着代码去埋点,然后再运行成功,这样看源码效果更佳

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值