编程指南-学习建议编程指南-学习建议
首页
学习方向
技术学习
🚀 编程指南
首页
学习方向
技术学习
🚀 编程指南
  • 一、学习方向

    • 经典问题

      • 如何选择学习方向和目标?
      • 数学和英语不好,可以学编程吗?
      • 学历不高,可以学编程吗?
      • 学历不高,能进大厂吗?
    • 就业方向

      • 如何理性看待"Java已死,前端已凉"?
      • 选Java还是Python?
      • 选Java还是C++?
      • 选Java还是Go?
      • 什么是全栈工程师?我要做全栈吗?
      • 如何选择编程语言?
    • 岗位介绍

      • 后端开发是干嘛的?
      • 大数据方向怎么样?
    • 发展方向

      • 是否要选择互联网行业?
      • 读研还是直接就业?
      • 大四,考研失败,后面应该怎么办?
      • 计算机专业分流怎么选?
      • 是否要进实验室做科研?
      • 选择基础架构还是业务开发?
      • 是否要转行/转专业/转语言?
      • 学网站开发还是打ACM?
      • 感觉进大厂机会渺茫,要考研续命吗?
      • 大学阶段,通过编程赚钱的一些经验
    • 程序员从入门到就业的完整过程
    • 学习方法

      • 如何快速学好一门新技术?
      • 如何高效看网课?
      • 心流,学习效率倍增的法宝!
      • 提高行动力的几个好方法
      • 使用 Typora + PicGo 提升百倍写作效率
      • 如何开发小程序?需要学习哪些知识?
      • 快速发现优秀开源项目的三板斧
      • GitHub这5个骚操作,99%的人不知道
      • 学编程,要做好学习计划,确认学习目标
      • 学习源码的建议
      • 如何规划自己的编程学习之路?
      • 怎么高效搜索资料?
      • 如何正确选择编程学习资源?
      • 如何高效找到优质编程项目?
      • 有哪些参与项目的好途径?
    • 刷算法的经验

      • 长安大学四年,编程学习之路
      • Java 入门 + 基础 + 进阶学习经验
      • 10个宝藏级编程资源
    • 学习建议

      • 对程序员的几点误解
      • 如何提升自己的代码质量?
      • 代码质量重要吗?
      • 学编程,千万别背代码!
      • 软著有用吗?
      • 学编程框架的建议
      • 报培训机构还是自学?
      • 常见的编程学习误区
      • 如何给自己制定学习目标和计划?
      • 如何应对焦虑、压力、不想学的情绪?
      • 如何正确且高效地提问?
      • 计算机方向各个专业差别?如何选择?
      • 初学编程,遇到很多问题怎么办?
      • 只跟着学校的进度学编程,毕业能找到工作吗?
      • 学了十几种编程语言后,我有哪些感悟?
      • 如何做好时间管理,如何保持自律?
      • Mac 和 Win,到底用哪个系统学编程?
      • 为什么我不建议大学生接公司单?
    • 后端建议

      • 后端开发,要学前端吗?
      • 后端,Linux 要学到什么程度?
    • 学习经历

      • 长安的考证经历(Java认证、软考等)
      • 大学学习经历,拿下大厂Offer
      • 大一鱼友,坚持对编程的热爱
      • 大一鱼友,寒假总结
      • 大一鱼友,小学开始接触学习编程

学习源码的建议

很多人说要看源码,但看起来又不知道从哪下手。分享一下我看源码的经验。

什么时候该看源码

不要一开始就看源码

你刚学Java,就去看Spring的源码,肯定看不懂,而且浪费时间。

先把框架用熟了,理解它的设计思想,再去看源码。

这些情况适合看源码:

  • 你用某个框架/库已经很熟练了,想深入理解
  • 你遇到了Bug,看文档解决不了,需要看源码排查
  • 面试要求你讲某个框架的原理
  • 你想学习优秀代码的写法

怎么看源码

1. 先了解整体架构

不要一上来就钻进细节。先看看项目的整体结构:

  • 有哪些模块?
  • 各个模块负责什么?
  • 模块之间怎么交互?

可以看官方文档的架构介绍,或者搜索"xxx源码分析"的文章。

2. 带着问题去看

漫无目的地看源码效率很低。

带着问题去看效果好很多。比如:

  • Spring的IoC容器是怎么工作的?
  • MyBatis是怎么把SQL结果映射成对象的?
  • HashMap的put方法具体做了什么?

有了问题,你就知道该看哪部分代码了。

3. Debug跟踪

把项目跑起来,打断点,一步一步跟着走。

这比光看代码有效多了。你能看到实际运行时数据是怎么流转的。

4. 画图

看源码的时候画画图:

  • 类之间的关系
  • 方法调用的流程
  • 数据的流转

画图能帮助你理清思路,也方便以后复习。

5. 做笔记

看完一部分,记下来:

  • 这部分代码做了什么
  • 关键的类和方法
  • 有什么设计上的亮点

不然过几天就忘了,白看。

推荐一些适合学习的源码

入门级:

  • JDK集合框架(ArrayList、HashMap):代码量不大,设计经典
  • Guava:Google出品的Java工具库,代码质量很高

进阶级:

  • Spring IoC:Spring的核心,理解了这个其他都好说
  • MyBatis:ORM框架,代码结构清晰
  • Netty:网络编程框架,想学网络编程必看

高级:

  • Spring MVC
  • Dubbo
  • RocketMQ

看源码的常见坑

1. 想一次看完

源码很多,想一次看完是不可能的。

每次看一小部分,搞懂一个问题就行。

2. 每个细节都想搞懂

有些细节不重要,不用死磕。

先把主干流程搞懂,细节以后用到再看。

3. 只看不写

看完源码,尝试自己实现一个简化版。

比如看完HashMap源码,自己写一个简单的HashMap。这样理解会更深刻。

最后

看源码不是必须的,但能让你从"会用"变成"精通"。

不用着急,等你用框架用熟了,再慢慢看源码。

上次更新: 2025/12/7 09:34
Prev
学编程,要做好学习计划,确认学习目标
Next
如何规划自己的编程学习之路?