技术学习方法论思考与总结

背景

  1. 总结学习技术的方法论,抛出来,既分享,又可以让大家评论,无论好与坏。
  2. 推荐阅读,通过对Netty的学习,总结学习技术方法论 学习一门新技术的套路
  3. 推荐阅读,通过剖析ThreadLocal,总结学习技术方法论 探索一个知识点的套路

过程

  • 可以拿来就用的实践套路 - 层次探索

    如何去探索一个知识点?层次探索。套路就是像ThreadLocal这样。基础知识及其应用、注意事项及其解决方案、工作过程、源码剖析、背后的设计意图。

  • 如何去学习技术? 注意力在成熟作品上

    在《我的精神家园》中,王小波说,直接研究经典的成熟的作品。直接研究Netty相关知识、研究juc相关知识。

    也就是花大量时间在事物上,而不是与事物相关的奇闻异事上。

    而什么是作品?ThreadLocal是一个作品、juc是一个作品、HashMap是一个作品、ArrayList是一个作品、ConcrrentHashMap是一个作品、Netty源码是一个作品、Redis源码是一个作品、Kafka是一个作品。

    在探索的过程中,java基础知识也有了,jvm相关基础知识也有了,并发编程相关知识也有了,好处非常多。因为这样的学习方式,是有一种场景在里面的或者说是一种具体的实践,学了后,是不会容易忘记。比起,单纯地研究知识要好很多。就跟做几个项目,就掌握了相关技能一个道理。

  • 读4本书,不如一本书读4次 是同类的书籍。

    我们真的很难克服贪婪的念头,总是想要更多,而最后反而什么都要不到。殊不知,吃透一本书,其实就会达到自己想要的级别。博览群书的前提是深入理解了其中一本,否则,是在做一件非常辛苦而没有太多收获的事情。就像锻造凡铁,只知道用力打,而不知道什么时间段用小力气,什么时间段用大力气。看那么多书,看那么多视频有什么意义?没有。之所以没有,是因为我们根本没有从根本上理解它。如果能够吃透,那么肯定是读越多书越好。

  • 想要快,想要捷近,最后可能得不到

    我们太想看一段教学视频,就可以把相应的知识吃透了。可是这是不可能的。看视频顶多也就是得到了信息,得到了知识。这些东西不是没有作用,而是知识没有在实践运用过,自己是无法理解的。

    我们太想从别人那里得到答案。而忘记了,最好的学习方法是自己思考。虽然,站在巨人的肩上,确实可以少走很多弯路,但是,自己该走的弯路,一个都不能少的。“他山之石可以攻玉”是讲学习别人的优点,修正自己的缺点,而不是别的石头直接帮助我达到最后的结果。

  • 无心插柳柳成荫

    很多东西的结果,都是自然而然的。是自己通过踏实和付出,一点儿一点儿累积起来的。比如想要读懂ThreadLocal源码的每个步骤,应该是先掌握里面设计的一些核心知识点。比如类图关系实例结构布局运行时数据结构布局散列算法环形数组、线性探测法解决hash冲突对象的弱引用的特性多个ThreadLocal的时候发生了什么等等。把这些小知识吃透了,掌握了,看见源码就不再问为什么,就算明白了。如果是对技术有高级的追求,那么思考作者为什么这样设计,这样设计带来的优点和缺点是什么,那么以后分析什么问题,都可以按照这个套路去分析。那么读懂ThreadLocal源码,就是一件自然而然的事情了。按照这个套路去分析,不是说,非常严格教条去严格执行,而是根据具体情况去灵动变通。任何东西脱离了场景(上下文)讨论,都是耍流氓。

    我的目的是掌握源码每个细节,但是我可以忘记这个目的。

  • 得到渔就万事大吉了吗?

    看了这些,只是知道,别人的学习方法。我们能够得到的同时也得到了。但是不能说得到了渔,就得到了很一切吧。因为,需要自己把渔进行练习,验证,更新,分析,思考,总结;再练习,验证,更新,分析,思考,总结。如此反复,直到拥有属于自己的渔,而这个渔也在一直更新,一直精进。

  • 老师 - 什么是老师?

    老师给的是知识,给的是渔(当然是比较好的老师了)。自己能够学到多少,领悟到多少,完全靠自己的努力和悟性的。

    很多会告诉我们,明明有人懂了,然后告诉你,你获取到了,就不用花更多时间了去探索学习了,这是一件多么值得的事情啊。

    我觉得这是一个骗局呀。

    因为,他自己花了大量的时间,阅读很多经典的书籍,反复阅读,咀嚼,分析,思考,总结。最后,终于顿悟了,懂了,然后告诉你。

    我们认真听了,以为自己也听懂了。开心地,就这样日复一复。可是,我们失去了探索的乐趣,分析的乐趣,思考的乐趣,以及找到答案的狂喜。这么多的知识,如此枯燥,为什么快乐不是自己的,而是别人的?

  • 事物都是发展变化更新的 动态观点看待一切

    先,学习jvm、设计模式。我们只能照做分析、照着做。(旧的)

    然后,我们完全融入自己的思考,自己的理解。(去更新它)

    最后,利用已有的技术思想和原理和自己的思考、理解,灵动地构建一个工具出来。(做一点儿优化)

  • 最重要的是思考

    最好的学习方法,是什么?是思考。就是当下这个环境,这个件事情,这个技术点,我分析出来,思考出来,它究竟是怎样的?可能自己的经验不足,分析出来的不好,甚至是错误的,都是没有任何关系的,他就是自己动脑子分析出来的。这才是最好的东西。而不是那些所谓的权威,所谓的方法论。权威是自己,方法论也是自己。自己才是一切。

    自己找资料、分析、思考、写总结,这才是自己的东西。

小结

  1. 大量的事实告诉我们,什么是有意义的?行成于思,是思考,而不是不假思索地蛮干。
  2. 但是,也可以回过头来说,干多了,感悟就多了,很多东西就自然而然地形成了。
  3. 是思考后在干,还是我干多了,得到感悟呢?这是一个问题。那就看思考什么了,干的是什么,以及怎么干了。所以说,即使是一件小事,都会花费大量的时间
  4. 学习方法论?没有。哪有那么多方法论,就是最简单的,动脑子想就可以了。

你可能感兴趣的:(实践经验总结)