十步学习法
此学习法来自书籍:《软技能:代码之外的生存指南》 本文章在此学习法的基础上,加入了我对其一些的理解与具体实践
1、 了解全局-—————————了解一项技术的大概
2、 确定范围-—————————确定自己需要掌握的知识范围
3、 定义目标-—————————明确自己需要学到什么程度?(了解、熟悉、精通)
4、 寻找资源-—————————各种专业书籍、各大技术论坛、慕课学习网
5、 创建学习计划-———————制定一个学习计划,不要太多,但是要按时完成
6、 筛选资源-—————————筛选一部分出来
7、 开始学习、浅藏辄止-————先学一部分
8、 开始操作-—————————实践操作
9、 全面掌握学以致用-—————能够熟练运用
10. 乐为人师融会贯通-—————用自己的话整理出博客或清楚地讲述给他人
1. 了解全局
这边以学习
JVM
Java虚拟机为例
了解能做什么,为什么要学?
- 面试必备
- 能更加深入理解Java
- 能够更好了解操作系统与计算机底层原理
- 当遇到一些棘手的问题,能够利用JVM知识来解决
- OOM内存溢出问题
- 程序运行速度缓慢、卡顿
- 预见程序未来会发生的问题
2. 确定范围
JVM涉及范围很广阔,我们不能都对其中每一个细节都了如指掌,对于一些对自己不那么重要的就可以略过。 例如:
1、 你需要在你的项目里,自定义一个类加载器去加载自定义的类,那么就着重去学习类加载子系统这一块的内容。
2、 你想大概了解一下JVM,那么就学习一下JVM的基本的脉络体系,初步地了解JVM各个模块是怎么运作的,内存模型分布,基本的垃圾回收算法是什么样的。 ……
3. 定义目标
定义你所需要掌握知识的程度,如果是需要将所学知识马上应用到实际工作中,那就需要达到熟悉的程度;若是需要将其作为自己的一项深入研究的技能,那毫无疑问付出的精力也需要更多。
4. 寻找资源
书籍
- 《深入理解JVM》
- 《揭秘Java虚拟机:JVM设计原理与实现》
- 《实战Java虚拟机:JVM故障诊断与性能优化》
- 《HotSpot实战》
- 《垃圾回收的算法与实现》 ……
技术论坛、博客网站
- GitHub
- CSDN
- 掘金 ……
视频教程网站
- Coursera
- 中国大学MOOC
- 幕课网
- Bilibili(众所周知,B站是中国最大的学习网站) ……
5. 制定一个学习计划
以自己的实际情况为自己制定一个确实可行的学习计划,然后须监督自己按照计划进行
6. 筛选资源
选择其中的一部分内容进行学习
- 第一,他们很多都是重复的;
- 第二,经常切换资源进行学习,可能会因为资料的进度与讲解方式不同而导致效率降低
以上六个步骤都是在学习一门技能时,只进行一次的; 以下四个步骤是需要多次反复进行。
7. 开始学习、浅尝辄止
学习一部分内容之后,就可以先停下来回顾一下,而不要着急去继续学习新的知识,可能会导致最后什么都忘光了。
8. 开始操作
开始做一些小练习,搭建一些小Demo,去初步地运用该知识。
9. 全面掌握学以致用
将这一小阶段所学的知识,结合实际情况,加以运用一下,能够使得对该知识的理解更加深刻一些。
10. 乐为人师融会贯通
这一步是费曼学习法的运用;做为一名老师,将知识用自己的语言表达出来,看是否能够表达清晰完整,可能在这一阶段,会发现有一些东西自己也没有掌握好,就回头补充学习一下,==这样不仅能加深自己对知识的记忆,也能够给自己查缺补漏==。
具体做法:
- 写博客:这是我最常用的方法,将阶段性的知识点,用自己的语言,以写作的方式记录下来
- 让别人提问题
- 找一个“人”将这些知识讲给他听,当然不一定是真人,因为没有几个人愿意听你说这些“枯燥无味”的知识,也可以用录视频的方式来进行