Java学习指南
1 Java基础阶段
1.1 Java语言基础
1.2 MySQL基础
- MySQL基础(一):
- 1 为什么要学习数据库?
- 2 数据库的相关概念 。
- 3 数据库的特点 。
- 4 MySQL简介 。
- 5 MySQL数据库的使用 。
- 6 SQL语言的分类 。
- 7 准备工作 。
- 8 基础查询。
- MySQL基础(二):
- 1 条件查询 。
- 2 排序查询 。
- 3 常见函数 。
- 4 分组查询 。
- 5 连接查询。
- MySQL基础(三):
- 1 子查询 。
- 2 分页查询 。
- 3 union联合查询。
- MySQL基础(四):
- 1 DML 。
- 2 DDL。
- MySQL基础(五):
- 1 约束 。
- 2 标识列。
- MySQL基础(六):
- 1 事务 。
- 2 视图(了解)。
- MySQL基础(七):
- 1 变量(了解)。
- 2 存储过程和函数(了解)。
- 3 流程控制结构(了解)。
1.3 NIO
- NIO:
- 1 Java NIO简介。
- 2 Java NIO和IO的主要区别。
- 3 缓冲区(Buffer)和通道(Channel)。
- 4 NIO的非阻塞式网络通信。
- 5 Java NIO2(Path、Paths和Files)。
1.4 线程池
1.5 并发编程
1.6 JDK8+
- JDK8:
- 1 JavaSE的发展历史。
- 2 了解Open JDK和Oracle JDK 。
- 3 JDK8新特性。
1.7 数据结构和算法
1.8 设计模式
1.9 JDBC
2 JavaWeb阶段
3 JavaEE阶段
3.1 Spring5
- Spring5:
- 1 Spring的概念。
- 2 IOC容器。
- 3 AOP。
- 4 JdbcTemplate 。
- 5 事务管理。
- 6 Spring5新特性。
3.2 Mybatis
- Mybatis的简介:
- 1 Mybatis的简介
- 2 Mybatis历史
- 3 为什么要使用Mybatis?
- 4 下载地址。
- Mybatis的入门:
- 1 Mybatis入门步骤。
- 2 Mybatis-HelloWorld。
- Mybatis的全局配置文件:
- 1 概述。
- 2 properties(了解)。
- 3 settings。
- 4 typeAliases(别名处理器)。
- 5 typeHandlers(类型处理器)。
- 6 plugins(插件)。
- 7 environments(环境)。
- 8 databaseIdProvider。
- 9 mapper(映射)。
- Mybatis的映射文件:
- 1 增删改查。
- 2 INSERT获取自增主键的值。
- 3 INSERT获取非自增主键的值。
- 4 参数处理。
- 5 select元素。
- Mybatis的动态SQL:
- 1 简介。
- 2 环境搭建。
- 3 if判断。
- 4 where查询条件。
- 5 trim自定义字符串截取。
- 6 choose分支选择。
- 7 set更新。
- 8 foreach遍历。
- 9 MySQL下的foreach批量插入的两种方式。
- 10 Oracle下的foreach批量插入的两种方式。
- 11 内置参数。
- 12 bind绑定。
- 13 抽取可重用的SQL片段。
- Mybatis的缓存机制:
- 1 Mybatis的缓存机制介绍。
- 2 准备工作。
- 3 一级缓存。
- 4 二级缓存。
- Mybatis和Spring的整合:
- 1 准备工作。
- 2 配置。
- 3 编码。
- Mybatis的逆向工程:
- 1 简介。
- 2 MBG逆向工程。
- Mybatis的工作原理:
- 1 Mybatis框架分层架构。
- 2 SqlSessionFactory的初始化。
- 3 openSession()获取SqlSession对象。
- 4 getMapper获取接口的代理对象。
- 5 查询流程。
- Mybatis的插件开发:
- 1 插件原理。
- 2 插件开发步骤及应用示例。
- Mybatis的注解开发:
- 1 前言。
- 2 环境准备。
- 3 Mybatis注解实现常用的CRUD。
- 4 Mybatis注解实现一对一关联查询。
- 5 Mybatis注解实现一对多关联查询。
- Mybatis的扩展:
- 1 Mybatis分页插件--PageHelper。
- 2 批量操作。
- 3 自定义类型处理器。
3.3 SpringMVC
- SpringMVC:
- 1 SpringMVC概述。
- 2 SpringMVC的入门。
- 3 请求参数的绑定。
- 4 常用注解。
- 5 响应数据和结果视图。
- 6 文件上传。
- 7 拦截器。
- 8 异常处理。
3.4 Spring注解驱动开发
- Spring注解驱动开发之IOC:
- 1 设计模式-工厂模式。
- 2 IOC和DI。
- 3 Spring注解驱动入门。
- 4 IOC常用注解分析。
- 5 Spring高级之IOC的深入剖析。
- Spring注解驱动开发之AOP:
- 1 设计模式--代理模式。
- 2 AOP思想及实现原理。
- 3 Spring注解驱动AOP开发入门。
- 4 AOP常用注解分析。
- 5 AOP注解执行过程及核心对象的分析。
- Spring注解驱动开发之TX:
- 1 Spring对JDBC的封装。
- 2 Spring中的事务。
- Spring注解驱动开发之MVC:
- 1 SpringMVC注解驱动开发。
- 2 常用注解说明。
- 3 SpringMVC中各组件详解及源码分析。
- 4 拦截器的执行时机和调用过程。
- 5 类型转换器和异常处理器。
- 6 SpringMVC中的文件上传。
3.5 Docker
- 初识Docker:
- 1 Docker出现的背景。
- 2 Docker的概念。
- Docker的安装:
- 1 前提说明。
- 2 Docker的组成。
- 3 Docker的安装。
- 4 卸载Docker。
- 5 配置阿里云镜像加速。
- 6 通过脚本安装。
- Docker命令:
- 1 Docker进程相关命令。
- 2 镜像相关命令。
- 3 容器相关命令。
- 4 常用命令。
- Docker容器的数据卷:
- 1 数据卷。
- 2 数据卷容器。
- Docker应用部署:
- 1 Docker安装MySQL。
- 2 Docker安装Tomcat。
- 3 Docker安装Nginx。
- 4 Docker安装Redis。
- Dockerfile:
- 1 镜像原理。
- 2 镜像制作。
- Docker服务编排:
- 1 服务编排概念。
- 2 Docker Compose概念。
- 3 Docker Compose的安装和卸载。
- 4 Docker Compose的应用示例。
- Docker相关概念:
- 1 容器。
- 2 Docker容器虚拟化 VS 传统虚拟机。
- Docker Swarm:
- 1 Docker Swarm介绍。
- 2 Docker Swarm特点。
- 3 Docker Swarm架构。
- 4 Docker Swarm的使用。
- Docker仓库:
- 1 官方仓库构建。
- 2 Harbor仓库构建。
- Docker的网络管理:
- 1 Docker网络通讯。
- 2 Docker网络模式修改。
- 3 网络隔离。
3.6 SpringBoot核心技术篇
- SpringBoot入门:
- 1 简介。
- 2 微服务。
- 3 入门案例。
- 4 HelloWorld探究。
- SpringBoot配置:
- 1 配置文件。
- 2 YAML语法。
- 3 YAML配置文件值注入。
- 4 配置文件占位符。
- 5 profile多环境配置。
- 6 配置文件加载位置。
- 7 外部配置加载顺序。
- 8 自动配置原理。
- SpringBoot和日志:
- 1 市面上的日志框架。
- 2 SLF4j的使用。
- 3 SpringBoot日志关系。
- 4 日志使用。
- 5 切换日志框架。
- SpringBoot和web开发:
- 1 简介。
- 2 SpringBoot对静态资源的映射规则。
- 3 模板引擎。
- 4 SpringMVC自动配置。
- 5 如何修改SpringBoot的默认配置。
- 6 错误处理机制。
- 7 配置嵌入式Servlet容器。
- SpringBoot和数据访问:
- 1 简介。
- 2 整合基本JDBC和数据源。
- 3 整合Mybatis。
- 4 整合JPA。
- SpringBoot启动配置原理:
- 1 启动流程。
- 2 总结事件回调机制。
- SpringBoot自定义starters:
- 1 自定义starter的原理。
- 2 自定义starter。
3.7 SpringBoot高级整合篇
- SpringBoot和缓存:
- 1 JSR107。
- 2 Spring缓存抽象。
- 3 几个重要概念&缓存注解。
- 4 缓存使用。
- 5 整合Redis实现缓存。
- SpringBoot和消息:
- 1 概述。
- 2 RabbitMQ简介。
- 3 RabbitMQ的运行机制。
- 4 RabbitMQ的安装测试。
- SpringBoot和检索:
- 1 简介。
- 2 概念。
- 3 SpringBoot整合ElasticSearch。
- SpringBoot和任务:
- 1 异步任务。
- 2 定时任务。
- 3 邮件任务。
- SpringBoot和开发热部署:
- 1 概述。
- 2 实现热部署方式。
- SpringBoot和监控管理:
- 1 概述。
- 2 SpringBoot整合actuator。
- 3 定制端点。
3.8 Nginx
3.9 SpringSecurity
4 JavaEE高级阶段
4.1 Activiti7
- Activiti7的基本原理和使用:
- 1 什么是工作流?
- 2 什么是Activiti7?
- 3 环境准备。
- Activiti7工作流的使用:
- 1 Activiti服务架构。
- 2 Activiti入门体验。
- 3 流程定义。
- Activiti7进阶之流程实例:
- 1 什么是流程实例?。
- 2 启动流程实例。
- 3 BusinessKey(业务标识)。
- 4 查询流程实例(关联businessKey)。
- 5 流程实例挂起和激活。
- Activiti7进阶之个人任务和流程变量:
- 1 个人任务。
- 2 流程变量。
- Activiti7进阶之组任务和网关:
- 1 组任务。
- 2 网关。
- Activiti7新特性和整合开发:
- 1 Activiti和Spring整合开发。
- 2 Activiti7和SpringBoot的整合开发。
4.2 Zookeeper
- zookeeper01:
- 1 zookeeper简介。
- 2 zookeeper的数据模型。
- 3 zookeeper单机安装。
- 4 zookeeper常用shell命令。
- 5 zookeeper的ACL(Access Control List)权限控制。
- 6 zookeeper的Java API。
- zookeeper02:
- 1 zookeeper的事件监听机制。
- 2 zookeeper集群搭建。
- 3 一致性协议:ZAB协议。
- 4 zookeeper的leader选举。
- 5 observer角色及其配置。
- 6 zookeeper API连接集群。
- zookeeper03:
- 1 zookeeper开源客户端curator介绍。
- 2 zookeeper四字监控命令。
- 3 zookeeper图形化的客户端工具(ZooInspector)。
4.3 Dubbo
4.4 Redis
4.5 MongoDB
4.6 K8s
4.7 JVM
4.8 RabbitMQ
4.9 RocketMQ
4.10 MySQL高级
4.11 Mycat
4.12 ShardingSphere
4.13 Java安全密码学
4.14 SpringCloud
- 微服务基础知识:
- 1 系统架构的演变。
- 2 分布式核心知识。
- 3 常见微服务框架。
- SpringCloud概述:
- 1 微服务中的相关概念。
- 2 SpringCloud。
- 模拟微服务环境:
- 1 数据库表。
- 2 搭建环境。
- 3 搭建商品微服务。
- 4 搭建订单微服务。
- 5 分析模拟微服务中存在的问题。
- 服务注册Eureka基础:
- 1 微服务的注册中心。
- 2 Eureka的概述。
- 3 Eureka的使用步骤。
- 4 搭建Eureka Server(注册中心)。
- 5 服务注册到Eureka注册中心。
- 6 Eureka的元数据。
- 7 Eureka中的自我保护。
- 服务注册Eureka高级:
- 1 搭建Eureka Server高可用集群。
- 2 Eureka中的常见问题。
- 3 Eureka的源码解析。
- Eureka替换方案Consul:
- 1 Eureka闭源的影响。
- 2 Consul简介。
- 3 Consul的基本使用。
- 4 基于Consul的服务注册。
- 5 Consul集群的搭建。
- Eureka替换方案Zookeeper:
- 1 Zookeeper简介。
- 2 服务提供者注册到Zookeeper。
- 3 服务消费者注册到Zookeeper。
- 负载均衡Ribbon基础:
- 1 前言。
- 2 Ribbon基础。
- 负载均衡Ribbon高级:
- 1 负载均衡概述。
- 2 基于Ribbon实现负载均衡。
- 3 Ribbon中负载均衡的源码分析。
- 服务调用Feign入门:
- 1 前言。
- 2 Feign简介。
- 3 基于Feign的服务调用。
- 4 Feign和Ribbon的联系。
- 5 负载均衡。
- 服务调用Feign高级:
- 1 Feign的配置。
- 2 请求压缩。
- 3 日志级别。
- 服务注册和发现总结:
- 1 注册中心。
- 2 服务调用。
- 微服务架构的高并发问题:
- 1 准备环境。
- 2 使用Jmeter测试接口。
- 3 系统负载过高存在的问题。
- 4 线程池隔离的方式处理积压问题。
- 服务熔断Hystrix入门:
- 1 服务容错的核心知识。
- 2 Hystrix介绍。
- 3 Rest实现服务降级。
- 4 Feign实现服务降级。
- 服务熔断Hystrix高级:
- 1 前言。
- 2 Hystrix的监控平台。
- 3 断路器的状态。
- 4 断路器的隔离策略。
- 微服务网关概述:
- 1 前言。
- 2 微服务网关的概念。
- 3 常见的API网关实现方式。
- 4 基于Nginx的网关实现。
- 微服务网关Zuul:
- 1 Zuul简介。
- 2 搭建Zuul网关服务器。
- 3 Zuul中的路由转发。
- 4 Zuul加入后的架构。
- 5 Zuul中的过滤器。
- 6 Zuul网关存在的问题。
- 7 Zuul网关的替换方案。
- 微服务网关Gateway:
- 1 Gateway简介。
- 2 入门案例。
- 3 过滤器。
- 4 统一鉴权。
- 5 网关限流。
- 6 网关高可用。
- 微服务的链路追踪:
- 1 微服务架构下的问题。
- 2 Sleuth概述。
- 3 链路追踪Sleuth入门。
- 4 ZipKin概述。
- 5 Zipkin Server的部署和配置。
- 6 客户端Zipkin和Sleuth整合。
- 7 分析Zipkin整合Sleuth的问题。
- 8 存储跟踪数据。
- 9 基于消息中间件收集数据。
- Spring Cloud Stream:
- 1 前言。
- 2 概述。
- 3 核心概念。
- 4 Spring Cloud Stream标准流程套路。
- 5 入门案例。
- 6 自定义消息通道。
- 7 消息分组。
- 8 消息分区。
- Spring Cloud Config:
- 1 什么是配置中心。
- 2 Spring Cloud Config简介。
- 3 Spring Cloud Config入门。
- 4 配置中心的高可用。
- Spring Cloud Bus:
- 1 概述。
- 2 Spring Cloud Bus动态刷新全局广播。
- 3 Spring Cloud Bus动态刷新定点通知。
- 服务注册和配置中心Nacos:
- 1 Nacos简介。
- 2 安装和运行。
- 3 Nacos作为服务注册中心。
- 4 各种服务注册中心对比。
- 5 Nacos作为服务配置中心的基础配置。
- 6 Nacos作为服务配置中心的分类配置。
- 7 Nacos集群和持久化配置。
- 服务熔断Hystrix的替换方案Sentinel:
- 1 服务熔断Hystrix的替换方案。
- 2 Sentinel概述。
- 3 安装和运行Sentinel Dashboard。
- 4 初始化演示工程。
- 5 流控规则。
- 6 降级规则。
- 7 热点key限流。
- 8 系统规则。
- 9 Rest实现服务降级。
- 10 Feign实现服务降级。
- 11 Sentinel规则持久化。
- 分布式事务Seata:。