roboslyq的技术专栏 JavaEE Coder,micro service

如何形成自己的知识体系(草稿)

2019-03-20
roboslyq


如何形成自己的知识体系

本人普通Java程序员一枚,因此以下话语大多站在Java技术角度。

为什么学不好记不牢

很多人可能都会有这么一种感觉:自己看了很多书学习了很多知识,感觉自己好像什么都知道。但一旦向别人解释某一项技术时,自己又感觉不知从何说起,很有可能只是憋出简单的几句话来解释这项技术,但完全GET不技术的关键点。这是为何?

个人觉得学习技术关键点有以下几个:

  1. 知识学习的时候没有深入了解技术的本质和背后的原因,只是泛泛的了解一些基本概念。
  2. 知识没有实时的进行归纳和总结,处于一个零散状态。这时知识的状态就好比奶酪,看着是一块,实则千疮百孔满目疮痍。
  3. 对知识只是死亡硬背,没有达到融汇贯通举一反三的效果。其实所有的技术底层原理都是相通的,可以灵活运用所学的原理达到触类旁通的效果。
  4. 如果把技术知识比喻成一座金字塔,那么基础原理就是这座金字塔的塔基。没有一个好的塔基,再花哨的塔顶(RPC,分布式,微服务,容器等)都是不稳的。正所谓基础不牢地动山摇。

怎么学

一、空中鸟瞰,尽收眼底

我们学习一门技术时,不应该立马就扎进技术的细节里。比如阅读源码呀,这门技术某某组件怎么用呀或者是有哪些接口等等细节。而应该是跳出这门技术的细节,站在一个高度,俯视这门技术从而得到这门技术的全景图。

这个全景图可以从以下几步来描述:

  • 是什么

    是什么,帮你快速了解这门技术有什么能力,你能用它做什么事情。

  • 为什么

    为什么,帮你快速定位这么技术产生背景(解决了什么问题),发展历史(演化完善)是怎么样的,为什么历史是这样的。

  • 怎么用

    怎么用,经典的"hello,world"让你对一门技术有着最简单清晰的认识,也是最直接的认识。所以不管什么技术,先搭起HelloWorld环境总是没有错。

  • 全景视图

    这是我们对于这门技术的核心模块的拆分进而得到的知识主干视图。我们可以借助思维导图等工具来描述这个全景视图,将一门技术的核心要点梳理成一棵知识树。只不过此时的知识书只有主干,没有细节,没有开支散叶。

### 二、只见树木,不见森林

这是第二个学习阶段。有了第一个阶段产出的“全景视图”,我们就不会盲目的去学习这一门技术。而是根据全景视图有步骤有重点的一步步去深入的学习,了解具体的实现技术细节,背后的设计意图等细节问题。并且不断完善全景视图,使其更准确更丰满。

此时还可以将当前技术与其它技术进行横向比较,总结归纳其优缺点和使用场景。

### 三、总结,形成知识体系

在第二步的基础上,最终得到一棵十分完整的丰满的知识体系树。我们可以使用这颗将所有的技术关联起来。进而我们向别人描述这项技术时,也可以按照这棵树从主干到分支,再到具体的细节进行深刻的描述。

我们借助于这个知识树,进行知识回顾总结。。

TODO….


  • 跳出来,看全景
  • 走进去,看本质

  • 理论方法论十分重要,所以的技术背后都有一个个很深的套路。比如Doug Lea大神的JUC,背后就有很深的套路。技术的本质是背后的理论模型。

  • 知识是由点到线,由线到面
    • 在点之前,可以有一个比较的粗的线或者面,然后有规律的积累点。此处的点和线可以比较粗,可以是拿来主义,但自己要消化
  • 知识最终形成面时,要自己进行相应的抽象和总结,形成自己的知识面而不是别人的知识面。是真的懂了,有自己的理论依据知其然知其所以然而不只是知其然。
  • 感觉确实如老师所说的,知识不成体系,就像是奶酪,看着是一块,实则满眼孔洞,加油!
  • 全局思维加单点突破
  • 这样一路探索下来,我发现 Java 语言里的并发技术基本都是有理论基础的,并且这些理论在其他编程语言里也有类似的实现。所以我认为,技术的本质是背后的理论模型”,学习一个语言更重要的是理解其内在的“神”而不是外在的“行”,这样才能事半功倍,通吃各种技术门派和各种编程语言。
  • 之前听过吴军老师的课程,讲到民间科学家为何难以作出成绩,是因为基线不高。老师在课中有讲到我们可以通过学习优秀前辈研究和成果去学习并发编程。非常同意两位老师的观点。 跳出来看全景,钻进去看本质。这个观点很新颖我也非常认同,在日常的碎片化学习往往会让我们这学一点那些一点,感觉好像学了很多,但又感觉不知道学习什么。 在学习前制定一张学习地图,就像一棵树先有树干再有树枝,会成长的枝繁叶茂的。 平时遇到一个新的知识,我们可能一开始只知道怎么用,没有去探究它的本质,可能导致最终我们只会基础的使用而没有办法举一反三,下次遇到了还是新问题。 这是第一次在极客时间购买课程,希望自己能跟上每一堂课,和大家一起成长。
  • 形成知识体系,把握背后理论本质,才可做到举一反三,融会贯通
  • 作者回复: 《Java并发编程实战》作者阵容可谓大师云集,也包括Doug Lea 《Java并发编程的艺术》讲解并发包内部实现原理,能读明白,内功大增 《图解Java多线程设计模式》并发编程设计模式方面的经典书籍 《操作系统:精髓与设计原理》经典操作系统教材 http://ifeve.com 国内专业并发编程网站 http://www.cs.umd.edu/~pugh/java/memoryModel/ 很多并发编程的早期资料都在这里

img


Comments

Content