Java程序员学习路线
date
Mar 4, 2017
slug
Java-roadmap-v1
status
Published
tags
技术
summary
早期对于Java程序员学习路线总结
type
Post
从认真开始学习Java到从事Java工作到现在,已经有一年时间了,在之前的学习过程中大多是通过视频进行学习的,没有工作上的经验,也就没有深入思考,刚开始想的就是会用就好,但是在工作之后发现,除了会用,还得要去思考,当然,在工作中需要学习的东西太多太多了,目前的关键就是找到适合自己的学习方法,培养起来快速学习的能力,在此之前,就是一段迷茫期,也算是在迷茫中进行探索,也走了很多弯路,得出一句话,经典的未必适合自己,别人的成功经验也不是自己的。 在JavaEE这条路上,之前我是这么认识的,首先应该学习Java基础,然后开始学习JavaWeb,在JavaWeb学习中避免不了要学习三大框架,当然,数据库知识也是要有的,以及一定的前端知识,这样就可以做出一个网站了。但是随着工作经验的增加,对于做产品这件事情也有了和之前不一样的理解,首先是对这种大而全的概念已经没有了,认识到了一个更加广阔的世界之后,就会发现自己能力的渺小,你就更加的认识了自己,会衡量自己能不能做,这算是一个优点,但也会是自己能力的瓶颈,具体我就不举例子,Java可以做很多事情,从片面的B/S结构到目前理解的B/S结构,一年的时间真的可以改变一个人很多。 感觉有点跑题了,说回来,还是怎么学习:
1、你得对你所在行业的知识框架要有一个基本的了解
比如我所在的JavaEE的学习路线:
Java基础
- 基础语法
- 逻辑控制流
- 面向对象的知识
- 常用的类,如String
- IO
- 集合
- 多线程
- 异常
- 网络编程
JavaWeb
- html/css/js相关基础知识
- xml相关配置
- Tomcat服务器
- Servlet/JSP
- 数据库相关知识
- 过滤器,监听器
- ajax
- session/cookie
- jdbc
框架相关(会用即可)
- spring
- springmvc
- myBatis
这是最基础的知识,这个层面就是先会用,可以在网上找一个网上商城的例子用来练习,把整体的代码思路看看,就算是OK了。 在实习工作期间,主要是适应公司的代码环境,这时候要会用一定的工具,类似版本控制,项目管理工具等:
- GIT
- SVN
- Maven
这些工具的基本操作学习用不了多久,但是会给你带动很高的效率,在这之后,就是真正开始自己学习的过程,这才是提高的过程,你得根据自己的实际情况开始自己学习,不再依赖于视频教程,更多的是来源于书籍和自己实际项目的思考,首先要将业务需求转化为自己的代码实现,这是最关键的,其次是思考,怎么写更好,这是一个模仿+思考的过程,你要了解系统的整体结构是什么,用到了哪些技术,日志是怎么处理的,异常是怎么处理的,最关键的是要有自己的代码风格。
2、一次项目交接的思考
前几天有个同事要离职了,他的项目需要进行交接,我最近工作量比较少,就由我进行交接,这几天我觉得是我好几个月来成长最快的几天,我和他单独交流,因为项目是新建的一个项目,项目中业务信息不多,所以好理解,两天时间,基本上就可以上手了,之后的一天里我就一直和他在聊系统的设计思路和编码风格以及如何提高自己的编码水平。 很多人在做项目的时候思考的是如何做出来,也包括我,但是没有思考怎么做更好,他说他在做这个项目中删除了很多代码,想了好几套方法去解决,最终是保留了一套觉得自己好的,在这里,它借鉴了两个框架的设计思路,他没有深入了解过一个框架,但是大体了解一些,通过在写项目的过程中它看了些框架的源码,借鉴了一些它的思路,慢慢的也就有了一个从需求很不明确,没有的项目到现在也算是一个产品的项目,这其中花费了自己很大的心思。 我一直觉得自己的代码写的很烂,也一直想提高,但是苦于不知道如何提高,听了他的这些话,我就在想,目前我有基本的编码基础,我应该怎样提高,做项目?目前没有太多的时间去完整的做一个项目,最好的开端就是借鉴,从一个开源框架中借鉴它的思路,学习它的设计模式,编码风格,对工具类的封装,对功能的实现,这就像是你刚来公司的时候,要学习公司项目一样,但是这种开源框架会比较大,也比较难,不会像公司项目那样相对容易的让你去学习,但是坚持下去,总会有改变。