如果你想学习Java,那么就来看这篇文章
一、前言
我是从大二开始学习的Java,当时的目标是Java Web开发,当时并不想考研,所以当时的学习是以就业为主,现在我大三了,学习Java Web开发已经一年了,因为种种原因,决定要考研,所以不得不暂时终止了Java Web的学习,博客也可能会停更很长一段时间,虽然只学习了一年Java,但是我感觉我对于学习Java开发还是有一些心得,对于Java Web的学习路线也很清楚,所以,现在把自己学习Java的经验记录下来,希望能帮到一些想学习Java开发的人吧。
因为我的学习是边看视频边看书的学习方法,在学习的前期是以视频为主,后期以书籍为主,但是大量的练习是能够学好Java的关键,所以无论是视频还是书籍,我都推荐你把代码写一遍(照着写也比不写好的多),如果只看书、看视频而不练习,那么你永远也学不会编程。
我个人学习Java的路线是:Java SE —— Java Web —— 框架 —— 虚拟机、高并发、其他工具
二、Java SE(Java基础)
1、视频部分:
我看过很多的Java基础部分的视频,总结下来就是Java基础部分是非常重要的,是Java学习的关键,但是基础部分在初学时并不能真正掌握其精髓,看视频只是为了入门,如果想要提高,需要在学习Java Web时,看Java基础部分的书籍。
这里我非常推荐刘意的Java基础视频,给个链接:刘意Java视频
如果你感觉一个视频不够,也可以参考一下毕向东的视频:毕向东视频
我感觉其实只看一遍就可以入门了,比较Java基础部分以后还要学习,所以初始的时候看一遍入个门就可以了。
在看完Java基础部分的视频后,一定要记得做一个项目巩固一下学习的内容,我推荐的是坦克大战项目:马士兵的坦克大战项目
注意:Java基础知识入门只需要看视频就够了,但是如果你想做一名合格的程序员,你需要的远远不止编程的能力,我感觉最重要的其实是解决问题的能力,在学习Java的过程中,不管是基础部分,但是Web部分,还是框架部分,你都需要学习的是善于使用百度、谷歌的技术,遇到问题不能光想着找别人解决,一定要自己尝试解决,通过搜索引擎,自己找到解决问题的办法,这样才能提高,这也是我从学习编程开始到现在为止最重要的心得体会。
2、书籍部分
我只看过两本Java基础部分的书籍,一本是《Java编程思想》,一本是《Java核心技术》,我不管这两本书别人是如何评价的,我只说一下自己的看法,我不喜欢《Java核心技术》,这本书就像是API文档一样,我个人感觉完全不如看视频,另一本《Java编程思想》非常好,但是并不适合在基础部分看,我个人推荐你在学习Java基础部分的时候可以囫囵吞枣的看一遍,不懂的地方也不要纠结,等以后学习完Java Web后再看一遍,会有更多的收获。
二、Java Web部分
因为Java Web部分我只看过视频,所以这里就只推荐视频,Java Web部分的内容非常杂而且非常多,所以这一部分可能会花费大量的时间,而且Java Web部分的很多知识现在都已经过时了,但是我感觉如果不学习Java Web部分的内容而直接学习框架的话基本也学不下去,所以这一部分还是需要好好的学习。这里推荐的视频是崔西凡的Java Web视频,下面是链接:
其中中和下两部分是Java Web部分的内容,上是一些前端的基础和XML方面的内容,这些都需要学习。
Java Web部分虽然内容很多,但是学完这一部分你会很有成就感,因为你终于可以自己做一些东西了,比如你自己可以自己写一个博客,一个图书管理系统,运用你学习的知识,你可以做很多事情了,这里也推荐学习完Java Web的知识后做一个项目巩固一下学习的知识,这里推荐李兴华的微商城项目:李兴华 微商城
三、框架部分
如果说对你将来工作帮助最大的部分,那么一定就是框架部分了,因为框架就是为了简化开发过程的工具,你可能已经不满足与Java Web 部分的 JSP/Servlet 技术很久了,为啥开发一个Web项目如此繁琐,那么你就需要好好的学习一下框架,有了框架开发Web项目的速度会像开了火箭一样,而且将来工作中全部都是使用框架开发,所以这一部分非常重要。
Java Web开发的框架非常多,但是其基本的原理却总是相差不大,所以你不需要每种框架都学习一下,你只需要着重的学习一部分框架,并且深入的学习,对框架的原理有深刻的认识,那么框架部分你就算是学习的不错了,以后如果遇到没有学过的框架也可以很快的上手使用。
因为我并没有参加过工作,我并不是很清楚现在的框架使用情况,但是根据我加的一些QQ群中一些工作人员的说明,现在的主流框架应该还是:Spring + Mybatis + Spring MVC。
这里最终要的框架就是Spring,目前正在兴起的Spring Boot框架就是为了简化Spring框架发明的,如果你想将来的工作顺利,那么我感觉你需要把Spring框架学习到一定的深度。
对于框架的学习,我认为视频只是辅助,起到入门的作用,最主要的还是看书去学习框架的原理。
1、视频推荐
Spring:尚硅谷 Spring
Spring注解版:尚硅谷 Spring注解版
Mybatis:尚硅谷 Mybatis
Spring MVC:尚硅谷 Spring MVC
2、书籍推荐
- 《Spring揭秘》
这里我只推荐了一本《Spring揭秘》,因为我只看过这一本书,但是这本书让我对Spring有了全新的认识,对于IOC和AOP有了深入的了解,打开了我框架学习的新世界。
框架部分的学习至关重要,这里因为我自己没有更多的经历,所以只是提供了一些很浅薄的经验,但是还是那句话,真正能够帮助你的只要你自己解决问题的能力,网上有大量的框架学习的经验可以借鉴,所以一切还是靠自己。
上面三个框架学习完以后就可以试着用框架开发Web项目了,这里推荐慕课网上的:慕课商城项目,这个项目还有一个二代的版本,以后可以学习,在学习这个项目的过程中,还要学习大量Java Web开发中需要使用的工具,而这些都需要你自己去学习。
四、其他工具
这里其实对于一个初级的开发人员,虚拟机和高并发并不是必须要学习的,但是Web开发的工具却非常重要,工欲善其事必先利其器的道理大家都懂,这里我就推荐几个主流的工具
- IDEA 集成开发环境,我想大家在学习上面的课程时应该都用的是Eclipse,但是这里我及其推荐IDEA,好处我就不多说了,你用了自然会知道,视频教程:IDEA教程
- Git:版本管理工具,视频教程:Git教程
- Maven:这个非常重要,一定要学习,视频教程:Maven教程
五、补充
上面的学习路线也不是要求你一步一步照着做,每个人都需要独立思考的能力,比如工具的学习在任何时候都可以开始,我想说的是,如果你想成为一个程序员最重要的还是要会自己思考,不断学习,上面说的技术可能会过时,但是你的学习能力是永远不会过时的,在Java开发的道路上需要学习的远不止上面的内容,可以说上面的内容你全部都学会了也不过是Web开发的入门罢了,想要有更好的发展,你就需要学习更多的知识,对计算机底层的原理有一定的了解,对算法也需要学习,很遗憾,我暂时要退出Java开发的世界了,希望两年之后的今天我已经考到了我想要去的学校,开始我新的篇章,到那时,我可能仍然会继续学习Java,也可能会学习其他的方向,但是只要我一直怀有不满足的精神,一直有学习的动力,那么总会成为大牛。