Java学习路线
十年来,无论是Java语言本身,还是它配套的工具与框架都发生了巨大变化。
现在回头看,发现自己也走了不少弯路,浪费了不少时间。
Java 初学者,因为是初学,所以面临着巨大的压力,不能付出太高的试错成本。而应该寻找一条更高效的学习路线和一套行之有效的学习方法,否则一不小心,很可能会前功尽弃。
但好在 Java 的学习资料非常丰富,只要我们稍微用心去整理下,就能找出一条高效的学习路径。
INFO
成年人的学习都很急于获得结果,这里给的学习路线与建议,也是基于如何让新手用一两个月时间成为一名Java开发者并能找工作。
第一阶段:重点知识
Java 基础知识
知道什么是Java,学习基础语法,学习基础知识点。
这部分对有其它语言(C++、.NET、PHP、Python等等)基础的同学,学起来应该很轻松。
对零基础的,需要花心思做个入门。
主要知识点:
- 什么是Java?Java的发展史,Java的优势
- Java基础语法
- Java支持的8种基础数据类型
- Java流程控制语句
- Java运算符
- Java注释:单行、多行、文档注释
- Java面向对象编程
- 怎样理解Java种类和对象的概念
- Java变量作用域:局部变量、成员变量、静态变量、常量
- Java方法、构造方法
- Java抽象类
- Java接口
- Java关键字解析
static
、this
、super
、instanceof
、final
- 深入理解Java泛型
- 深入理解Java注解
- Java反射使用、原理
- Java字符串&数组
- Java集合框架
List
、Set
、Map
- Java输入输出,IO学习
- Java异常处理
- 常用工具类
- Java并发编程
- Java虚拟机:什么是JVM?
Java 开发框架
开始阶段就推荐用的最多最多的两个,先学会把项目跑起来。
- SpringBoot
- Mybatis
前端知识
因大部分java主要是做web相关工作,虽然现在都是前后端分离,但是还是有必要简单学习一下,这样至少知道一下原理,知道前端在干什么。
对前端三件套有个基础认知,前期能搞几个丑丑的网页就行了(后续再继续深入学习)。
- HTML
- CSS
- JavaScript
数据库
重点中的重点。
可以选择MySQL
作为入门。
第二阶段:进阶技能
根据图片内容查漏补缺。
哪些Java知识不需要再学了
学 Java 的时候一定要先知道哪些 Java 知识不需要再学了,毕竟技术的更新迭代就好像火箭一样快,Java 的一些知识点早已经过时了。
AWT 和 Swing
已经202x年了,几乎没人用AWT 和 Swing去开发桌面应用了。Java基本都在做后端开发,不如把重心放到SpringBoot与、MySQL的学习上。Applet
网页插件技术,Applet 就没流行起来。XML
XML 还没淘汰,用的地方还有不少,比如说 Maven 的 pom.xml 文件里就还在用。但是作为一种数据传输格式,它正在被 JSON 替代。 至于复杂的 XML 操作 API(例如 XPath)就完全没必要学习了,如果真的用到了,再去补也不迟。Struts与Struts2
Struts是早年一个优秀的MVC框架,但是现在SpringMVC几乎一统天下,Struts没必要学了。 注:Struts与Struts2使用方法的有些不同,如果碰到老系统了,先确认用的哪个再去找资料学。Hibernate
时过境迁,Hibernate 太重量级了,学习成本太高,取而代之的是轻量级的 MyBatis。现在有一种说法就是这种对象关系映射太过死板了,不如直接写 SQL 来得灵活。JSP
JSP 在实际开发中,主要是作为 MVC 模型中的V(View)层出现的。它本来是为 Java 后端程序员开发前端界面而生的,但随着技术的发展,前后端分离的流行,JSP 的生命周期已经到头了。 就算不前后端不分离,也可以使用Freemarker等方案来代替JSP。Servlet 虽然 SpringMVC 的底层是以 Servlet 为基础的,是 JavaWeb 容器的基石,但 Servlet 的确已经过时了。如果后面有空余时间的话,想钻的话可以钻一下,对服务器端接收请求数据和向前端发送响应数据时会有一些帮助。
自学的时间成本还是要适当控制一下。总之,我们应该省下更多的时间去学习重点知识!
视频课程
其它编程语言功底扎实,使用网上的各种文字教程,基本就能学会。
零基础的同学,看文字教程大概率是学不进去的。
我这里为零基础的同学准备了一套视频教程,包含内容:
- Java零基础入门到精通
- Java配套工具使用
- Java SpringBoot框架学习
- Mysql数据库学习
跟着视频步骤一步步做。