One Piece ~ Java 学习路线图

前言

很多朋友在学习Java时,会发现虽然资源很多但是无法形成一个知识体系,让自己由点到面、由浅入深的对Java有个比较全面认识。

写这篇文章目的,就是列出了一个Java的路线图,带刚开始学习Java或需要复习Java的朋友进行系统的学习。

整个体系分为5个阶段:Java基础、Java进阶、JavaWeb、Java框架、分布式,通过这5个阶段的学习,大家能掌握到目前互联网企业所需要的主流技术点。

每个课程后面都有我的博文地址,由于刚开始整理,有的文章还没有写,后面写好了会不定时更新上去,争取完成一个完整的体系,我也会不断学习,对内容不断进行扩展和深化,也欢迎大家给出宝贵的建议。

学习方法方面给初学朋友的建议就是:

1、坚持,Java的知识点多,而且是一个体系,必须一步一步坚持下去

2、思考,每个知识点除了知道怎么用,还需要思考不用行不行、有没有其他办法、实现的原理等

3、练习,学习编程就是多敲代码,每篇博文都有案例、练习和作业,多动手学习起来才有效果

第一阶段 Java基础

序号 课程名称 内容简介 博客地址
1 Java的安装和配置 Java语言介绍 https://blog.csdn.net/u013343114/article/details/112212873
JDK安装
环境变量配置
HelloWorld
Java编译执行过程
Eclipse的使用
2 变量、标识符和类型转换 Java标识符的规则和规范 https://blog.csdn.net/u013343114/article/details/112217062
Java的关键字
变量的定义和使用
变量的数据类型
自动类型转换
强制类型转换
Scanner输入
3 Java的运算符 赋值运算符 https://blog.csdn.net/u013343114/article/details/112238345
算术运算符
关系运算符
逻辑运算符
三元运算符
4 分支语句 基本的 if https://blog.csdn.net/u013343114/article/details/112272131
if-else
多重if
嵌套if
switch
5 循环结构 for https://blog.csdn.net/u013343114/article/details/112275496
while
do-while
break和continue
嵌套循环
6 数组基础 数组简介 https://blog.csdn.net/u013343114/article/details/112308634
数组的定义
数组的初始化
foreach循环
Arrays工具
二维数组的使用
7 数组算法 求最大值 https://blog.csdn.net/u013343114/article/details/112314935
顺序查找
冒泡排序
选择排序
二分查找
8 方法 方法的概述 https://blog.csdn.net/u013343114/article/details/112461550
无参的方法
有参的方法
基本类型和引用类型参数的区别
方法的重载
带返回值的方法
可变参数
9 面向对象~类和对象 面向对象的概念 https://blog.csdn.net/u013343114/article/details/112345793
类和对象的概念
面向对象编程
属性和方法
构造方法
this关键字
面向对象的内存分配
10 面向对象~封装 封装的概念 https://blog.csdn.net/u013343114/article/details/112358966
访问修饰符
getter和setter方法
对象之间的通信
11 面向对象~继承 继承的相关概念 https://blog.csdn.net/u013343114/article/details/112463703
super关键字
继承中的构造方法
final关键字
抽象类
12 面向对象~多态 什么是多态 https://blog.csdn.net/u013343114/article/details/112506137
多态的作用
如何实现多态
Object类
equals和==的区别
向上向下转型
instanceof运算符
13 面向对象~static关键字和单例模式 静态属性 https://blog.csdn.net/u013343114/article/details/112509898
静态属性内存分析
静态方法
静态常量
静态导入
单例模式
14 面向对象~接口和内部类 接口是什么 https://blog.csdn.net/u013343114/article/details/112523663
接口的作用
接口的使用
接口和抽象类的区别
静态内部类
成员内部类
局部内部类
匿名内部类
15 Java常用类 String类  
StringBuffer类和StringBuilder类
包装类
日期相关API
Math类
Random类
Runtime类
System类
16 集合 集合框架体系介绍  
集合和数组的区别
Collection接口
List接口
ArrayList集合
LinkedList集合
Vector集合
泛型集合
ArrayList和LinkedList的工作原理
17 集合 Map接口  
HashMap集合
HashMap源码分析
TreeMap集合
LinkedHashMap集合
Hashtable集合
Set接口
HashSet集合
HashSet源码分析
TreeSet集合 
LinkedHashSet集合
18 集合 Collections类  
Comparable接口
Comparator接口
Lambda表达式
19 异常 Java的异常体系  
异常的概念及分类
try-catch的基本用法
多重catch的用法
finally的基本用法
finally和return执行顺序
throw、throws的基本用法
自定义异常
20 IO 文件操作的概念  
使用递归读取文件夹
文件的筛选
IO流的分类及体系结构
字节输入流
字节输出流
try with resource
21 IO 字节缓冲流  
打印流
字符流
字符缓冲流
装饰设计模式
22 IO 数据流  
对象流
序列化
深复制和浅复制
NIO
23 网络编程 网络编程相关概念  
HTTP协议
HTTP网络编程
24 网络编程 TCP/IP协议  
UDP协议
Socket编程
UDP编程
25 项目实战:网上云盘 C/S架构,在控制台实现文件列表、搜索、上传、下载等功能  
 

