当前位置:首页 > IT技术

源码阅读技巧篇

时间:2019-06-18 07:42:07来源:IT技术作者:seo实验室小编阅读:82次「手机版」
 

阅读技巧

转载请注明原创出处,谢谢!

说在前面

本人水平有限,下面的一些都是本人的思考与理解,如果有那里不对,希望各位大佬积极指出,欢迎在留言区进行评论交流、探讨。

主题

  • 为什么要读源码
  • 什么样的源码
  • 有什么技巧
  • 思考、交流
  • 坚持

为什么要源码

说到读源码,让我想起来了读书,古语有云:“读破万卷书,下笔如有神”。

  • 多读读大师的想法技巧
  • 通过大量阅读进行积累
  • 把一些零碎的知识点整合起来

就拿rocketmq来说,它是如何实现高性能、高可用。之前写过高可用的一些思考和理解里面的特性他应该都满足,RocketMQ就是把这些很多零散的知识点整合运用之后写出的非常牛逼的项目

读什么样的源码

依旧拿读书来说,我们应该读什么书呢? 读名著,读大师的书。那么读源码在我看来是一样的,尽量进行选择,如果不选择有时候还会浪费时间等。只要是优秀的从那个开始无所谓。

有什么技巧

个人常用的有如下,欢迎留言区补充。

  • 先让项目可以跑起来(很重要的一点
  • debug
  • 打印日志以及修改log4j日志级别
  • 查看调用栈
  • 全文搜索
  • 大胆猜测再验证

在多线程以及网络方面阅读调试应该是最难的(关于多线程我的史上最难的一道java面试题 (分析篇)这篇文章最后也提到了一些小技巧),通常断点有时候不好使,所以通过打印日志,搜索等比较方便,有些由于为了代码的灵活性,高度抽象很不好找,通过日志里面的一些关键词搜索,在加猜测,对不对可以加注释(可能就不执行了那么表示是对的),可以加日志等进行验证。

备注:欢迎关注我的公众号【匠心零度】,后续源码类分析的时候会运用上述技巧进行说明等。

思考、交流

  • 多思考是很有必要的,这样理解大师的代码也好理解,并且我们不仅仅是看,可能以后在自己的项目中就会用这种思想这种技巧,所以需要多思考。
  • 多与一些大佬交流,我学习jvm就是遇到问题大佬们帮助我解决、交流学习的,所以交流也是重要途径。

阿里RocketMQ的时候,发现开源的不支持消息轨迹查询,也是由于之前看过了解过,经过自己的思考,感觉如果需要加上应该不难(前提是需要把RocketMQ源码整体看懂,可以在指定地方加埋点),其实apm产品已经很多了,比如鹰眼、CAT、pinpoint等,其实他们都是基于Google DAPPer思想。

RocketMQ的messageID就是一个特别好的东西,用于将调用链的各个调用重新关联起来。之后在结合Hbase的rowkey特性直接一拉整个调用链就都出来了,如果在好点,可以根据消息内容、时间各各条件通过es或者solr查询得到MessageID,之后在通过Hbase把整个拉出来即可。

所以看出来了吧,如果RocketMQ源码读的差不多,想加进来很容易啊,所以重要吧!!!

坚持

上面的都是次要的,这条是最重要的:坚持,滴水穿石、持之以恒,可能在短期看不出来效果,因为需要一个量变到质变以及破茧成蝶的过程。

如果读完觉得有收获的话,欢迎点赞加关注。


个人公众号,欢迎关注,查阅更多精彩历史!!!

匠心零度公众号

相关阅读

足球过人 技巧

远距离:观察别人的动作,再选择动作。 近距离:先做短反应,再看别人反应,然后度量之间的差异,再作反应。最后还是因人制宜

产品经理面试技巧和注意事项?

面试技巧应届生面试的时间一般不会超过一小时,往往面试的时间长短和结果的好坏呈正相关,即面试时间越长,往往表示结果愈好。好了,进入

记者招聘面试常被问到的几个问题回答技巧

面试的时候他最注重的就是工作经验,如果你有相关行业的工作经验或者实习经验比较好。那就可以就相关的方面去谈,越详细越好。如果你

“炫富”照刷屏:娱乐化中有哪些营销技巧呢?

营销人员应多思考一些刷屏案例、刷屏事件,思考引爆的过程与逻辑。enjoy~最近INS上一位俄罗斯名模发起了一项名为“Falling stars”

Eclipse的Debug调试技巧大全

一、Debug视图调试中最常用的窗口是: 窗口 说明 Debug窗口 主要显示当前线程方法调用栈, 以及代码行数(有调试信息的代码) 断

分享到:

栏目导航

推荐阅读

热门阅读