前言

系统化学习是人生的主路线,无论是学习Web,还是做大数据开发,还是搞机器学习和人工智能,离开系统化学习将会事倍功半。另外,系统化学习推而广之是系统化思维,除了应用于学习和工作,在创业、在决策等生活实践中依然起到很大的作用。

第一节:仅仅解决工作中的问题,这种成长不叫成长

在我看来,仅仅解决工作中的问题,这种成长不叫成长,只有系统化的学习知识,由量变到质变,才是真正的成长。

在工作中,很多情况下,我们碰到的问题都是工程类型的问题,例如:软件版本兼容问题,类库引用问题,配置参数问题。这种工程类的问题占据了我们大量的时间,虽然此类问题看似紧急,但是并不重要,对知识的积累往往不会产生多大的价值,试问哪个面试官会考察软件的安装,调试,升级呢?

很多人工作了五年、十年,过得很充实,一直待在原地不敢换工作,因为他心里清楚,自身的知识体系其实还是很不完善、很欠缺的。

很多人工作了五年、十年,也是加班,也很努力,但是职业之路是越走越窄,因为工作就是工作,学习就是学习,这是两码事。老板追求的商业利润的最大化,不是花钱来让你进修提升自我技术的。

解决工作中的问题,可以促进成长,但是不能本末倒置,真正的成长只能依靠系统化的学习。

系统化学习简单的来说,就是看书并多看书。看书和多看书,这就是一个事务,缺一不可。

第二节:应急式的学习,学的越多越焦虑,需要系统化深入的学习

上节提到了:仅仅解决工作中的问题,这种成长不叫成长,只有系统化的学习知识,才是真正的成长。人们开始转头搞系统化学习了,但是很多学习都是应急式。

工作中需要学习大量的新东西以完成任务,这些学习都是应急性质的,学完即用。其实,这种应急的学习方式,往往属于自顶向下的,学的越多,反而越零碎,内心越焦虑。


1.png

2.png


软件开发分为:自顶向下和自底向上,学习亦是类似。自顶而下来看,要学的东西太多了:Java基础,虚拟机JVM,微服务,数据库,缓存,算法,数据结构…,这么多的东西都需要学习,能不焦虑吗?这时候需要换一下思维方式:切入一点,深入进去,自底向上,以点带面。

以我的学习经验来说,例如以SQL的学习切入,向上可以延伸到MyBatis内容,向下可以挖掘到数据结构知识(索引,二分法,红黑树,B树,B+树),向右可以延伸到Spring内容(Spring的核心在于IOC,而其事务部分源自于数据库的事务),向左可以延伸到多线程与并发内容(表锁,行锁,事务的隔离,悲观锁,乐观锁,索引的建立和优化)。如此以来,将多个领域的知识用一根主线串联,犹如多个科目汇总成一个科目,那需要学习的东西还很多吗?


3.png

很多人没有用动态和发展的眼光看问题,他只看到了简单,不屑于去学习,没有深入进去,没有以点带面,不能领略到以小见大的情景。

说到本节,系统化学习已经包括了两点:
(1)看书并多看书。看书和多看书,这就是一个事务,缺一不可。
(2)用动态和发展的眼光看问题,不要只看到了简单,而不屑于去学习,要深入进去,做到以点带面,领略以小见大。

第三节:看源码,只是断章取义,本末倒置,不是系统化学习之道

阅读源码,本身没有问题,但是你要明白,自己到底走到那步了,框架都没有搞清楚怎么用,就开始读源码,这违背系统化学习的道理。系统化学习倡导的学习过程是:

第一步:好好的阅读框架的使用文档
第二步:结合文档,系统化、全面化的把框架的用法操练一边
第三步:有时间,有余力,有兴趣的话,再看看其源码的底层实现

某些机构把读源码当做噱头,那是处于商业目的来的,但是并不代表,读源码就是最正确的学习方法,甚至还是一种误导。


4.png

田忌赛马的道理,大家应该都知道吧,所以:一定要注意做事的顺序。请记住,做事情的顺序非常重要,不要随意的颠倒次序。

小结

我觉得,那把这三节的内容看懂,运用到学习和工作中,系统化学习就算是掌握了。

世界不是均匀分布的,从人生哲理的角度来看,有众人常说的二八定理,从客观科学角度来说,有被称为高斯最大贡献的正态分布。把这三节内容掌握了,那么系统化学习的大部分内涵就能学到家了。

我是MyBatis中文官网站长,我对以上内容负责。

[2024年]-[红黑树技术联盟介绍]-[成员故事]


[2024年]-[JavaOffer]-[训练营]


添加新评论