学习方法论

stateDiagram-v2
  利用人性 --> 克服人性
  克服人性 --> 达成目标
  达成目标 --> 利用人性

主要途径

文档/书籍

202002210931

越往底层信息密度越大,准确性越高,参考价值越大

视频

视频对初学者来说帮助挺大的。

但到了一些阶段,视频讲解速度对于有基础的人来说过慢,而且进阶的免费视频也较少

到这个时候,看视频就不能再只关注视频本身的知识点,而是多关注诸如作者的编码,作者的思想等内容

源码

以思考为主,从设计者的角度来读源码

目的

读源码之前要确定目的,不然就是走马观花,没有收获

思路

技巧

调试

通过IDE的调试功能能清除地看到代码运行轨迹,从而更清楚地观察到整个代码

基本方法

常见调试功能按钮

1 表示 Step Over 即跳过,执行到下一行;

2 表示 Step Into 即步入,可以进入自定义的函数;

3 表示 Force Step Into 即强制进入,可以进入到任何方法(包括第三方库或 JDK 源码);

4 表示 Step Out 即跳出,如果当前调试的方法没问题,可以使用此功能跳出当前函数;

5 表示 Drop frame 即移除帧,相当于回退到上一级;

6 表示 Run to Cursor 即执行到鼠标所在的代码行数。

高级技巧

202002211026

202002211028

202002211037

202002211039

功能很强大,比如可以对集合添加数据

202002211040

202002211314

设置自定义异常断点

202002211315

被调试代码添加启动参数

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

-Xdebug

IDEA配置远程主机信息

批注 2020-02-21 131710

专栏

专栏相对于博客公众号的好处在于知识的系统性较强

公众号/博客

选择公众号或者博客需要注意甄别,抱着怀疑的态度

思维导图

通过思维导图,可以整理需求,梳理所学知识并构建知识体系

方法

推演验证

根据文档、使用体验来反推实现方式,然后与实际实现作对比

费曼学习法

PDAC循环

202002210945

很多人学习时更喜欢 “做更多试卷” 给自己带来的虚假成就感,而不是珍惜错题给自己带来的价值