自己大学期间学习的是软件工程,从需求分析到项目上线整套流程都接触过,大二就开始接触java,但是没有好好把握。大把时间虚度在lol里面了。已经在工作的我,作为一个菜鸟程序员,自己也有一个学习路线和目标。(仅自己参考)
第一阶段:java基础
第一部分主要以看书为主吧,《java编程思想》知识点理解透彻。面向对象概念有深刻理解。对自己最好的回报就是提升自己,提升自己最好的方式就是看书。
第二阶段:java进阶
这一部分主要是java常用基础技术的掌握字符串,数组,集合 异常 多线程 IO流 数据库 主流框架(Spring SpringMVC MyBatis ...),看《Effective Java》
第三阶段:javaEE核心技术
这一部分的话主要是看一些框架源代码,通过参与实战项目,更深入的理解WEB核心技术,对网络编程进行深度学习。以及项目中可能用到的框架技术进行学习。这时 候不能局限于只对框架院里的理解。不仅要会用,更应该去理解,去看框架源代码。《JAVA核心技术||》《Spring源码深度理解》都是很好的书。有自己的见解。
第四阶段:JVM/JDK、设计模式,数据结构与算法等
《深入理解JVM虚拟机》对JVM的内存机制进行详细讲解。
1、首先对JAVA类加载机制一定要清楚
2、对JVM模型自己有清晰的认识以及每个内存空间的作用
3、对JVM的核心技术进行深入研究,如:JVM垃圾清理算法,内存分配,并发,线程安全等。
对23中设计模式有自己的理解,并掌握常用的模式。理解常用算法,并且能很快写出来。 推荐《数据结构与算法》。遇到问题时一定要养成查看API,查看JDK源码,只有真正理解才能有效利用。
第五阶段:分布式系统开发,项目并发优化。
到这一阶段差不多也就工作三五年以上了吧,这个时候就可以在git或者别的网站看一些别人的大型的网站的源码或。对分布式核心组件进行认识。这个时候就不应该总是以一个开发人员的角度去思考。还要继续提升自己的业务理解能力以及沟通能力。怎样从用户的角度去从考问题,怎样完善需求,语言只是我们和计算机的沟通工具,怎么样完善自己的业务,并将业务表现在设计上,这是你每个想要跟进一步的人必须做的事。