第二阶段 Java进阶

序号 课程名称 内容简介 博客地址
1 线程基础 进程、线程的概念介绍 https://blog.csdn.net/u013343114/article/details/111224268
线程的实现方式
Thread类的常用方法介绍
线程的启动和停止
线程的生命周期
线程的调度
2 线程池 线程池的作用 https://blog.csdn.net/u013343114/article/details/111224390
线程池相关API
Executors常用方法
线程池的配置
线程池的原理
3 线程同步 线程同步问题介绍 https://blog.csdn.net/u013343114/article/details/111224459
同步方法
同步代码块
同步锁
死锁问题
AtomicInteger原子类 https://blog.csdn.net/u013343114/article/details/111224517
volatile关键字
4 线程通信
生产者消费者模式
https://blog.csdn.net/u013343114/article/details/111224625
阻塞队列
5 XML解析和正则表达式 XML介绍  
XML解析
正则表达式
6 反射 反射机制  
类加载机制
反射的API
获得Class的几种方式
反射调用构造器、方法和属性
反射实现JSON解析
7 MySQL基础 MySQL的安装 https://blog.csdn.net/u013343114/article/details/110475540
建库建表操作 https://blog.csdn.net/u013343114/article/details/110483099
DML
8 MySQL基本查询 select语句 https://blog.csdn.net/u013343114/article/details/110486364
where子句
in\between\like子句
order by 排序
limit分页
9 MySQL高级查询 外键约束 https://blog.csdn.net/u013343114/article/details/110489588
内连接
外连接
子查询
行转列 https://blog.csdn.net/u013343114/article/details/110490204
10 MySQL索引、视图、存储过程 索引的作用 https://blog.csdn.net/u013343114/article/details/110640134
索引的原理和数据结构
视图 https://blog.csdn.net/u013343114/article/details/110648385
存储过程 https://blog.csdn.net/u013343114/article/details/110649447
11 JDBC基础 JDBC简介  
JDBC API介绍
实现基本的CRUD
12 JDBC高级
批处理
 
数据库连接池
反射编写数据库工具类
13 项目实战:学生管理系统 MySQL+JDBC实现用户登录和学生的CRUD  
 

第三阶段 JavaWeb

序号 课程名称 内容简介 博客地址
1 html HTML简介  
HTML基本结构
HTML基本标签
表单
表格
内嵌框架
2 css CSS简介  
CSS的语法
CSS的选择器
CSS的分类
CSS基本属性
盒子模型
DIV+CSS布局
3 javascript JS基本语法  
DOM编程
函数和事件处理
表单验证
正则表达式
常用类:Date、Math、String、Array
JS中的对象
BOM编程
6 Tomcat BS和CS结构  
主流服务器介绍
Tomcat的安装和配置
HTTP协议
GET和POST的区别
手写简单的服务器
7 Servlet Servlet介绍  
Servlet的定义
Servlet的配置
Servlet的生命周期
Servlet的方法参数
中文乱码的处理
Servlet线程安全
8 JSP JSP的介绍  
JSP的原理
JSP的指令
JSP的内置对象
页面跳转的方法
EL表达式
JSTL标签
9 上传下载 文件上传  
文件下载
10 会话跟踪 Cookie机制
Cookie的使用
Session原理
Session的使用
11 过滤器/监听器 过滤器原理  
过滤器生命周期
过滤器链
过滤器实现登录验证
监听器原理
监听器的使用
监听在线用户
12 JQuery Jquery选择器  
Jquery常用方法
事件处理
动画
13 Ajax Ajax原理  
XMLHttpRequest
JQuery的Ajax
Ajax实现用户名重复验证
14 项目实战:酒店管理系统 B/S架构实现酒店管理后台与前端  
 

第四阶段 JavaEE框架

