我的 Java 学习路线
# 我的 Java 学习路线
简单说下我认为的 Java 学习路线
# 前言
不同的人情况不同,基础也不同(有的有计算机基础,有的有 Java 基础),面临的情况也不同(为了毕业,为了找工作,为了兴趣),没有通用的学习路线,得具体情况具体分析。
- 比如一个刚上大学的学生,最好的路线还是从计算机底层开始学起,例如计组,操作系统,数据结构,数据库,计算机网络等,等学完后基本上学任何语言都不会太难;
- 如果是大学没学好计算机基础,毕业工作几年后,想要换工作,重新学计组和操作系统等要花大量的时间,建议还是直接从 Java 框架学起,甚至直接按工作岗位的要求来学都行。
- 还有些是转专业来学习计算机, 完全没任何计算机基础的话,要学的东西更多,建议从 Java 开始学起,查漏补缺
- 如果是有报过培训班,待培训完后,可以视情况学习计算机基础
- ...............
所以在学习之前,最好先评估下自己的知识储备,然后制定自己的学习路线:
- 先找找网上有没 Java 的学习路线,看看大概内容先,例如看看我的,或者网上搜索一下: 鱼皮 - 编程学习路线 (opens new window),学习心得介绍 | 小林 coding (opens new window)
- 可以找自己的朋友咨询下怎么学
- 如果有遇到一些知名的技术博主,比如开了微信的知识星球的,可以付费咨询等
- 不要被网上茫茫多的资料和路线吓到了,适合自己的路线才是最好的
我这里给出一个 Java 后台开发人员应该学习的知识,计算机基础的话就不展开了,会简单提一下。主要根据我自己的经验,同时参考了网上的一些内容;会给出关键的知识点、学习资源和项目。
# 怎么学习
注意点:
- 开发环境要准备好。例如得有台电脑才能学习;同时在学习的过程中可能需要安装不少的软件,如果有时间自己动手搭建最好,因为在工作的时候也经常需要花很多时间搭建的,赶时间的话可以找一些在线的工具,先熟悉了后,再搭建本地环境。
- 一定要记笔记,不管是用笔记软件,还是 Word 等。行业里很多都是用 Markdown,这里推荐用思源笔记。也可以自己用 Typora
- 最重要的是:一定要写代码,光看是没用的,即使你认为看懂了,也要动手敲。很多人一开始看到太简单的不想敲,遇到难的不会敲,到最后就是没学会的情况。
- Java 的资源有很多,学习之前可以先看看大概内容,如果觉得不适合自己,完全可以换一个。例如是书籍的话可以先看看开头,然后翻翻中间的内容、后面的内容,如果是视频的话同理,可以多看看评论区。最好不要选太过老旧的资源
# 路线一览
先说下整体的学习路线,可以分为以下阶段,具体每个阶段学什么,后面再细化。
- JavaSE
- Java 高级
- JavaWeb
- Spring
- 构建工具:Ant,Maven 等
- SpringMVC
- 中间件:Mybatis + Redis+ MQ + Junit
- SpringBoot
- Docker
如果你没有 Java 基础,接下来的内容简单看看即可,有个印象,甚至不看,只看到这里就开始学习 Java;
# JavaSE
学习理由:Java 基础是重中之重,后面的学习都得有扎实的基础才能学习
学习目标:培养兴趣、快速上手,能运行和编写简单的 Java 程序,懂得基本的语法。
知识点:
- Java 的历史与特点(不用背)
- Java 能做什么
- 环境搭建
- 第一个 Java 程序
- 开发工具选择
- 基础语法
- 变量与数据类型
- 运算符
- 控制结构
- 数组
- 面向对象
- 异常
- IO 流
- 枚举
- 常用类
- 集合框架体系
- Java8 和 11 新特性
学习资源:一般选择一个即可,可参考其他的资源
- 两本书基本够了,零基础的人也能入门《Java 语言程序设计 基础篇 原书第 10 版 》,《Java 语言程序设计.进阶篇.原书第 10 版》
- B 站韩顺平:零基础 快速学 Java】韩顺平 零基础 30 天学会 Java_哔哩哔哩_bilibili (opens new window)
练手项目:
# Java 高级
- 多线程与并发
- JUC
- 泛型
- 注解
- 反射
- JVM 基础
- 网络编程
# JavaEE
主要是在企业级项目的开发过程中,需要用到的技术。
- Git:目标将之前自己学习的项目通过 Git 整理一遍
- SQL:懂得基本的增删改查
- JDBC
- HTML CSS JS
- Vue
- Linux 的基本使用
# Spring 框架
- 基础入门视频
- Spring 实战等
# 构建工具
# 什么是构建
构建工具的历史
# ANT
简单入门
# Maven
Maven 的历史
Maven 的作用
Nexus 的搭建与使用
推荐资料:《Maven 实战 - 许晓斌》
# Gradle
推荐资料:《实战 Gradle》
# JavaWeb
什么是服务器
常见的服务器软件:Tomcat,Nginx
Servlet:重中之重
filter
Ajax
部署与 Devops
推荐资料:《Tomcat 权威指南(第二版)(吴豪译)(2009)》,《深入理解 Nginx:模块开发与架构解析(第 2 版)》
# SpringMVC
做项目
# 中间件
# Mybatis
会基本的使用
# Redis
基础语法,部署,集群,源码
# 消息队列
基础作用
# 定时任务
Quartz
# SpringBoot
项目:谷粒商城
# 参考
上次更新: 2024/10/1 17:41:58