阅读JDK源码的经验分享

  • 理论先行。阅读某一个模块时,先搜索它的理论支撑,甚至可以先看别人的阅读经验,有了一个大致的了轮廓之后,自己再去实践。

  • 必须试用。面对一个新的类,最好是先搜索一下它的基本用法,写成一个小的示例,并从这个示例中用到的方法入手,去分析这个类。

  • 巧用调试。关于IDEA中debug的使用方式,超出了本文的讲述范围。值的注意的是,除了需要学习常用的运行时调试,还需要学习编译时调试,这个在阅读Java语言模型那块的代码时很有用。

  • 分清主次。类与类之间呈网状结构,在阅读某个类的时候,不可避免地需要先去阅读它引用的其他类。但是,如果它引用的类很复杂,则建议先放一放,做个标记,回头再读。不过,如果在阅读多个类时,其调用链最终都指向了同一个类,那么这个类就必须先拿下了。

  • 业务为先。如果一个类太过庞大,则先将其中的方法按功能归类,捋清大致的执行流程,接下来再逐个功能地去攻克。

  • 不求甚解。有些方法不需要搞清楚实现过程,只需要了解它的作用。比如一些特定领域的算法,对某些规则的解析等。

  • 以点带面。如果看懂了某一个方法,就要搜索该方法的所有应用之处,验证自己的想法是否正确,并在应用之处写下注释。哪怕理解的有误差也没事,回头有新的理解再批量修改。对于字段的阅读与理解,也建议采取此种方式。

相关推荐
LFly_ice1 小时前
学习React-10-useTransition
前端·学习·react.js
知识分享小能手1 小时前
React学习教程,从入门到精通,React 构造函数(Constructor)完整语法知识点与案例详解(16)
前端·javascript·学习·react.js·架构·前端框架·vue
chen(o561-6o623o7)1 小时前
AI人工智能高架十字迷宫AI人工智能高架十字迷宫视频分析系统
经验分享
淮北也生橘122 小时前
Linux的V4L2视频框架学习笔记
linux·笔记·学习·音视频·嵌入式linux
mysla2 小时前
嵌入式学习day46-硬件—汇编
汇编·学习
SunnyDays10113 小时前
Python 高效实现 Word 转 PDF:告别 Office 依赖
经验分享
qq_386322693 小时前
华为网路设备学习-33(BGP协议 八)BGP路由 选路规则
学习·华为
xy_recording3 小时前
学习番外:Docker和K8S理解
学习·docker·kubernetes
鱼嘻3 小时前
西嘎嘎学习 - C++ 继承 - Day 10
开发语言·c++·学习·算法
Hello_Embed4 小时前
STM32HAL 快速入门(二十四):I2C 编程(一)—— 从 OLED 显示初识 I2C 协议
c语言·stm32·单片机·嵌入式硬件·学习