Skip to content

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关键字解析staticthissuperinstanceoffinal
    • 深入理解Java泛型
    • 深入理解Java注解
    • Java反射使用、原理
  • Java字符串&数组
  • Java集合框架ListSetMap
  • Java输入输出,IO学习
  • Java异常处理
  • 常用工具类
  • Java并发编程
  • Java虚拟机:什么是JVM?

Java 开发框架

开始阶段就推荐用的最多最多的两个,先学会把项目跑起来。

  • SpringBoot
  • Mybatis

前端知识

因大部分java主要是做web相关工作,虽然现在都是前后端分离,但是还是有必要简单学习一下,这样至少知道一下原理,知道前端在干什么。

对前端三件套有个基础认知,前期能搞几个丑丑的网页就行了(后续再继续深入学习)。

  • HTML
  • CSS
  • JavaScript

数据库

重点中的重点。

可以选择MySQL作为入门。

第二阶段:进阶技能

根据图片内容查漏补缺。

img.png

哪些Java知识不需要再学了

学 Java 的时候一定要先知道哪些 Java 知识不需要再学了,毕竟技术的更新迭代就好像火箭一样快,Java 的一些知识点早已经过时了。

  1. AWT 和 Swing
    已经202x年了,几乎没人用AWT 和 Swing去开发桌面应用了。Java基本都在做后端开发,不如把重心放到SpringBoot与、MySQL的学习上。

  2. Applet
    网页插件技术,Applet 就没流行起来。

  3. XML
    XML 还没淘汰,用的地方还有不少,比如说 Maven 的 pom.xml 文件里就还在用。但是作为一种数据传输格式,它正在被 JSON 替代。 至于复杂的 XML 操作 API(例如 XPath)就完全没必要学习了,如果真的用到了,再去补也不迟。

  4. Struts与Struts2
    Struts是早年一个优秀的MVC框架,但是现在SpringMVC几乎一统天下,Struts没必要学了。 注:Struts与Struts2使用方法的有些不同,如果碰到老系统了,先确认用的哪个再去找资料学。

  5. Hibernate
    时过境迁,Hibernate 太重量级了,学习成本太高,取而代之的是轻量级的 MyBatis。现在有一种说法就是这种对象关系映射太过死板了,不如直接写 SQL 来得灵活。

  6. JSP
    JSP 在实际开发中,主要是作为 MVC 模型中的V(View)层出现的。它本来是为 Java 后端程序员开发前端界面而生的,但随着技术的发展,前后端分离的流行,JSP 的生命周期已经到头了。 就算不前后端不分离,也可以使用Freemarker等方案来代替JSP。

  7. Servlet 虽然 SpringMVC 的底层是以 Servlet 为基础的,是 JavaWeb 容器的基石,但 Servlet 的确已经过时了。如果后面有空余时间的话,想钻的话可以钻一下,对服务器端接收请求数据和向前端发送响应数据时会有一些帮助。

自学的时间成本还是要适当控制一下。总之,我们应该省下更多的时间去学习重点知识!

视频课程

其它编程语言功底扎实,使用网上的各种文字教程,基本就能学会。

零基础的同学,看文字教程大概率是学不进去的。

我这里为零基础的同学准备了一套视频教程,包含内容:

  • Java零基础入门到精通
  • Java配套工具使用
  • Java SpringBoot框架学习
  • Mysql数据库学习

跟着视频步骤一步步做。