2021年8月12日-------Java从基础到项目教程,Java全栈学习路线,帮你省去培训机构的2万块钱。
余生很贵,请努力活成自己想要的样子。
如何进行学习,别着急,我整理全栈的Java学习路线。帮你吊打面试官。
转载自一位大佬
首先是Java的知识点
一阶段:JavaSE基础
第一步:夯实Java基础语法
-
Java语言的发展史
-
JDK的下载和安装
-
DOS命令的介绍和使用
-
Path环境变量的配置
-
第一个代码HelloWorld案例
-
NotePad++软件的安装和使用
-
Java中的数据类型
-
常量的使用
-
变量的定义与使用
-
Java中代码的书写规范
-
数据类型之间的转换
-
Java中的各种运算符操作
-
if分支语句的灵活使用
-
switch分支语句
-
for循环结构
-
while循环结构
-
do…while循环结构
-
各种循环语句的区别和应用场景
-
循环跳转控制语句
-
嵌套循环的应用
-
使用循环嵌套打印直角三角形
-
IDEA开发软件
-
数组的动态初始化
-
数组的访问格式
-
数组的静态初始化
-
Java的内存划分和作用
-
分析数组在内存中的存储
-
方法的定义和调用
-
方法的参数和返回值问题
-
方法的重载(Overload)
-
参数是基本类型和引用类型的区别
-
Debug断点调试的使用
第二步:接触面向对象基础
-
类和对象的概述
-
分析对象在内存中的存储
-
成员变量和局部变量的区别
-
private关键字的应用
-
this关键字的应用
-
this关键字的内存原理
-
面向对象特性之封装
-
构造方法(Constructor)
-
构造方法的注意事项
-
标准类的定义规范
第三步:初识API基础
-
API的使用方式
-
String类的特点
-
String类的常用构造方法
-
字符串的比较规则
-
用户登录的案例
-
遍历字符串的方式
-
字符串的拼接
-
字符串的反转操作
-
StringBuilder类的作用
-
StringBuilder类的构造方法
-
StringBuilder类的常用方法
-
用StringBuilder完成字符串拼接和反转
第四步:初识集合基础
-
ArrayList集合的特点
-
ArrayList的构造方法
-
ArrayList的常用操作
-
集合存储自定义类型并遍历
-
学生管理系统的业务介绍
-
学生管理系统的创建
第五步:掌握Git的使用
-
Git概述和特点
-
Git的下载安装
-
Git基本概念
-
Git操作入门
-
Git历史版本控制
-
Git分支版本控制
-
Git远程仓库的操作
-
Git远程托管平台应用(GitHub,码云)
-
Git解决冲突
10.IDEA中集成Git应用
11.Git常用操作命令
第六步:深入理解面向对象原理
-
面向对象特性之继承
-
继承的好处和弊端
-
super关键字的作用
-
继承时子父类的访问特点
-
方法的重写(Override)
-
package关键字的作用
-
import关键字的作用
-
final关键字的作用
-
static关键字的作用
-
static关键字内存分析
-
面向对象特性之多态
-
多态的好处和弊端
-
多态中成员访问的特点
-
多态中的数据类型转型
-
instanceof关键字的使用
-
抽象类的特点
-
抽象类的成员特点
-
模板设计模式
-
接口的概述
-
接口的特点和注意事项
-
类、抽象类、接口之间的关系
-
内部类的概述
-
成员内部类的使用
-
局部内部类的使用
-
匿名内部类的使用
-
匿名内部类在开发中的应用
第七步:了解Web服务器
1.JavaEE规范概述
2.网络资源分析之静态资源和动态资源
3.系统结构分析之C/S和B/S
4.Tomcat概述
5.Tomcat下载与安装
6.Tomcat各版本所需支持
7.Tomcat启动及启动问题分析及解决
8.Tomcat目录结构详解|9.IDEA集成Tomcat
9.JavaEE工程概述
10.IDEA创建JavaEE工程
第八步:掌握异常
-
异常的概述
-
JVM默认处理异常的方式
-
异常处理方式之try…catch
-
异常处理方式之throws
-
Throwable的常用方法
-
异常的分类和区别
-
异常的注意事项
-
自定义异常的使用
第九步:掌握集合
-
集合体系结构
-
单列集合体系的详细讲解
-
迭代器的使用
-
增强for循环的使用
-
forEach方法遍历
-
并发修改异常的产生原因和解决办法
-
数据结构之栈和队列
-
数据结构之数组和链表
-
ArrayList集合源码分析
-
LinkedList集合源码分析
-
双列集合体系的详细讲解
-
Map集合的遍历方式
-
TreeSet的自然排序和比较器排序
-
数据结构之树
-
数据结构之二叉树
-
数据结构之二叉平衡树
-
数据结构之红黑树
-
TreeSet(TreeMap)底层源码分析
-
数据结构之哈希表
第十步:掌握IO流
-
File类对文件的操作
-
IO流的概述和分类
-
字节流写数据的方式
-
FileOutputStream和BufferedOutputStream源码分析
-
字节流读数据的方式
-
FileInputStream和BufferedInputStream源码分析
-
字节流完成视频文件的复制
-
编码表
-
字符流写数据的方法
-
字符串读数据的方法
-
字符缓冲流的使用
-
字符缓冲流的特有方法
-
标准输入输出流
-
打印流的使用
-
对象序列化流
-
serialVersionUID&transient
-
Properties的用法
-
内存操作流的使用
-
RandomAccessFile使用
-
SequenceInputStream的使用
-
压缩流/解压缩流
第十一步:深入理解多线程
-
进程和线程的区别
-
Java实现多线程的三种方式
-
线程API之线程名称
-
线程API之线程休眠
-
线程API之线程礼让
-
线程API之线程优先级
-
线程API之线程中断
-
线程API之后天线程
-
线程的安全问题
-
同步代码块
-
同步方法
-
Lock锁
-
死锁概述以及现象演示
-
死锁诊断(jstack工具的使用)
-
线程通讯之生产者消费者问题
-
线程通讯代码实现之同步代码块
-
线程通讯代码实现之Condition实现通信|
-
线程通讯代码实现之阻塞队列(BlockingQueue)实现
-
线程的状态
-
线程池概述
-
自定义线程池
-
Executors创建线程池
-
ThreadPoolExecutor创建线程池
-
ThreadPoolExecutor原理介绍以及任务拒绝策略介绍
-
volatile关键字
-
JMM内存模型
-
原子性概述
-
原子类AtomicInteger类的使用
-
CAS算法
-
并发容器ConcurrentHashMap原理讲解
-
并发工具类(CountDownLatch,Semaphore,CyclicBarrier,Exchanger)的使用
第十二步:学习网络编程
-
网络编程的概述
-
网络编程的三要素之ip地址(ipv4,ipv6)
-
InetAddress类的操作
-
网络编程的三要素之端口和协议的详细解释
-
网络参考模型
-
UDP协议发送与接收数据
-
聊天小程序案例
-
UDP协议中广播与组播
-
TCP协议发送与接收数据
-
多线程下文件的上传
-
NIO概述
-
NIO之Buffer的使用
-
NIO之Channel的使用
-
NIO之Selector的使用
-
自定义非阻塞式的HTTP静态服务器
第十三步:了解反射
-
虚拟机类加载机制(概述,类加载过程,类的初始化时机)
-
类加载器(概述,分类,双亲委派机制,ClassLoader类,自定义类加载)
-
反射机制的概述
-
获取Class类的对象
-
反射获取构造方法并使用
-
反射获取成员方法并使用
-
反射获取成员变量并使用
-
自定义非阻塞式的HTTP动态服务器
二阶段:数据库
第一步:熟练掌握MySQL基本操作
-
数据库的概念
-
常见的数据库软件
-
MySQL数据库的安装卸载
-
MySQL数据库的登录退出
-
MySQL的目录结构
-
SQL语句的分类
-
数据库和数据表的操作
-
数据的添加(insert)
-
数据的删除(delete)
-
数据的修改(update)
-
数据的查询(select)
-
数据的复杂查询
-
约束的使用
-
多表关系(一对一、一对多、多对多)
-
数据库的还原和备份
-
多表查询操作
-
事务介绍
-
事务的隔离
-
数据库的用户管理和权限管理
20.视图的使用
21.存储过程的使用
22.触发器的使用
23.存储引擎原理
24.索引高效查询
25.锁机制
26.数据库集群
第二步:了解JDBC
1.JDBC基本概述
2.JDBC入门和步骤分析
3.DriverManager详解
4.Connection详解
5.Statement详解
6.ResultSet详解
7.Driver接口介绍
8.JDBC的CRUD操作
9.SQL注入分析
10.PreparedStatement详解
11.JDBC的使用案例
12.连接池基础
13.自定义连接池
14.装饰者模式和默认适配器
15.代理模式-动态代理技术
16.C3P0连接池的使用
17.druid连接池的使用
18.Jdbc操作模板的封装-自定义JdbcTemplate
19.数据库中的元信息
20.策略模式的运用-结果集的封装处理器
三阶段:JavaWeb
第一步:了解HTML&CSS
1.HTML基本使用
2.HTML常用标签
3.CSS选择器
4.常用样式
5.盒子模型与布局
6.HTML5新特性
7.CSS3新特性
-
Nginx服务器介绍
-
Nginx 下载和安装
-
Nginx 编译和启动、访问
-
Nginx中部署静态网站
第二步:深入理解Servlet底层原理
1.Servlet概述
2.Servlet编码步骤
3.Servlet执行过程分析
4.Servlet的实现方式分析
5.Servlet的类试图详解
6.Servlet的生命周期
7.Servlet的线程安全问题分析
8.Servlet的映射方式及优先级
9.Servlet的多路径映射
10.Servlet的启动时创建配置
11.默认Servlet
12.Servlet的配置对象ServletConfig
13.Servlet的上下文对象ServletContext
14.域对象概念
15.请求对象介绍
16.请求对象的生命周期
17.HttpServletRequest的常用方法
18.获取请求参数
19.BeanUtils详解
20.请求参数的乱码问题
21.请求转发的使用
22.响应对象介绍
23.HttpServletResponse的常用方法
24.响应的乱码问题
25.设置响应消息头的使用
26.重定向的概念和使用
27.请求转发和重定向的区别
第三步:了解Cookie&Session
1.会话管理概述
2.会话管理分类
3.Cookie概述和实现机制
4.Cookie的组成
5.Cookie的使用细节
6.Cookie的使用案例
7.HttpSession概述
8.会话域概念及使用场景分析
9.HttpSession的常用方法
10.HttpSession实现原理分析
11.客户端禁用Cookie的会话保持
12.HttpSession的钝化和活化
13.HttpSession的使用案例
第四步:了解JSP
1.JSP语法
2.JSP原理
3.JSP脚本片段&表达式
4.JSP声明&指令
5.JSP九大隐含对象
6.域对象使用
第五步:了解EL和JSTL
1.EL表达式简介
2.EL使用
3.EL取值原理
4.EL的11大隐含对象
5.EL执行运算
6.EL函数库
7.JSTL-核心标签库
8.JSTL-函数标签库
第六步:精通JavaScript
1.JavaScript嵌入方式
-
JavaScript基本语法
-
ECMA6新特性
4.JavaScript流程控制
5.数组、函数、对象的使用
-
JavaScript面向对象
-
常用内置对象
8.JavaScript事件绑定/触发
9.JavaScript DOM操作及API
10.JavaScript BOM对象及API
第七步:了解JQuery
1.JQuery快速入门
2.JQuery语法详解
3.JQuery核心函数
4.JQuery对象/JavaScript对象
5.JQuery选择器
6.JQueryDOM操作
7.JQuery事件
8.JQuery动画效果
9.JQuery遍历
第八步:掌握Ajax
1.同步与异步应用场景
2.JS原生方式实现异步
3.JQuery方式实现异步
4.JSON数据格式介绍
5.JSON转换工具使用|
- 异步实现分页案例
第九步:了解VUE
1.VUE概述
2.VUE入门案例
3.VUE模板语法
4.VUE的文本插值
5 .VUE的绑定属性
6 .VUE的条件渲染
-
VUE的列表渲染
-
VUE的事件绑定
-
VUE的表单绑定
10.VUE的组件
11.VUE的生命周期
12.VUE的axios异步
13.VUE与Element整合案例
第十步:熟悉Redis
1.NoSQL&Redis入门
2.Redis优势
3.Redis安装&启动
4.Redis五大数据类型和基本操作命令
5.Redis总体配置Redis.conf
6.Redis持久化(RDB和AOF)
7.Jedis
-
Redis数据删除策略
-
Redis数据淘汰策略
10.集群主从复制
11.集群哨兵模式
12.企业级解决方案
四阶段:框架进阶
第一步:掌握Spring
1.框架简介
2.Spring概述
3.耦合与解耦
4.工厂设计模式
5.IoC概述及作用
6.Spring基于XML的IoC配置入门
7.Spring基于XML的IoC配置详解
8.依赖注入的概念
9.Spring中的依赖注入
10.Spring中多配置文件配置及问题分析
11.Spring基于XML和Mybatis的整合
12.Spring基于注解的IoC配置
13.常用注解的使用
14.Spring整合Junit
15.Spring高级分析之-IoC容器说明
16.Spring高级分析之-组件扫描器TypeFilter
17.Spring高级分析之-Import注解和自定义导入器
18.Spring高级分析之-BeanFactoryPostProcessor
19.Spring高级分析之-BeanPostProcessor
20.Spring高级分析之-InitializingBean
21.Spring高级分析之-FactoryBean
22.AOP编程思想,作用,优势及实现原理分析
23.代理模式和动态代理实现AOP思想的案例
24.Spring中的AOP简介和常用术语
25.Spring基于XML的AOP配置
26.5种通知类型分析
27.切入点表达式详解
28.Spring基于注解的AOP配置
29.Spring中AOP的高级分析之-EnableAspectjAutoProxy注解的解析分析
30.Spring中AOP的运行期增强的执行过程分析
31.Spring中事务的API详解
32.Spring基于XML的事务配置
33.Spring基于注解的事务配置
34.Spring事务高级分析之-TransactionTemplate源码分析
35.Spring事务高级分析之-DataSourceUtils源码分析
36.Spring事务高级分析之-TransactionSynchronizationManager源码分析
37.Spring事务高级分析之-TransactionEventListener注解的加载过程分析
38.Spring中的模板对象介绍
39.JdbcTemplate和NamedParameterJdbcTemplate的使用
40.RedisTemplate的使用|41.Spring事务设计的设计模式分析
第二步:掌握SpringMVC
1.SpringMVC概述
2.SpringMVC基于XML的环境搭建
3.SpringMVC基于Servlet3.0规范的纯注解环境搭建
4.纯注解环境搭建的入门案例执行过程分析
5.SpringMVC常用组件介绍
6.SpringMVC的 @RequestMapping注解详解
7.SpringMVC中的请求参数封装
8.SpringMVC中的表单校验相关注解
9.SpringMVC中和ServletAPI相关的注解使用详解
10.SpringMVC中控制器方法的返回值详解
11.SpringMVC中的异步交互和相关注解介绍
12.Rest风格URL详解
13.@PathVariable注解详解
14.Postman工具
15.跨域访问详解和 @CrossOrigin注解的使用
16.SpringMVC中的请求参数封装源码分析和运用的设计模式介绍
17.SpringMVC中的父子容器
18.SpringMVC中的异常处理
19.SpringMVC中的拦截器使用
20.SpringMVC中的文件上传|21.Spring SpringMVC Mybatis的整合
第三步:掌握MyBatis
1.概述
2.4MyBatis的快速入门
3.源码剖析
4.全局配置文件详解
5.映射配置文件详解
6.的相关API
7.增删改查案例
8.参数深入
9.结果集封装
10.连接池与事务深入
11.动态sql语句
12.多表查询
13.延迟加载策略
14.的注解开发
15.新增@SelectProvider@UpdateProvide
16.新增@InsertProvider@DeleteProvide
17.新增分页插件
18.新增学生系统改造
19.两种方式实现CRUD
20.日志集成
第四步:掌握Maven基本操作
1.Maven环境搭建
2.Maven构建&自动化构建
3.本地仓库&中央仓库
4.Maven创建Java、Web工程
5.pom.xml、依赖管理
6.坐标、依赖、生命周期等
-
IDEA下的Maven使用
-
pom文件依赖传递介绍
-
依赖冲突的解决
-
Maven项目继承的关系
-
Maven项目聚合的关系
-
分模块搭建聚合项目
-
私有服务器仓库介绍和搭建
-
本地资源上传到私有服务器
-
从私有服务器下载资源到本地
-
安装第三方资源到本地仓库
-
安装第三方资源到私有服务器仓库
-
Maven多环境开发
-
单元测试
-
自定义插件
第五步:了解Zookeeper
1、初识ZooKeeper
2、ZooKeeper数据模型
3、ZooKeeper安装与配置
4、日志可视化
5、ZooKeeper常用命令(服务器、客户端命令)
6、ACL常用命令
7、四字常用命令
8、ZooKeeper集群搭建
9、ZooKeeper12306售票实战
10、Observer使用
11、ZooKeeper机制讲解(ZooKeeper选举、ZooKeeper脑裂效应等)
第六步:了解Dubbo
1.软件架构的演进过程
2.Dubbo简介
3.Dubbo架构
4.Dubbo服务提供方开发
5.Dubbo服务消费方开发
6.Dubbo-admin使用
7.Dubbo相关配置说明
8、监控中心
9、升级版Dubbo-admin使用
10、12种Dubbo高级特性
11、架构原理
12、工作原理与服务治理
13、心跳与通信
14、支持的注册中心和协议
第七步:掌握Spring Boot
-
SpringBoot介绍
-
SpringBoot的核心功能
-
SpringBoot的优势
-
SpringBoot入门程序
-
起步依赖原理分析
-
自动配置原理解析
-
自定义起步依赖并实现自动配置
-
SpringBoot配置文件类型
-
配置文件与配置类的属性映射方式
-
SpringBoot整合Mybatis
-
SpringBoot整合Junit
-
SpringBoot整合Redis
-
自定义Starter
-
事件监听
-
初始化流程
第八步:了解RocketMQ
1、RocketMQ概述
2、搭建RocketMQ
3、RocketMQ-Console管理控制台
4、RocketMQ模式
5、SpringBoot 整合 RocketMQ
6、集群安装部署
7、基于MQ的分布式事务解决方案说明
第九步:掌握Spring Cloud
-
SpringCloud介绍和Dubbo对比
-
服务注册中心Eureka介绍
-
Eureka服务端开发
-
微服务开发并注册到Eureka服务注册中心
-
Eureka保护模式介绍
-
客户端负载和服务端负载的介绍
-
Ribbon实现客户端负载均衡
-
Feign的介绍和实现
-
Feign工作原理和注意事项
-
雪崩效应与熔断器介绍
-
熔断器Hystrix使用
-
网关介绍
-
基于Gateway构建网关服务
-
通过Gateway网关访问微服务
-
Spring Cloud Config介绍
-
使用Git存储的方式实现配置管理
-
微服务改造从配置中心获取配置信息
-
服务总线Spring Cloud Bus介绍和应用
19、Eureka集群|20、Eureka Web介绍
21、Consul服务治理与配置管理
22、Nacos动态服务发现与配置管理
23、Sleuth链路追踪
24、Zipkin展示
25、config本地读取
26、Stream消息驱动
27、微服务Docker部署
第十步:了解Docker
-
Docker简介
-
容器与虚拟机比较
-
Docker的安装和启动
-
Docker镜像命令介绍和应用
-
Docker容器命令介绍和应用
-
Docker部署Mysql
-
Docker部署Tomcat
-
Docker部署Nginx
-
Docker部署Redis
-
容器保存转为镜
-
镜像备份
-
镜像恢复和迁移
-
Dockerfile介绍和常用指令
-
Docker Compose 常用命令
-
Docker私有仓库使用
五阶段:数据结构与算法
第一步:了解数据结构
-
顺序表
-
链式表
-
合并链表
-
循环链表
-
双向链表
-
多项链表合并
-
顺序栈
-
栈的应用
-
循环队列
-
链式队列
-
串的堆分配
-
数组
-
矩阵压缩
-
矩阵压缩
-
树
-
图
-
查找
-
排序
发布评论