如何系统的学习JAVA?

如何系统的学习JAVA?

我现在JAVA基础的东西已经看了一遍了…进一步深入的学习应该从哪方面一步一步深入….什么spring啊Struts啊 [图片] .这些都是我找的 但…
被浏览
42,742
查看全部 21 个回答
软件工程系硕士
此回答转自我的文章《转行Java,我建议这样做》收藏1000+,点赞200+,人家还想要更多粉丝嘛!
可以按照以下流程来学习Java:
原文有Java学习路线思维导图。

  1. Java基础知识

推荐书籍:李兴华的《JAVA开发实战经典》
笔者知道有做广告的嫌疑,但对于真心想学JAVA的同学,看完此书以后你一定会感谢我的。这本书通俗易懂,推荐给零基础学JAVA的同学。如果你有C语言的基础,看起来会很快。但请不要太快,毕竟知识是需要时间来沉淀的。一定要从头到尾通读这本书,通读!因为基础很重要。俗话说“根基不牢,地动山摇”。
书中关于JAVA图形界面的部分可以略过,需要的时候再学习。根据经验来看,图形编程的部分好像很少用到。
2. J2EE or J2SE
JAVA语言有三个领域:J2ME,J2SE,J2EE。J2ME是JAVA嵌入式设备编程,JAVA语言早期兴起的时候,是在J2ME领域发威的。J2SE是JAVA桌面级应用。J2EE是JAVA企业级应用,即JAVA Web应用,也是现在需求最旺盛的领域。
如果你是因为Android学的JAVA,那么把第一本书看完之后就可以去学Android的知识了。笔者对Android不是专业的,所以就不在此舞文弄墨了。
如果你是因为J2EE学的JAVA,那么笔者继续给你推荐第二本书:李兴华《JAVA Web开发实战经典》。这本书主要致力于讲解MVC框架,以及他的前世今生。MVC是J2EE中大多数框架的设计灵魂,所以一定要好好理解MVC的工作流程以及为何要这样设计。深刻的理解MVC的原理,能让你开发的Java代码通俗易懂,结构清晰,高内聚且低耦合。
3. Spring框架
前两步学完,你可以去开发Java Web应用了。但是还不够,为何?因为一些大牛们发现,Web开发总是关于servlet,filter,listener,其中有大量的可重用代码和大量的配置项。因此有了框架,比如Struts,Spring,SpringMVC,Hibernate,Mybatis。
诸如此类。是不是头大了,不过别担心。记得笔者在第二步中说过的话,一定要深刻理解MVC。上面的框架中,你当然不需要全部学习,但Spring是一个例外。笔者建议你弄懂Spring的方方面面,这不是一个容易的任务,笔者自己也在持续学习中。这里,笔者继续推荐书籍《Spring in Action》。这是一本实战类的书籍,可以让你对项目快速上手。
等你用熟练了Spring之后,记得去逐渐理解Spring的源码。在具体的项目中,通常是SSH组合或者SSM组合。通过上面的学习,你已经能够熟练的使用JAVA。
4. Mysql
Mysql是一个数据库软件,它不是唯一的数据库软件,但绝对是最常用的一个。
现在,你可以去找工作JAVA开发的工作了。。。
不过。技术这东西,向来是一个积累的过程。你可以继续深入的深造:
对于设计模式入门,笔者推荐《Effective JAVA》机械工业出版社。这本书不是专门讲解设计模式的,但其中的编程原则可以帮助你理解设计模式。
对于JAVA虚拟机,笔者推荐《深入JAVA虚拟机》机械工业出版社。这本书帮助你理解Java语言的底层运行机制。
对于JAVA多线程,笔者推荐《JAVA并发编程实战》机械工业出版社。
对于Web容器,笔者推荐《How Tomcat works》。这是一本绝版书。可以帮助你理解“你的Web程序是如何与Web容器进行交互的”。
介绍Java学习路线,关注下面 @E-臻的Live:
编辑于 2019-01-01

更多回答

