2019年学习计划

2019年学习计划

写在前面:

经过制定2018年下半年学习计划,以及实践的这一过程,对于学习计划有了自己的更进一步的理解,这篇2019年学习计划将比2018年学习计划更加成熟更加脚踏实地。

每个时期的学习目标

虽然是2019年的学习计划,但是是从2月份开始的,因为我刚好是从去年新年的时候正式踏入编程之路,所以将新年作为每一年的起始点。

  • 2月份
    • 将剩下的《SpringCloud微服务实战》一书读完,并从头回顾此书内容,自己构建一个完善的微服务体系,从实践中巩固知识。
  • 3-5月份
    • 到3月份,我一直期待的MercyBlitz小马哥的一本书《SpringBoot编程思想》应该已经发布了,听说有800页?我将在未来3个月内计划如下:
      1. 花1-2个月时间通读一遍《SpringBoot编程思想》。
      2. 剩下一个月首先写一个SpringBoot系列的博文,巩固知识点。
      3. 此时对SpringBoot有一定了理解了,相信对前面学过的SpringCloud也能有相应的理解,此时最适合写一个SpringCloud系列的博文。
  • 6-10月份
    • 这个时期注重于分布式架构的研究,主要学习一些分布式中间件或是框架的使用,例如zookeeper、dubbo、分布式事务、MQ、Netty、Redis、Nginx、MongoDB、Docker、分库分表。其中会针对一些知识点写博文来巩固知识点,但不知道时间允不允许我全部都写一遍过去。
  • 11-12月份
    • 这个时期我希望能回头巩固一些Java基础,首先先回头回顾《Java编程思想》,争取再回顾一遍,然后拜读《码出高效:Java开发手册》一书,根据时间,选择性阅读《Effective Java》、《重构 改善既有代码的设计》。

循序渐进的学习计划

如果有看过之前我写的2018年下半年学习计划的读者,可以发现本篇的学习计划更加结构化、体系化、层次化。在以前的学习计划中,我注重于每个月完成一个小目标,例如一个月学完Redis中间件的使用,下个月学习JVM,再下个月学习并发编程,我认为这是不现实且不好的学习计划,学习应该循序渐进,就像本篇的计划一样,由于我在2018年学习了一段时间的Spring,所以首月我就开始学习SpringCloud了(当然,此时我有SpringBoot的基础,但不系统),然后就是系统学习SpringBoot,这其中都是有关联的,在这一整个时期将关于Spring的一起系统的学习,而不是这一点那一点,而且学习是要有层次性的,学习SpringCloud需要前置学习SpringBoot,学习SpringBoot需要前置学习Spring,这一循序渐进且集中系统的学习计划才是可取的。

在系统学习完Spring体系之后,由于接触了SpringCloud,接触到许多分布式系统架构的思想,我将继续研究分布式系统架构,这时候才能开始学习中间件的使用,并付诸于分布式实践中去,此时也有许多框架的学习,由于前置阅读了Spring源码,所以这里阅读源码将更得心应手。

在学习完分布式架构的一系列知识之后,此时Java语言一定有了一定的基础,此时再回头巩固语言基础,我相信是一个较好的过程,在后面的时间里,如果时间富裕,我希望继续再研究并发编程、深入理解JVM,这就是一个好的循序渐进的学习计划。

如何学习

王阳明:知而不行,是为不知,行而不知,可以至知

我特别喜欢这句话,体现了王阳明的著名思想“知行合一”说:“知是行的主意,行是知的工夫。知是行之始,行是知之成”。其实大意不离于“行”字,只有真正实践了,才是你的知识,只有实践你才会有自己的理解。所以,好的学习过程不仅要知道理论知识,还要付诸行动。其中的方式有很多,首先理论知识可以从视频入门,书籍博客文章深入。行动可以从写博文、写代码等等进行。其中“行”是最重要的。

总结知识点

  1. SpringBoot
  2. SpringCloud
  3. 中间件
    • zookeeper
    • MQ
    • Redis、MongoDB
    • Nginx
    • Docker
  4. 分布式治理框架(dubbo)
  5. NIO框架(Netty)
  6. 分布式架构技术(分布式事务、分库分表)
  7. Java基础再度巩固

以上关于分布式架构方面的一些知识点不确定够不够时间学完,但还是一样的观点,先列出目标,付诸行动就完事了。后续有时间再浅要了解一点并发、JVM相关知识,预计是放到2020年的计划中去。

相关书籍

  1. 《SpringBoot编程思想》
  2. 《SpringCloud微服务实战》
  3. 《Java编程思想》
  4. 《码出高效:java开发手册》
  5. 选择性阅读:《Effective Java》、《重构 改善既有代码的设计》

如果有好的中间件或是分布式的书籍后续会补上。

给JAVA初学者的一些建议

有时候会有人问我,有什么比较好的资料学习Java?学习Java的资料说实话网上真是一堆一堆的,我认为最重要的是兴趣和热爱,它可以将被动学习转换成主动学习,这比再好的学习资料还要关键。所以我这里不推荐什么资料,只想说一些我一路走来的感想:

  • 基础最重要:上一篇学习计划总结中有提到,比如知识等级分为A -> B -> C -> D,而很多高级知识大部分是A -> D的层次,也就是说你如果不会B、C,学习高级知识将会十分吃力且效率极低,这时候有基础的同学(懂B、C)学习高级知识的A -> D效率是很高且很快能理解的。这里的A、B、C、D可以自行脑补现实生活中的例子(例如小学、初中、高中、大学),知识都是循序渐进的,天才只是理解ABC的时间花的很少,才会直接理解D的知识,看起来学习很快,直接懂D,其实还是一个过程了。其次,技术一直在更新换代,从以前的SSH变到SSM再到现在的潮流SpringBoot,变化太快了,甚至大部分互联网公司都已经进化到分布式架构,我们需要抓住一些不变的东西来学,再去学变化的,循序渐进的来,就比如,Spring框架是不变的,学习Spring一定不亏,它是框架的框架。亦或是Java基础,语言是不会变的,应该更着重于基础的学习,例如语法、并发、JVM等,基础学好了再去学习更多技术,学习的也会非常快,触类旁通,这样才是好的学习方式,你的摩天大楼才会非常稳固。
  • 找到你的前置技能:这个思想我在上一篇总结与这篇计划中反复提及,不要急于求成,利益心太重,SSM都没怎么用过,一上来就要学SpringBoot,如果只是启动一下是很容易的,但如果要学习它,你必须知道你的前置一定是Spring,但Spring的前置是什么呢?不能一上来就看源码吧…它的前置就是设计模式,面向对象(它的前置是什么?卧槽大概是Java语法基础吧?不要问我,你自己心里最清楚,学会找到它!)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值