序号 课程名称 内容简介 博客地址
1 Maven Maven介绍 https://blog.csdn.net/u013343114/article/details/111193714
什么是Maven
Maven的安装
Maven的仓库
Maven仓库的分类
Maven的配置
在IDEA配置Maven
Maven项目的结构
POM文件介绍
依赖管理
项目生命周期管理
继承和聚合
依赖冲突的调解
2 Git 版本控制 https://blog.csdn.net/u013343114/article/details/110927058
GIT的特点
GIT的工作流程
GIT使用方法
IDEA中配置GIT
3 Spring IOC Spring框架简介 https://blog.csdn.net/u013343114/article/details/111194463
Spring框架的组件
IOC概念
Spring IOC的XML的实现
Spring IOC的注解的实现
使用反射+注解实现IOC
IOC源码解析 https://blog.csdn.net/u013343114/article/details/111195142
4 Spring AOP AOP的相关概念 https://blog.csdn.net/u013343114/article/details/111194829
AOP在Spring中的实现
注解配置
AOP在项目中的应用
AOP实现日志收集
SpringAOP的实现原理 https://blog.csdn.net/u013343114/article/details/111194967
静态代理
JDK动态代理
Cglib动态代理
AOP源码解析 https://blog.csdn.net/u013343114/article/details/111221758
5 SpringMVC基础 MVC设计模式 https://blog.csdn.net/u013343114/article/details/111466886
MVC的执行流程
Struts2.0和SpringMVC的区别
SpringMVC执行流程
入门案例
处理参数
处理返回数据
SpringMVC的常用注解
页面跳转
简单的登录案例
6 SpringMVC高级
拦截器概念
https://blog.csdn.net/u013343114/article/details/111467099
拦截器的使用
文件上传
文件下载
前后端分离
RestFul
RESTFul风格的API
7 MyBatis基础 MyBatis简介 https://blog.csdn.net/u013343114/article/details/111467193
什么是ORM
MyBatis和Hibernate的区别
MyBatis的基本使用
MyBatis的查询
8 MyBatis高级 动态SQL https://blog.csdn.net/u013343114/article/details/111467277
if/where/set/trim/foreach标签
关联查询
collection实现一对多关联
association实现一对一关联
延迟加载
MyBatis两级缓存机制
MyBatis源码解析 https://blog.csdn.net/u013343114/article/details/111245302
手敲MyBatis https://blog.csdn.net/u013343114/article/details/111245615
9 SpringBoot SpringBoot简介  
SpringBoot创建项目
SpringBoot的配置
SpringBoot整合MVC
SpringBoot整合MyBatis
SpringBoot配置拦截器
SpringBoot的配置原理
10 Shiro RBAC权限管理 https://blog.csdn.net/u013343114/article/details/111592137
Shiro介绍
Shiro入门
自定义Realm
密码加密加盐
SpringBoot+MyBatis+Shiro整合
RememberMe
11 Linux Linux的安装 https://blog.csdn.net/u013343114/article/details/110430568
Linux的常用命令 https://blog.csdn.net/u013343114/article/details/110431842
Linux的网络配置 https://blog.csdn.net/u013343114/article/details/110432336
JDK和Tomcat的安装 https://blog.csdn.net/u013343114/article/details/110433299
MySQL的安装 https://blog.csdn.net/u013343114/article/details/110434127
12 Nginx Nginx能做什么 https://blog.csdn.net/u013343114/article/details/112170264
正向/反向代理
Nginx的安装
Nginx+Vsftp搭建文件服务器
负载均衡概念
Nginx负载均衡
13 Docker 为什么要使用Docker

https://blog.csdn.net/u013343114/article/details/112170627

 

https://blog.csdn.net/u013343114/article/details/112179420

容器化
虚拟机和容器
Docker的架构
安装Docker
Docker的基本使用
Docker安装MySQL
在Docker上部署Springboot项目
14 Jenkins 持续集成/持续交付/持续部署 https://blog.csdn.net/u013343114/article/details/111841377
Jenkins安装
Jenkins的配置 https://blog.csdn.net/u013343114/article/details/111868141
Webhook配置
Jenkins自动部署SpringBoot项目
15 项目实战:OA项目 前后端分离架构SpringBoot+Vue+ElementUI https://edu.csdn.net/course/detail/31433

 

第五阶段 分布式

序号 课程名称 内容简介 博客地址
1 SpringCloud Eureka 为什么使用微服务 https://edu.csdn.net/course/detail/31451
为什么使用注册中心
Eureka注册中心使用
Eureka的自我保护机制
Eureka的安全配置
Eureka的集群配置
2 SpringCloud Ribbon 负载均衡
服务器端负载均衡和客户端负载均衡
Ribbon负载均衡策略
RestTemplate的用法
3 SpringCloud Hystrix 服务可用性
服务雪崩问题
Hystrix的使用
Hystrix的隔离模式
4 SpringCloud Feign Feign是什么
Feign怎么用
Feign处理各种参数
Feign原理
Feign优化
5 SpringCloud Zuul 服务网关的作用
Zuul介绍
Zuul的基本使用
Zuul的路由规则
Zuul的过滤器
Zuul限流
Zuul超时优化
6 SpringCloud Config Config的介绍
Config的基本使用
动态更新配置
7 Elasticsearch Elasticsearch介绍  
Elasticsearch的安装
Kibana安装
安装分词器
SprngBoot整合Elasticsearch
ElasticsearchRepository操作索引
查询操作
8 RabbitMQ 消息队列  
消息队列的优缺点
主流的消息队列
RabbitMQ的安装
RabbitMQ的几种消息队列模式
SpringBoot整合RabbitMQ
9 Redis Redis简介  
Redis安装和使用
Redis的数据类型
事务
SpringBoot整合Redis
声明式缓存
缓存穿透、击穿、雪崩
淘汰策略
持久化策略
10 微信支付 支付流程  
实现微信支付接入
微信平台通知后台
11 JWT单点登录 RSA加密算法  
JWT
单点登录实现流程
解决cookie写入失败的问题
15 项目实战:微服务电商项目 SpringBoot+SpringCloud+RabbitMQ+ES+Redis  

 

你可能感兴趣的:(分布式,java,javaweb,spring,spring,cloud,redis)