初学者记住一点,学习Java一定是连续性的且循序渐进的“系统化”学习,首先我给你提供一个优秀Java工程师的学习路线。
web前端方面:html、css,JavaScript、jQuery、xml解析、Bootstrap
Java基础:Javase(Java语法、数组、面向对象、Java常用类、异常处理、集合框架、IO、多线程、网络编程、反射机制、)
数据库:MySQL、Oracle、JDBC
Javaweb:Tomcat、Jsp、servlet、ajax
企业级框架:Struts2+Spring+Hibernate+spring MVC+Mybatis(SSH、SSM)
以上知识点都吃透找到工作是没啥问题的,不过对于初学者来说,不可以小看这些的难度,想要真正理解每一个技术,还需要时间去琢磨啊。

根据我多年学习Java编程的经验给大家提出以下几点宝贵建议:

1.了解当今企业的需求,目前的Java工作要求都是两年工作经验以上的,但是你不必担心找不到工作,只要你掌握了招聘网站上的那些要求,就可以实现给企业创造价值的机会,对于互联网公司我最清楚了,他们不管你是哪里来的,只要你可以给公司创造价值,就会有你的用武之地,所以首要目标去了解当今的人才需求。
2.如果你是学生,你的优势在于时间,你可以制订一个半年到一年的学习计划,每天只需要学习一节或者两节视频就好,然后大量的练习去巩固和理解知识点,把基础打扎实。如果你是工作的,可能时间不是太多,那么你就需要提高学习效率,把有限的时间“规划”起来,今天完成哪些东西,就必须要完成,我强调一点,做好“系统的学习规划”,没有规划一定会失败。
3.找大神去请教,你不要想着只通过自己一个人就可以把任何一门手艺学的非常好,那几乎是不可能的,记住一定要跟对这个专业有经验的人多沟通,比如跟我沟通,人和人在交流中会碰撞出你不知道的东西,创造出新的思想和你不可能得知的知识,这是我过来人的经验,一定要听,多跟NB的人交流,对你很有帮助。
4.学习Java的学习方法至关重要,我相信很多自学过Java的小伙伴都有这样的疑问,很多程序我能看懂,但是让我写却很难,这明显就是不会学的表现,在听课的时候,你并没有真正的理解每一个东西的真正用途,课后你完全不知道应该如何应用,一个程序只有你真正动手去写出来,才是注入了生命力,看着像是活,不然就是死的,而这生命力就是我们给的。
5.因为学习时间过长,所以大家不可犯一个错误,边学边忘,所以时间久了忘记了是非常正常的,在规定的一个时间内,进行从头梳理,复习是必不可少缺少的,进行多复习,多动手练习,就会永久的记忆。
注意问题:
1.代码规范,从开始就养成良好的习惯
2.养成阅读博客的习惯
3.不要记笔记,多查Java的API
4.遇到问题,先动脑思考,别张嘴就问,而且问别人之前,先学会如何问问题,不然招人烦
5.初学者少看书,基本看不下去,Java的书少则300页,多则上千页,只推荐一本《Java核心技术》了解下原理就好,以后工作了,在多看技术性书籍
假设已经学习过c语言编程了,那么下面的方法应该是可行的: 第一步,安装jdk,配置好eclipse。然后后面看书随时验证一下代码,这样才快!
现在到处都是Java 8了,建议直接看Java 8的教材吧,只推荐一本书: 《core java 8 for impatient》,有中文版,看完把习题做了,基本就可以了。
可能公司用7的比较多些,也可以先学Java 7,这样可以降低学习难度。 学习java 7就用林信良的《JDK 7学习笔记》,很详细的一本书。
其实已经不建议看了,很多写法在java 7之后都变了,例如,自定义注解处理器(java 6),文件处理(java 7的Path和Files类,超级强大,一定要学),MethodHandle与反射,还有自定义静态方法类(类似Collections,Files,)在java 8之后不需要了,因为接口可以定义default方法和静态方法,
——————————————广告————————————
开始学习java了,欠下的总是要还的,记录了一些java笔记,有些是转载别人的,但是都是认为比较好的博客。
风起了
觉得可以的话可以给个star,让我嘚瑟下,有什么问题也可以在issue提,我也是新手,大家一块进步。
查看全部 21 个回答
Measure
Measure