2015-09-12总结与学习计划

最近闲来无事,瞄了瞄以前看不太懂的JDK源代码,居然看起来还比较轻松!着实让我惊了一下。由此看来自己的Java水平较以前有了比较大的进步(虽然还有非常多要学习的东西)。数了数,出来工作差不多快1年半了。相比在学校的那段学习时间而言,工作之后在技术上面的进步应该是非常大的,也见识了之前从来没有接触过的东西(譬如:Linux、Elasticsearch索引、netty、jboss、zookeeper、kafka等技术)。

现在突然想总结一下工作这一段时间的一些学习上的感悟,以及学习的方法,同时也借着这个机会规划一下接下来要学习计划。虽然个人的思想也发生了比较大的变化,但是思想上的东西有点太虚幻了,目前还没有能力把这些虚幻的东西转化为有型的文字,这一点希望在坚持写博客的过程中能一点一点地提高。下面是本篇文章的要点:

  1. 总结工作一年多来的感悟。
  2. 总结一下Java中(或与Java开发相关)的知识点,对接下来的学习做一个规划。

1. 一些感悟和总结

今天突然灵光一闪,脑子里面闪现出很多话,平时根本就不会发生这种事情。于是隐隐觉得这是要转变的节奏,吃完饭赶紧把它们给记下来,思如泉涌啊!!下面记录并扩展当时写下来的东西,免得过不久又忘了。PS:说到忘事这个事,真是觉得脑子远没有以前好使了,半小时之前发生的事情就有可能忘得一干二净。写一天的总结的时候,都不太记得当天都到底干了些什么,这是正常的么,还是我变蠢了?

1、学习要找“好”时间。

有时候看一些晦涩难懂的知识点的时候,真是脑子疼啊!越是强行想要去搞懂,越是搞不懂,越是脑子疼。看着一段段感觉如“天书”版的代码,心里是抵触的,但是有时候没有办法,又必须要看懂它,结果可想而知。这是时候最好是站起身来,看看远方,然后找一些当时感兴趣的事情干干,清醒过一阵后,必会是另一番风景!等到一个合适的时机,再看看当然看不懂和不想看的东西,很有可能思路一下就打开,轻轻松松!

我感觉一天之中总有一段时间脑子是处于半休眠的状态的,这时候如果还要强行干一些费脑的活,事倍而功半也。头脑懒惰的时候可以看一下笑话,看看别人吐吐槽,或者看下牛人们“吹吹牛”,也是一件很爽的事。当然了,作为拿老板工资的小弟,要是被老板或上司撞到在干与工作无关的事,十有八九是没有好果子吃的。我们可以换种思路嘛。要是我的话,就整整我的电脑桌面,浇一下花花草草,整整文件夹目录结构,又或者可以在原来不满意的注释上修修改改嘛。正确的时间干正确的事才是王道!

2、看不懂的知识一定要多看几遍,总有一遍会看懂的。

在以前没有明白这个道理的时候,遇到看不懂或者理解起来比较困难的知识点就直接放弃了,使得知识浮在表面上,一知半解。这种不好的思想和习惯,直接导致了毕业找工作的时候处处碰壁,对面试官提出的问题只能侃侃而谈,一旦深入一点就完全不知所措了。

在校的时候做过一些小小的web项目,仅限于简单的CRUD操作,对于web中的核心知识从来没想要去深入地了解一下(还是因为当初学习起来比较困难,遂放弃)。于是沾沾自喜,牛气哄哄地觉得自己很牛B了,一个校招就全露馅了!经过这次的挫折我深深地感觉到自己真的是差劲!当然,我没有也不该自卑,毕竟自己还是有点智商的。

貌似扯远了,回到点上来。像原来看JVM的时候不都敢去碰,因为看得云里雾里。通过不断去看,去想,自己对它的认识也在不断地加深,看起来也相对比较轻松了,知识结构比在校的时候要强了不少。看不懂的要挑个“好”时候慢慢地一遍一遍去看,总会看懂的!

3、温故而知新。

这一点看上去和上面那一点貌似重了,其实不然。这里的“故”我以前以为自己懂了的东西,而不是没看懂的东西。没事的时候把以前看过的觉得精彩的资料拿出来再看一下,总是会另有一番收获。

随着自己知识的增广和加深,越来越觉得所有的技术其实都是殊途同归,它们来自于同一套理论,应用于不同的场景。所以,不断地复习已经温习已有的知识,通常能对知识的理解更加深刻。科学方法无外乎归纳法和演绎法,学习知识应该要不断的归纳和总结,然后再演绎到另外陌生的知识或领域时候才能游刃有余。(说的会不会有点狗屁不通了。。)。

前人真的为我们留下了弥足珍贵的精神文化财产,值得我们去细细地学习和品味!子曰:温故而知新,可以为师矣。保留那些第一眼看过去就有价值的材料,没事的时候重新翻出来看,往往会有新的收获!

4、技术来源于生活。

一门技术的原理来源真实的生活场景。所以在学习知识的同时,头脑里最好有一个类似的生活场景,这样理解起来要快不少。如果写的代码跟生活逻辑相悖,代码肯定有问题。假定有一面墙,我们就不能赋予它“刷墙”这个动作,因为这不是墙能主动完成的动作,它应该是被“刷”这个动作的主体所依赖的对象。这个就是面向对象的思维吧(我的理解)。

5、学习知识的时候一定有动手做笔记。

笔记不用做得太细,简单地记记就好,并且使得自己短期内能够看懂就好,之后空闲的时候可以再去完善。同时一旦有灵感,一定要找东西第一时间记下来了,不然一会就忘了!!

6、图形胜于文字,能用图变现的东西的一定要画出来。

能用图表达的东西一定要画图,图形化的东西看起来比较轻松。图形的逻辑和表达能力比文字要高出不少。现在用的比较多的就是脑图和UML图(包括类图、序列和流程图)。

7、口说心想无凭,要记录成文。

也就是说一定要多写。脑子的容量是有限的,保存时间随着年龄的增长而变得越来越短。只有把知识点都记录下来,等得到要用的时候才能以最短的时间把它们重新拾起来。记录的方式有很多种,包括博客、云笔记等。

2. 接下来一段时间的规划

规划的时间不宜过长,也不能不切实际。计划永远赶不上变化,船短好调头。过长的计划往往会因为赶不上变化而没法实现,这会打击人的信心。也不能说我一下要从初级水平跃入高级水平,这也是不可能的。饭要一口一口吃,路要一步一步走,步子迈大了,咔,扯着了蛋!

下面定一个3个月的计划:

  1. 保证每周看一段JDK的源代码,并记录成文,发布到博客上。尽量选择那些常用的、独立成类的代码;
  2. 继续完善Elasticsearch系列文章,不必每周都写,但至少要2周发一篇。虽然写得不咋地,也没多少人看。但是没关系,说不定就能帮到别人呢!!
  3. 把《深入理解Java虚拟机 JVM高级特性与最佳实践》再啃一遍。

下图是现在与Java相关的知识体系,希望能把这个体系慢慢扩展和加深!!

知识体系

最近一次写这么多文字貌似还是写毕业论文的时候,写起来好费力啊!!希望能够通过写博客提高自己的文字能力,不久的将来能够直接说:So easy!!加油!!