Java全栈学习路线
资料来源:https://blog.csdn.net/mengchuan6666/article/details/120239683
一阶段:JavaSE基础
第一步:夯实Java基础语法
- 1.Java语言的发展史
- 2.JDK的下载和安装
- 3.DOS命令的介绍和使用
- 4.Path环境变量的配置
- 5.第一个代码HelloWorld案例
- 6.NotePad++软件的安装和使用
- 7.Java中的数据类型
- 8.常量的使用
- 9.变量的定义与使用
- 10.Java中代码的书写规范
- 11.数据类型之间的转换
- 12.Java中的各种运算符操作
- 13.if分支语句的灵活使用
- 14.switch分支语句
- 15.for循环结构
- 16.while循环结构
- 17.do…while循环结构
- 18.各种循环语句的区别和应用场景
- 19.循环跳转控制语句
- 20.嵌套循环的应用
- 21.使用循环嵌套打印直角三角形
- 22.IDEA开发软件
- 23.数组的动态初始化
- 24.数组的访问格式
- 25.数组的静态初始化
- 26.Java的内存划分和作用
- 27.分析数组在内存中的存储
- 28.方法的定义和调用
- 29.方法的参数和返回值问题
- 30.方法的重载(Overload)
- 31.参数是基本类型和引用类型的区别
- 32.Debug断点调试的使用
第二步:接触面向对象基础
- 1.类和对象的概述
- 2.分析对象在内存中的存储
- 3.成员变量和局部变量的区别
- 4.private关键字的应用
- 5.this关键字的应用
- 6.this关键字的内存原理
- 7.面向对象特性之封装
- 8.构造方法(Constructor)
- 9.构造方法的注意事项
- 10.标准类的定义规范
第三步:初识API基础
- 1.API的使用方式
- 2.String类的特点
- 3.String类的常用构造方法
- 4.字符串的比较规则
- 5.用户登录的案例
- 6.遍历字符串的方式
- 7.字符串的拼接
- 8.字符串的反转操作
- 9.StringBuilder类的作用
- 10.StringBuilder类的构造方法
- 11.StringBuilder类的常用方法
- 12.用StringBuilder完成字符串拼接和反转
第四步:初识集合基础
- 1.ArrayList集合的特点
- 2.ArrayList的构造方法
- 3.ArrayList的常用操作
- 4.集合存储自定义类型并遍历
- 5.学生管理系统的业务介绍
- 6.学生管理系统的创建
第五步:掌握Git的使用
- 1.Git概述和特点
- 2.Git的下载安装
- 3.Git基本概念
- 4.Git操作入门
- 5.Git历史版本控制
- 6.Git分支版本控制
- 7.Git远程仓库的操作
- 8.Git远程托管平台应用(GitHub,码云)
- 9.Git解决冲突
- 10.IDEA中集成Git应用
- 11.Git常用操作命令
第六步:深入理解面向对象原理
- 1.面向对象特性之继承
- 2.继承的好处和弊端
- 3.super关键字的作用
- 4.继承时子父类的访问特点
- 5.方法的重写(Override)
- 6.package关键字的作用
- 7.import关键字的作用
- 8.final关键字的作用
- 9.static关键字的作用
- 10.static关键字内存分析
- 11.面向对象特性之多态
- 12.多态的好处和弊端
- 13.多态中成员访问的特点
- 14.多态中的数据类型转型
- 15.instanceof关键字的使用
- 16.抽象类的特点
- 17.抽象类的成员特点
- 18.模板设计模式
- 19.接口的概述
- 20.接口的特点和注意事项
- 21.类、抽象类、接口之间的关系
- 22.内部类的概述
- 23.成员内部类的使用
- 24.局部内部类的使用
- 25.匿名内部类的使用
- 26.匿名内部类在开发中的应用
第七步:了解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工程
第八步:掌握异常
- 1.异常的概述
- 2.JVM默认处理异常的方式
- 3.异常处理方式之try…catch
- 4.异常处理方式之throws
- 5.Throwable的常用方法
- 6.异常的分类和区别
- 7.异常的注意事项
- 8.自定义异常的使用
第九步:掌握集合
- 1.集合体系结构
- 2.单列集合体系的详细讲解
- 3.迭代器的使用
- 4.增强for循环的使用
- 5.forEach方法遍历
- 6.并发修改异常的产生原因和解决办法
- 7.数据结构之栈和队列
- 8.数据结构之数组和链表
- 9.ArrayList集合源码分析
- 10.LinkedList集合源码分析
- 11.双列集合体系的详细讲解
- 12.Map集合的遍历方式
- 13.TreeSet的自然排序和比较器排序
- 14.数据结构之树
- 15.数据结构之二叉树
- 16.数据结构之二叉平衡树
- 17.数据结构之红黑树
- 18.TreeSet(TreeMap)底层源码分析
- 19.数据结构之哈希表
第十步:掌握IO流
- 1.File类对文件的操作
- 2.IO流的概述和分类
- 3.字节流写数据的方式
- 4.FileOutputStream和BufferedOutputStream源码分析
- 5.字节流读数据的方式
- 6.FileInputStream和BufferedInputStream源码分析
- 7.字节流完成视频文件的复制
- 8.编码表
- 9.字符流写数据的方法
- 10.字符串读数据的方法
- 11.字符缓冲流的使用
- 12.字符缓冲流的特有方法
- 13.标准输入输出流
- 14.打印流的使用
- 15.对象序列化流
- 16.serialVersionUID&transient
- 17.Properties的用法
- 18.内存操作流的使用
- 19.RandomAccessFile使用
- 20.SequenceInputStream的使用
- 21.压缩流/解压缩流
第十一步:深入理解多线程
- 1.进程和线程的区别
- 2.Java实现多线程的三种方式
- 3.线程API之线程名称
- 4.线程API之线程休眠
- 5.线程API之线程礼让
- 6.线程API之线程优先级
- 7.线程API之线程中断
- 8.线程API之后天线程
- 9.线程的安全问题
- 10.同步代码块
- 11.同步方法
- 12.Lock锁
- 13.死锁概述以及现象演示
- 14.死锁诊断(jstack工具的使用)
- 15.线程通讯之生产者消费者问题
- 16.线程通讯代码实现之同步代码块
- 17.线程通讯代码实现之Condition实现通信|
- 18.线程通讯代码实现之阻塞队列(BlockingQueue)实现
- 19.线程的状态
- 20.线程池概述
- 21.自定义线程池
- 22.Executors创建线程池
- 23.ThreadPoolExecutor创建线程池
- 24.ThreadPoolExecutor原理介绍以及任务拒绝策略介绍
- 25.volatile关键字
- 26.JMM内存模型
- 27.原子性概述
- 28.原子类AtomicInteger类的使用
- 29.CAS算法
- 30.并发容器ConcurrentHashMap原理讲解
- 31.并发工具类(CountDownLatch,Semaphore,CyclicBarrier,Exchanger)的使用
第十二步:学习网络编程
- 1.网络编程的概述
- 2.网络编程的三要素之ip地址(ipv4,ipv6)
- 3.InetAddress类的操作
- 4.网络编程的三要素之端口和协议的详细解释
- 5.网络参考模型
- 6.UDP协议发送与接收数据
- 7.聊天小程序案例
- 8.UDP协议中广播与组播
- 9.TCP协议发送与接收数据
- 10.多线程下文件的上传
- 11.NIO概述
- 12.NIO之Buffer的使用
- 13.NIO之Channel的使用
- 14.NIO之Selector的使用
- 15.自定义非阻塞式的HTTP静态服务器
第十三步:了解反射
- 1.虚拟机类加载机制(概述,类加载过程,类的初始化时机)
- 2.类加载器(概述,分类,双亲委派机制,ClassLoader类,自定义类加载)
- 3.反射机制的概述
- 4.获取Class类的对象
- 5.反射获取构造方法并使用
- 6.反射获取成员方法并使用
- 7.反射获取成员变量并使用
- 8.自定义非阻塞式的HTTP动态服务器
二阶段:数据库
第一步:熟练掌握MySQL基本操作
- 1.数据库的概念
- 2.常见的数据库软件
- 3.MySQL数据库的安装卸载
- 4.MySQL数据库的登录退出
- 5.MySQL的目录结构
- 6.SQL语句的分类
- 7.数据库和数据表的操作
- 8.数据的添加(insert)
- 9.数据的删除(delete)
- 10.数据的修改(update)
- 11.数据的查询(select)
- 12.数据的复杂查询
- 13.约束的使用
- 14.多表关系(一对一、一对多、多对多)
- 15.数据库的还原和备份
- 16.多表查询操作
- 17.事务介绍
- 18.事务的隔离
- 19.数据库的用户管理和权限管理
- 20.视图的使用
- 21.存储过程的使用
- 22.触发器的使用
- 23.存储引擎原理
- 24.索引高效查询
- 25.锁机制
第二步:了解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新特性
- 8.Nginx服务器介绍
- 9.Nginx 下载和安装
- 10.Nginx 编译和启动、访问
- 11.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嵌入方式
- 2.JavaScript基本语法
- 3.ECMA6新特性
- 4.JavaScript流程控制
- 5.数组、函数、对象的使用
- 6.JavaScript面向对象
- 7.常用内置对象
- 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转换工具使用|
- 6.异步实现分页案例
第九步:了解VUE
- 1.VUE概述
- 2.VUE入门案例
- 3.VUE模板语法
- 4.VUE的文本插值
- 5 .VUE的绑定属性
- 6 .VUE的条件渲染
- 7.VUE的列表渲染
- 8.VUE的事件绑定
- 9.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
- 8.Redis数据删除策略
- 9.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.坐标、依赖、生命周期等
- 7.IDEA下的Maven使用
- 8.pom文件依赖传递介绍
- 9.依赖冲突的解决
- 10.Maven项目继承的关系
- 11.Maven项目聚合的关系
- 12.分模块搭建聚合项目
- 13.私有服务器仓库介绍和搭建
- 14.本地资源上传到私有服务器
- 15.从私有服务器下载资源到本地
- 16.安装第三方资源到本地仓库
- 17.安装第三方资源到私有服务器仓库
- 18.Maven多环境开发
- 19.单元测试
- 20.自定义插件
第五步:了解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
- 1.SpringBoot介绍
- 2.SpringBoot的核心功能
- 3.SpringBoot的优势
- 4.SpringBoot入门程序
- 5.起步依赖原理分析
- 6.自动配置原理解析
- 7.自定义起步依赖并实现自动配置
- 8.SpringBoot配置文件类型
- 9.配置文件与配置类的属性映射方式
- 10.SpringBoot整合Mybatis
- 11.SpringBoot整合Junit
- 12.SpringBoot整合Redis
- 13.自定义Starter
- 14.事件监听
- 15.初始化流程
第八步:了解RocketMQ
- 1、RocketMQ概述
- 2、搭建RocketMQ
- 3、RocketMQ-Console管理控制台
- 4、RocketMQ模式
- 5、SpringBoot 整合 RocketMQ
- 6、集群安装部署
- 7、基于MQ的分布式事务解决方案说明
第九步:掌握Spring Cloud
- 1.SpringCloud介绍和Dubbo对比
- 2.服务注册中心Eureka介绍
- 3.Eureka服务端开发
- 4.微服务开发并注册到Eureka服务注册中心
- 5.Eureka保护模式介绍
- 6.客户端负载和服务端负载的介绍
- 7.Ribbon实现客户端负载均衡
- 8.Feign的介绍和实现
- 9.Feign工作原理和注意事项
- 10.雪崩效应与熔断器介绍
- 11.熔断器Hystrix使用
- 12.网关介绍
- 13.基于Gateway构建网关服务
- 14.通过Gateway网关访问微服务
- 15.Spring Cloud Config介绍
- 16.使用Git存储的方式实现配置管理
- 17.微服务改造从配置中心获取配置信息
- 18.服务总线Spring Cloud Bus介绍和应用
- 19、Eureka集群|20、Eureka Web介绍
- 21、Consul服务治理与配置管理
- 22、Nacos动态服务发现与配置管理
- 23、Sleuth链路追踪
- 24、Zipkin展示
- 25、config本地读取
- 26、Stream消息驱动
- 27、微服务Docker部署
第十步:了解Docker
- 1.Docker简介
- 2.容器与虚拟机比较
- 3.Docker的安装和启动
- 4.Docker镜像命令介绍和应用
- 5.Docker容器命令介绍和应用
- 6.Docker部署Mysql
- 7.Docker部署Tomcat
- 8.Docker部署Nginx
- 9.Docker部署Redis
- 10.容器保存转为镜
- 11.镜像备份
- 12.镜像恢复和迁移
- 13.Dockerfile介绍和常用指令
- 14.Docker Compose 常用命令
- 15.Docker私有仓库使用
五阶段:计算机基础
数据结构与算法
- 1.顺序表
- 2.链式表
- 3.合并链表
- 4.循环链表
- 5.双向链表
- 6.多项链表合并
- 7.顺序栈
- 8.栈的应用
- 9.循环队列
- 10.链式队列
- 11.串的堆分配
- 12.数组
- 13.矩阵压缩
- 14.矩阵压缩
- 15.树
- 16.图
- 17.查找
- 18.排序