阶段一 JavaSE基础
展开第一章 Java基础语法

1-1 Java入门
免费试学

- 01、Java课程简介
- 02、Java语言概述
- 03、Java环境搭建:JDK安装、常用命令
- 04、Java入门程序开发
- 05、Java入门程序:常见问题解答
1-2 开发工具
免费试学

- 06、补充知识:Java执行原理、bug介绍
- 07、补充知识:JDK组成、跨平台原理
- 08、补充知识:JDK安装后Path和JAVA_HOME环境变量
- 09、idea开发工具介绍
- 10、idea开发第一个程序
- 11、idea的配置、快捷键
1-3 基础语法
免费试学

- 12、基础语法:注释
- 13、基础语法:字面量
- 14、基础语法:认识变量
- 15、基础语法:变量的应用场景
- 16、基础语法:变量使用时的注意事项
- 17、基础语法:关键字、标识符
1-4 类型转换
免费试学

- 01、基础语法:变量原理、ASCII、二进制
- 02、二进制转十进制、八进制、十六进制、数据单位
- 03、数据类型详解
- 04、自动类型转换
- 05、表达式的自动类型转换
- 06、强制类型转换
1-5 运算符
免费试学

- 07、算术运算符、+符号做连接符
- 08、自增、自减运算符
- 09、赋值运算符
- 10、关系运算符
- 11、逻辑运算符
- 12、三元运算符、运算符优先级
- 13、API介绍、Scanner:录入用户键盘输入的数据
1-6 分支结构&循环控制
免费试学

- 01、程序流程控制控制介绍
- 02、分支结构:if
- 03、分支结构:switch
- 04、分支结构:switch的注意事项、穿透性
- 05、循环结构:for循环概述
- 06、循环结构:for循环案例1:求和
- 07、循环结构:for循环案例2:求奇数和
1-7 循环控制&随机数

- 08、循环结构:while循环
- 09、循环结构:while循环案例
- 10、循环结构:do-while循环
- 11、循环的形式:死循环概述
- 12、循环的形式:循环嵌套
- 13、跳转关键字:break、continue
- 14、Random:生成随机数
- 15、Random的案例:猜数字游戏
1-8 数组基础

- 01、数组概述
- 02、数组的定义方式一:静态初始化数组
- 03、数组的访问
- 04、数组的遍历
- 05、案例训练
- 06、数组的定义方式二:动态初始化数组
- 07、案例训练
1-9 数组应用

- 08、数组在计算机中的执行原理,Java内存分配
- 09、多个变量指向同一个数组
- 10、数组案例:求最值
- 11、数组案例:反转
- 12、数组案例:随机排名
- 13、补充知识:debug工具
1-10 方法的定义

- 01、方法概述
- 02、方法的其他定义形式
- 03、方法使用时的常见问题
- 04、方法的案例讲解
- 05、方法在计算机中的执行
1-11 方法的参数

- 06、Java的参数传递机制:基本类型的参数传递
- 07、Java的参数传递机制:引用类型的参数传递机制
- 08、参数传递的案例1
- 09、参数传递的案例2
- 10、方法重载
- 11、return关键字
1-12 案例一

- 01、案例开场
- 02、买飞机票
- 03、验证码2
- 04、评委打分
- 05、数组加密最终版
- 06、数组拷贝
1-13 案例二

- 07、抢红包
- 08、找素数
- 09、双色球概述
- 10、随机一组中奖号码
- 11、判断中奖情况
第二章 面向对象基础

2-1 面向对象基础一
免费试学

- 01、面向对象入门
- 02、深刻认识面向对象
- 03、对象在计算机中的执行原理
- 04、类与对象的几点注意事项
- 05、this关键字
2-2 面向对象基础二

- 06、构造器
- 07、封装
- 08、实体JavaBean
- 09、面向对象编程的综合案例
- 10、成员变量、局部变量的区别(1.2倍速播放)
第三章 API基础

3-1 API基础

- 01、今日课程介绍:常用API
- 02、包的概述
- 03、String概述
- 04、String提供的常用方法
- 05、String的注意事项
3-2 String案例、ArrayList

- 06、String应用案例:用户登录
- 07、String应用案例:验证码
- 08、ArrayList集合的概述
- 09、ArrayList集合的使用
- 10、ArrayList的应用案例
- 11、ArrayList的综合案例
第四章 综合案例

4-1 综合案例一

- 01、ATM项目介绍
- 02、系统架构搭建、欢迎页面设计
- 03、开户功能
- 04、开户功能-生成新卡号
- 05、用户登录
4-2 综合案例二

- 06、登录后的操作页展示、查询账户、退出
- 07、存款、取款
- 08、转账
- 09、销户操作
- 10、密码修改
阶段二 JavaSE进阶
展开第一章 面向对象高级部分

1-1 static

- 01、面向对象高级部分内容介绍
- 02、static:修饰成员变量
- 03、static:类变量的应用场景
- 04、static:修饰成员方法
- 05、static:类方法的应用场景-工具类
- 06、static:注意事项
1-2 设计模式&继承

- 07、类的成分:代码块
- 08、设计模式:概述、饿汉式单例
- 09、设计模式:懒汉式单例
- 10、继承:概述
- 11、继承:使用继承的好处
- 12、继承:权限修饰符
1-3 继承

- 13、继承:特点详解
- 14、继承:方法重写
- 15、继承:子类访问的特点
- 16、继承:子类构造器的特点
- 17、继承:子类构造器的常见应用
- 18、其他:this()调用兄弟构造器
1-4 多态、关键字、抽象类

- 19、多态:概述
- 20、多态:使用多态的好处
- 21、前置知识:final关键字
- 22、前置知识:常量
- 23、抽象类:认识抽象类
- 24、抽象类:使用抽象类的好处
- 25、抽象类:模板方法设计模式
1-5 接口

- 26、接口:认识接口
- 27、接口:使用接口的好处
- 28、接口:综合案例
- 29、接口:JDK8开始、新增的方法
- 30、接口:接口的多继承、使用接口的注意事项[了解]
1-6 内部类、枚举

- 31、内部类:概述、成员内部类
- 32、内部类:静态内部类[了解]
- 33、内部类:匿名内部类[重点]
- 34、内部类:匿名内部类的使用场景
- 35、枚举:认识枚举
- 36、枚举:枚举的作用
1-7 泛型

- 37、泛型:认识泛型
- 38、泛型:泛型类
- 39、泛型:泛型接口
- 40、泛型:泛型方法
- 41、泛型:泛型的注意事项
第二章 常用API

2-1 常用API一

- 42、API课程介绍
- 43、API:Object类的toString、equals方法
- 44、API-Object的克隆方法
- 45、API-Objects类
- 46、API-包装类
2-2 常用API二

- 47、API-StringBuilder
- 48、API-StringBuilder拼接案例
- 49、API-StringJoiner
- 50、API-Math、System
- 51、API-Runtime
- 52、API-BigDecimal讲解
2-3 时间日期类

- 53、传统时间:Date日期类
- 54、传统时间:SimpleDateFormat
- 55、传统时间:秒杀案例
- 56、传统时间:Calendar
- 57、为啥要学习JDK8新增的时间
2-4 JDK8新时间

- 58、JDK8新时间:LocalDate、LocalTime、LocalDateTime
- 59、JDK8新时间:ZoneId、ZonedDateTime
- 60、JDK8新时间:Instant
- 61、JDK8新时间:DateTimeFormatter
- 62、JDK8新时间:Period、Duration
2-5 Arrays类

- 63、Arrays类:基本使用
- 64、Arrays类:自定义排序规则的方式一
- 65、Arrays类:自定义排序规则的方式二
第三章 JDK8新特性

3-1 JDK8新特性、算法

- 66、JDK8新特性:Lambda表达式
- 67、JDK8新特性:Lambda表达式省略规则
- 68、JDK8新特性:方法引用
- 69、JDK8新特性:特定类型的方法引用
- 70、JDK8新特性:构造器引用【了解】
- 71、算法:简单认识算法
- 72、算法:排序算法-冒泡排序
- 73、算法:排序算法-选择排序
3-2 算法、正则表达式

- 74、算法:查找算法-二分查找
- 75、正则表达式:概述、初体验
- 76、正则表达式:书写规则
- 77、正则表达式:应用案例
- 78、正则表达式:爬取信息
- 79、正则表达式:用于搜索、替换内容
第四章 集合框架

4-1 Collection集合

- 84、集合进阶概述
- 85、Collection集合:常用API
- 86、Collection集合的遍历方式一:迭代器
- 87、Collection集合的遍历方式二:增强for循环
- 88、Collection集合的遍历方式三:Lambda
- 89、遍历集合的案例
4-2 List系列集合

- 90、List系列集合:特点、特有方法
- 91、List系列集合:遍历方式
- 92、List系列集合:ArrayList集合的底层原理
- 93、List系列集合:LinkedList集合的底层原理
- 94、List系列集合:LinkedList集合的应用场景:做队列、栈
4-3 Set系列集合

- 95、Set系列集合:整体特点
- 96、Set系列集合:HashSet集合的底层原理1
- 97、Set系列集合:HashSet集合的底层原理2
- 98、Set系列集合:HashSet集合去重复机制
- 99、Set系列集合:LinkedHashSet集合
- 100、Set系列集合:TreeSet集合
4-4 集合补充知识、综合案例

- 101、Collection系列集合的小结
- 102、补充知识:集合的并发修改异常问题
- 103、前置知识:可变参数
- 104、集合的工具类:Collecitons
- 105、综合案例:斗地主业务分析、做牌
- 106、综合案例:洗牌,发牌,排序,看牌
4-5 Map系列集合

- 107、Map系列集合:概述
- 108、Map系列集合:常用方法
- 109、Map系列集合的遍历方式一:键找值
- 110、Map系列集合的遍历方式二:键值对
- 111、Map系列集合的遍历方式三:Lambda
- 112、Map系列集合:应用案例
- 113、Map系列集合:HashMap
4-6 Map、JDK8新特性

- 114、Map系列集合:LinkedHashMap集合的原理
- 115、Map系列集合:TreeMap集合的原理、使用
- 116、补充知识:集合的嵌套
- 117、JDK8新特性:Stream流入门
- 118、JDK8新特性:Stream流的创建
- 119、JDK8新特性:Stream流的中间方法
- 120、JDK8新特性:Stream流的中间方法2
- 121、JDK8新特性:Stream流的终结方法
第五章 异常处理

5-1 异常

- 80、异常:认识异常
- 81、异常:自定义异常、异常的作用
- 82、异常:异常的常见处理方式一
- 83、异常:异常的常见处理方式二
第六章 IO流体系

6-1 File类

- 122、File、IO流概述
- 123、File类:对象的创建
- 124、File类:判断、判断信息相关的方法
- 125、File类:创建、删除文件的方法
- 126、File类:遍历文件夹的方法
6-2 前置知识

- 127、前置知识:方法递归
- 128、前置知识:方法递归的算法、执行流程详解
- 129、方法递归的案例:文件搜索
- 130、前置知识:字符集
- 131、前置知识:字符集之UTF-8编码
- 132、前置知识: Java代码完成编码、解码
6-3 字节流

- 133、IO流概述
- 134、IO流:文件字节输入流-每次读取一个字节
- 135、IO流:文件字节输入流-每次读取一个字节存在的问题
- 136、IO流:文件字节输入流-每次读取多个字节
- 137、IO流:文件字节输入流-每次读取多个字节、改进,注意事项
- 138、IO流:文件字节输入流-一次读取完全部字节
- 139、IO流:文件字节输出流-写数据出去
6-4 字节流、字符流

- 140、IO流:字节流的应用-文件复制
- 141、释放资源的方案一:try-catch-finally
- 142、释放资源的方案二:try-with-resource
- 143、IO流:字符流-文件字符输入流
- 144、IO流:字符流-文件字符输出流
- 145、IO流:字符流-文件字符输出流的注意事项
6-5 缓冲流

- 146、IO流:缓冲流-概述-字节缓冲流
- 147、IO流:缓冲流-字符缓冲输入流
- 148、IO流:缓冲流-字符缓冲输出流
- 149、IO流:原始流、缓冲流的性能分析
- 150、引出问题:不同编码读取会出现乱码
6-6 其他流

- 151、IO流:转换流-字符输入转换流
- 152、IO流:转换流-字符输出转换流
- 153、IO流:打印流
- 154、IO流:打印流的应用
- 155、IO流:数据流
- 156、IO流:序列化流
- 157、补充知识:IO框架
第七章 特殊文件、日志框架

7-1 特殊文件

- 158、特殊文件、日志技术概述
- 159、特殊文件:Properties属性文件
- 160、特殊文件:XML概述
- 161、特殊文件:XML的解析
- 162、特殊文件:XML的解析2
- 163、特殊文件:XML的创建
7-2 日志技术

- 164、特殊文件:XML的约束
- 165、日志技术:概述
- 166、日志技术:体系结构、Logback日志框架介绍
- 167、日志技术:logback的快速入门
- 168、日志技术:logback的核心配置文件详解
- 169、日志技术:logback的日志级别
第八章 多线程

8-1 多线程使用

- 170、多线程:概述、线程创建方式一
- 171、多线程:线程创建方式二
- 172、多线程:线程创建方式二(匿名内部类写法)
- 173、多线程:线程创建方式三
- 174、多线程:线程的常用方法
8-2 线程安全、线程同步

- 175、线程安全问题:概述
- 176、线程安全问题:模拟取钱案例
- 177、线程同步:概述
- 178、线程同步:同步代码块
- 179、线程同步:同步方法
- 180、线程同步:Lock锁
- 181、线程通信[了解]
8-3 线程池、其他细节

- 182、线程池:概述
- 183、线程池:线程池的创建
- 184、线程池:处理Runnable任务
- 185、线程池:处理Callable任务
- 186、线程池:使用Executors得到线程池
- 187、其他细节:并发并行
- 188、其他细节:生命周期
第九章 网络编程

9-1 通信三要素

- 189、网络编程概述
- 190、通信三要素:IP地址
- 191、通信三要素:InetAddress
- 192、通信三要素:端口号
- 193、通信三要素:协议-UDP
- 194、通信三要素:协议-TCP
9-2 UDP、TCP通信

- 195、UDP通信:客户端发消息
- 196、UDP通信:服务端收消息,测试
- 197、UDP通信:多发、多收
- 198、TCP通信:客户端开发
- 199、TCP通信:服务端开发
- 200、TCP通信:多发多收
9-3 TCP通信

- 201、TCP通信:支持与多个客户端同时通信的原理
- 202、TCP通信:用代码实现与多个客户端同时通信
- 203、TCP通信:群聊(拓展,可选)
- 204、TCP通信:实现BS架构
- 205、TCP通信:线程池优化BS架构
第十章 Java高级技术

10-1 单元测试、反射

- 206、Java高级技术、Junit单元测试框架入门
- 207、Junit单元测试:断言、小结
- 208、Junit单元测试:常见注解
- 209、反射:认识反射、获取类
- 210、反射:获取类的构造器
- 211、反射:获取类的构造器的作用
10-2 注解

- 212、反射:获取类的成员变量
- 213、反射:获取类的成员方法
- 214、反射:作用、应用场景
- 215、注解:认识注解
- 216、注解:元注解
- 217、注解:注解的解析
- 218、注解:注解的应用场景演示
10-3 动态代理

- 219、动态代理:介绍、准备工作
- 220、动态代理:创建、工作流程演示
- 221、动态代理:应用、好处
阶段三 JavaWeb
展开第一章 MySQL基础操作

1-1 MySql简介

- 00-JavaWeb整体介绍
- 01-数据库相关概念
- 02-MySQL安装
- 03-MySQL数据模型
- 04-SQL简介&通用语法&分类
1-2 DDL&DML
免费试学

- 05-DDL-操作数据库
- 06-DDL-操作表-查询
- 07-DDL-操作表-创建表
- 08-DDL-操作表-数据类型
- 09-DDL-操作表-修改&刪除
- 10-navicat安装使用
- 11-DML-操作数据-添加
- 12-DML-操作数据-修改&删除
1-3 DQL操作MySql

- 13-DQL-基础查询
- 14-DQL-条件查询
- 15-DQL-条件查询-模糊查询
- 16-DQL-排序查询
- 17-DQL-聚合函数
- 18-DQL-分组查询
- 19-DQL-分页查询
- 20-DQL-小结
第二章 MySQL数据库设计和多表操作

2-1 数据库设计

- 01-约束-概述和分类
- 02-约束-约束案例
- 03-约束-外键约束
- 04-数据库设计-简介
- 05-数据库设计-多表关系实现
- 06-数据库设计-案例
2-2 多表查询&事务

- 07-多表查询-简介
- 08-多表查询-内连接
- 09-多表查询-外连接
- 10-多表查询-子查询-简介
- 11-多表查询-子查询3种方式
- 12-多表查询-案例1
- 13-多表查询-案例2
- 14-事务-简介
- 15-事务-四大特征
第三章 JDBC

3-1 JDBC-快速入门

- 01-JDBC简介
- 02-JDBC-快速入门
- 03-JDBC-API详解-DriverManager
- 04-JDBC-API详解-Connection
- 05-JDBC-API详解-Statement
- 06-JDBC-API详解-ResultSet
- 06-JDBC-API详解-ResultSet
3-2 JDBC-API详解
免费试学

- 07-JDBC-API详解
- 08-JDBC-API详解-PreparedStatement-SQL注入演示
- 09-JDBC-API详解-PreparedStatement
- 10-JDBC-API详解-PreparedStatement-原理
- 11-数据库连接池-简介
- 12-数据库连接池-Druid使用
3-3 JDBC练习

- 13-JDBC练习-环境准备
- 14-JDBC练习-查询所有
- 15-JDBC练习-添加
- 16-JDBC练习-修改
- 17-JDBC练习-删除
第四章 Maven基础

4-1 Maven基础

- 01-Maven概述
- 02-Maven简介
- 03-Maven安装和配置
- 04-Maven基本使用
- 05-IDEA 创建Maven项目
- 06- IDEA导入Maven项目
- 07-依赖管理
- 08-依赖范围
第五章 MyBatis

5-1 MyBatis快速入门

- 01-MyBatis简介
- 02-MyBatis快速入门-环境搭建
- 03-MyBatis快速入门-2
- 04-解决SQL语句警告提示
- 05-Mapper代理开发
- 06-Mybatis核心配置文件
5-2 MyBatis查询

- 06-MyBatis案例-环境准备
- 07-查询-查询所有
- 08-查询-结果映射
- 09-查询-查看详情
- 10-查询-条件查询
- 11-查询-多条件-动态条件查询
- 12-查询-单条件-动态条件查询
5-3 MyBatis添加&修改&删除

- 13-添加-基础添加
- 14-添加-主键返回
- 15-修改-修改全部字段
- 16-修改-修改动态字段
- 17-删除-删除一个
- 18-删除-批量删除
- 19-参数传递
- 20-注解开发
第六章 HTML & CSS

6-1 HTML快速入门

- 01-HTML介绍
- 02-HTML快速入门
- 03-基础标签
- 04-案例-公司简介
6-2 HTML常用标签

- 05-图片音频视频标签
- 06-超链接标签
- 07-列表标签
- 08-表格标签
- 09-布局标签
- 10-表单标签
- 11-表单项标签
6-3 css快速入门

- 01-CSS简介
- 02-css导入方式
- 03-css选择器
- 04-css属性
第七章 JavaScript

7-1 JavaScript快速入门

- 01-JavaScript简介
- 02-JavaScript引入方式
- 03-书写语法&输出语句
- 04-变量
- 05-数据类型
- 06-运算符
- 07-流程控制语句
- 08-函数
7-2 JavaScript常用对象

- 09-Array对象
- 10-String对象
- 11-自定义对象
- 12-Window对象
- 13-定时器案例
- 14-History&Location对象
- 15-DOM概述
- 16-获取Element对象
- 17-HTML Element对象使用
7-3 JavaScript事件

- 18-事件绑定
- 19-常见事件
- 20-表单验证-验证输入框
- 21-表单验证-验证表单
- 22-正则表达式
第八章 HTTP & Tomcat & Servlet

8-1 HTTP协议

- 01-Web核心介绍
- 02-HTTP简介
- 03-HTTP-请求数据格式
- 04-HTTP-响应数据格式
8-2 Tomcat

- 05-Tomcat-简介
- 06-Tomcat-基本使用
- 07-Tomcat配置和部署项目
- 08-Tomcat-Web项目结构
- 09-Tomcat-创建MavenWeb项目
- 10-Tomcat-Idea集成本地Tomcat
- 11-Tomcat-Tomcat的Maven插件
8-3 Servlet快速入门

- 12-Servlet简介
- 13-Servlet快速入门
- 14-Servlet执行流程
- 15-Servlet生命周期
- 16-Servlet方法介绍
- 17-Servlet体系结构
- 18-urlPattern配置
- 19-XML配置Servlet
第九章 请求和响应

9-1 Request

- 01-Request和Response介绍
- 02-Request继承体系
- 03-Request获取请求数据-请求行
- 04-Request获取请求数据-请求头&请求体
- 05-Request通用方式获取请求参数
- 06-Idea模板创建Servlet
- 07-请求参数中文乱码-POST解决方案
- 08-Request请求参数中文乱码-GET解决方案
- 09-Request请求转发
9-2 Response

- 10-Response设置响应数据功能介绍
- 11-Response完成重定向
- 12-资源路径问题
- 13-Response响应字符数据
- 14-Response响应字节数据
9-3 综合案例

- 15-案例-用户登录-准备环境
- 16-案例-用户登录-代码实现
- 17-案例-用户注册
- 18-SqlSessionFactory工具类抽取
第十章 JSP & 会话技术

10-1 JSP快速入门

- 01-JSP概述
- 02-JSP快速入门
- 03-JSP原理
- 04-JSP脚本
- 05-JSP脚本-案例
- 06-JSP缺点
- 07-EL表达式
- 08-JSTL-if
- 09-JSTL-foreach
10-2 三层架构

- 10-MVC模式
- 11-三层架构
- 12-案例-准备环境
- 13-案例-查询所有
- 14-案例-添加
- 15-案例-修改-回显数据
- 16-案例-修改-修改数据
10-3 Cookie&Session

- 01-会话跟踪技术概述
- 02-Cookie-基本使用
- 03-Cookie-原理
- 04-Cookie-细节-存活时间
- 05-Cookie-细节-存储中文
- 06-Session-基本使用
- 07-Session-原理
- 08-Session-细节
- 09-小结
10-4 登陆案例

- 10-案例-需求说明
- 11-案例-用户登录
- 12-案例-记住用户-写Cookie
- 13-案例-记住用户-获取Cookie
- 14-案例-用户注册
- 15-案例-验证码-展示
- 16-案例-验证码-校验
第十一章 过滤器 & 监听器 & AJAX

11-1 Filter&Listener

- 01-Filter-概述
- 02-Filter-快速入门
- 03-Filter-执行流程
- 04-Filter-拦截路径配置
- 05-Filter-过滤器链
- 06-Filter-案例-登录验证
- 07-Listener
11-2 AJAX

- 01-AJAX-概述
- 02-AJAX-快速入门
- 03-案例-验证用户是否存在
- 04-Axios-基本使用
- 05-Axios-请求方式别名
- 06-JSON-概述和基础语法
- 07-JSON-JSON数据和Java对象转换
- 08-案例-查询所有
- 09-案例-新增品牌
第十二章 Vue & ElementUI

12-1 Vue-快速入门

- 01-Vue-概述
- 02-Vue-快速入门
- 03-Vue-指令-v-bind和v-model
- 04-Vue-指令-v-on
- 05-Vue-指令-v-if和v-show
- 06-Vue-指令-v-for
- 07-Vue-生命周期
- 08-Vue-案例-查询所有
- 09-Vue-案例-新增品牌
12-2 Element-快速入门

- 10-Element-概述
- 11-Element-快速入门
- 12-Element-布局
- 13-Element-常用组件-表格
- 14-Element-常用组件-表单
- 15-Element-常用组件-对话框和表单
- 16-Element-常用组件-分页工具条
12-3 环境搭建

- 01-综合案例-环境搭建
- 02-查询所有-后台
- 03-查询所有-前端
- 04-新增品牌-后台
- 05-新增品牌-前端
12-4 综合案例

- 01-Servlet 代码优化
- 02-Servlet 代码优化-使用
- 03-批量删除-后台
- 04-批量删除-前端
- 05-分页查询-分析
- 06-分页查询-后台
- 07-分页查询-前端
- 08-条件查询-后台
- 09-条件查询-前端
- 10-前端代码优化
阶段四 热门框架
展开第一章 spring框架

1-1 初识Spring

- 00-Spring课程介绍
- 01-初识Spring
- 02-Spring系统架构
- 03-核心概念
- 04-IoC入门案例
- 05-DI入门案例
- 06-bean基础配置
- 07-bean实例化——构造方法
- 08-bean实例化——静态工厂
- 09-bean实例化-实例工厂与FactoryBean
- 10-bean的生命周期
- 11-setter注入
- 12-构造器注入
- 13-自动装配
- 14-集合注入
1-2 Spring注解开发

- 15-案例:数据源对象管理
- 16-加载properties文件
- 17-容器
- 18-核心容器总结
- 19-注解开发定义bean
- 20-纯注解开发模式
- 21-注解开发bean作用范围与生命周期管理
- 22-注解开发依赖注入
- 23-注解开发管理第三方bean
- 24-注解开发实现为第三方bean注入资源
- 25-注解开发总结
- 26-spring整合mybatis思路分析
- 27-Spring整合MyBatis
- 28-Spring整合JUnit
1-3 AOP&事务

- 29-AOP简介
- 30-AOP入门案例
- 31-AOP工作流程
- 32-AOP切入点表达式
- 33-AOP通知类型
- 34-案例-业务层接口执行效率
- 35-AOP通知获取数据
- 36-案例-百度网盘密码数据兼容处理
- 37-AOP总结
- 38-Spring事务简介
- 39-Spring事务角色
- 40-Spring事务属性
第二章 springMVC

2-1 初识SpringMVC

- 01-SpringMVC简介
- 02-SpringMVC入门案例
- 03-入门案例工作流程
- 04-bean加载控制
- 05-PostMan工具介绍
- 06-设置请求映射路径
- 07-get请求与post请求发送普通参数
- 08-5种类型参数传递
- 09-json数据传递参数
- 10-日期型参数传递
- 11-响应
- 12-REST风格简介
- 13-RESTful入门案例
- 14-RESTful快速开发
- 15-案例:基于RESTful页面数据交互(后台接口开发)
- 16-案例:基于RESTful页面数据交互(页面访问处理)
2-2 SSM整合

- 17-SSM整合(整合配置)
- 18-SSM整合(功能模块开发)
- 19-SSM整合(接口测试)
- 20-SSM整合-表现层与前端数据传输协议定义
- 21-SSM整合-表现层与前端数据传输数据协议实现
- 22-SSM整合-异常处理器
- 23-SSM整合-项目异常处理
- 24-SSM整合-前后台协议联调(列表功能)
- 25-SSM整合-前后台协议联调(添加功能)
- 26-SSM整合-前后台协议联调(添加功能状态处理)
- 27-SSM整合-前后台协议联调(修改功能)
- 28-SSM整合-前后台协议联调(删除功能)
- 29-拦截器简介
- 30-拦截器入门案例
- 31-拦截器参数
- 32-拦截器-拦截器链配置
第三章 Maven高级

3-1 Maven高级

- 01-分模块开发的意义
- 02-分模块开发与设计
- 03-依赖传递
- 04-可选依赖与排除依赖
- 05-聚合
- 06-继承
- 07-属性
- 08-配置文件加载属性
- 09-版本管理
- 10-多环境开发
- 11-跳过测试
- 12-私服简介与安装
- 13-私服仓库分类
- 14-本地仓库访问私服配置
- 15-私服资源上传与下载
第四章 springboot

4-1 SpringBoot

- 01-SpringBoot工程入门案例开发步骤
- 02-SpringBoot工程官网创建方式
- 03-SpringBoot程序快速启动
- 04-SpringBoot简介(起步依赖)
- 05-Spring简介(辅助功能之切换web服务器)
- 06-配置文件格式(3种)
- 07-yaml格式
- 08-yaml数据读取方式(3种)
- 09-多环境开发配置
- 10-多环境命令行启动参数设置
- 11-多环境开发兼容问题(Maven与boot)
- 12-配置文件分类
- 13-springboot整合junit
- 14-springboot整合mybatis
- 15-案例:基于springboot实现ssm整合
第五章 Mybatis-Plus

5-1 MyBatisPlus

- 01-MyBatisPlus入门案例
- 02-MyBatisPlus简介
- 03_1标准CRUD注意事项
- 03-标准CRUD制作
- 04-标准分页功能制作
- 05-条件查询的三种格式
- 06-条件查询null判定
- 07-查询投影
- 08-查询条件设置
- 09-映射匹配兼容性
- 10-id生成策略
- 11-多数据操作(删除与查询)
- 12-逻辑删除
- 13-乐观锁
- 14-代码生成器
阶段五 项目实战-瑞吉外卖
展开第一章 瑞吉外卖项目

1-1 后台系统

- 01-本章内容介绍
- 02-软件开发整体介绍_软件开发流程
- 03-软件开发整体介绍_软件开发中涉及的角色分工
- 04-软件开发整体介绍_三种软件环境介绍
- 05-瑞吉外卖项目介绍
- 06-开发环境搭建_数据库环境搭建(创建数据库和表结构)
- 07-开发环境搭建_数据库环境搭建(整体了解表结构)
- 08-开发环境搭建_maven项目搭建_1
- 09-开发环境搭建_maven项目搭建_2
- 10-后台系统登录功能_需求分析
- 11-后台系统登录功能_代码开发(创建Controller、Service、Mapper、实体类)
- 12-后台系统登录功能_代码开发(导入通用返回结果类)
- 13-后台系统登录功能_代码开发(梳理登录方法处理逻辑)
- 14-后台系统登录功能_代码开发(实现登录处理逻辑)
- 15-后台系统登录功能_功能测试
- 16-后台系统退出功能_需求分析
- 17-后台系统退出功能_代码开发
- 18-后台系统退出功能_功能测试
- 19-分析后台系统首页构成和效果展示方式
1-2 员工管理

- 01-本章内容介绍
- 02-完善登录功能_问题分析并创建过滤器
- 03-完善登录功能_代码开发
- 04-完善登录功能_功能测试
- 05-新增员工_需求分析和数据模型
- 06-新增员工_梳理程序执行流程
- 07-新增员工_代码开发
- 08-新增员工_功能测试
- 09-新增员工_编写全局异常处理器
- 10-新增员工_完善全局异常处理器并测试
- 11-新增员工_小结
- 12-员工信息分页查询_需求分析
- 13-员工信息分页查询_梳理程序执行过程
- 14-员工信息分页查询_代码开发1
- 15-员工信息分页查询_代码开发2
- 16-员工信息分页查询_功能测试
- 17-员工信息分页查询_补充说明
- 18-启用、禁用员工账号_需求分析
- 19-启用、禁用员工账号_分析页面按钮动态显示效果
- 20-启用、禁用员工账号_分析页面ajax请求发送过程
- 21-启用、禁用员工账号_代码开发1
- 22-启用、禁用员工账号_代码开发2
- 23-启用、禁用员工账号_功能测试
- 24-启用、禁用员工账号_代码修复配置消息转换器
- 25-启用、禁用员工账号_再次测试
- 26-编辑员工信息_需求分析
- 27-编辑员工信息_梳理程序执行流程
- 28-编辑员工信息_页面效果分析和代码开发
- 29-编辑员工信息_功能测试
1-3 分类管理

- 01-本章内容介绍(day03)
- 02-公共字段自动填充_问题分析
- 03-公共字段自动填充_代码实现1
- 04-公共字段自动填充_代码实现2并测试
- 05-公共字段自动填充_功能完善1
- 06-公共字段自动填充_功能完善2
- 07-公共字段自动填充_功能完善3
- 08-公共字段自动填充_功能完善4
- 09-新增分类_需求分析
- 10-新增分类_数据模型
- 11-新增分类_代码开发1
- 12-新增分类_代码开发2
- 13-新增分类_功能测试
- 14-分类信息分页查询_需求分析和代码实现
- 15-分类信息分页查询_功能测试
- 16-删除分类_需求分析
- 17-删除分类_代码开发
- 18-删除分类_功能测试
- 19-删除分类_功能完善_准备基础类和接口
- 20-删除分类_功能完善_代码开发1
- 21-删除分类_功能完善_代码开发2
- 22-删除分类_功能完善_功能测试
- 23-修改分类_需求分析和分析页面回显效果
- 24-修改分类_代码开发
- 25-修改分类_功能测试
1-4 菜品管理

- 01-本章内容介绍
- 02-文件上传下载_文件上传介绍
- 03-文件上传下载_文件下载介绍
- 04-文件上传下载_文件上传代码实现1
- 05-文件上传下载_文件上传代码实现2
- 06-文件上传下载_文件上传代码实现3
- 07-文件上传下载_文件上传代码实现4
- 08-文件上传下载_文件下载代码实现
- 09-文件上传下载_文件下载测试
- 10-新增菜品_需求分析
- 11-新增菜品_数据模型
- 12-新增菜品_代码开发_准备工作
- 13-新增菜品_代码开发_梳理交互过程
- 14-新增菜品_代码开发_查询分类数据
- 15-新增菜品_代码开发_查询分类数据测试
- 16-新增菜品_代码开发_接收页面提交的数据
- 17-新增菜品_代码开发_保存数据到菜品表和菜品口味表
- 18-新增菜品_代码开发_功能测试
- 19-菜品信息分页查询_需求分析
- 20-菜品信息分页查询_代码开发1
- 21-菜品信息分页查询_代码开发2
- 22-菜品信息分页查询_功能测试
- 23-修改菜品_需求分析
- 24-修改菜品_代码开发_梳理交互过程
- 25-修改菜品_代码开发_根据id查询菜品信息和对应的口味信息
- 26-修改菜品_代码开发_测试数据回显
- 27-修改菜品_代码开发_修改菜品信息和口味信息
- 28-修改菜品_功能测试
1-5 套餐管理

- 01-本章内容介绍(day05)
- 02-新增套餐_需求分析.mp4
- 03-新增套餐_数据模型.mp4
- 04-新增套餐_代码开发_准备工作
- 05-新增套餐_代码开发_梳理交互过程
- 06-新增套餐_代码开发_根据分类查询菜品
- 07-新增套餐_代码开发_根据分类查询菜品(查询状态为起售的菜品)
- 08-新增套餐_代码开发_服务端接收页面提交的数据
- 09-新增套餐_代码开发_保存数据到对应表
- 10-新增套餐_功能测试
- 11-套餐信息分页查询_需求分析和梳理交互过程
- 12-套餐信息分页查询_代码开发1
- 13-套餐信息分页查询_代码开发2
- 14-套餐信息分页查询_功能测试
- 15-删除套餐_需求分析
- 16-删除套餐_代码开发_梳理交互过程
- 17-删除套餐_代码开发1
- 18-删除套餐_代码开发2
- 19-删除套餐_功能测试
1-6 短信发送

- 20-本章内容介绍
- 21-短信发送_短信服务介绍和阿里云短信服务介绍
- 22-短信发送_阿里云短信服务_注册账号、申请签名和模板
- 23-短信发送_阿里云短信服务_设置AccessKey
- 24-短信发送_阿里云短信服务_授权
- 25-短信发送_阿里云短信服务_禁用或删除AccessKey
- 26-短信发送_代码开发_参照官方文档封装短信发送工具类
- 27-手机验证码登录_需求分析
- 28-手机验证码登录_数据模型
- 29-手机验证码登录_代码开发_梳理交互过程
- 30-手机验证码登录_代码开发_修改LoginCheckFilter
- 31-手机验证码登录_代码开发_发送验证码短信
- 32-手机验证码登录_代码开发_登录校验
- 33-手机验证码登录_功能测试
1-7 购物车

- 01-本章内容介绍(day06)
- 02-导入用户地址簿相关功能代码_需求分析
- 03-导入用户地址簿相关功能代码_数据模型
- 04-导入用户地址簿相关功能代码_导入功能代码
- 05-导入用户地址簿相关功能代码_功能测试
- 06-菜品展示_需求分析
- 07-菜品展示_代码开发_梳理交互过程
- 08-菜品展示_代码开发_修改DishController的list方法并测试
- 09-菜品展示_代码开发_创建SetmealController的list方法并测试
- 10-购物车_需求分析
- 11-购物车_数据模型
- 12-购物车_代码开发_梳理交互过程
- 13-购物车_代码开发_准备工作
- 14-购物车_代码开发_添加购物车
- 15-购物车_代码开发_添加购物车测试
- 16-购物车_代码开发_查看购物车
- 17-购物车_代码开发_查看购物车测试
- 18-购物车_代码开发_清空购物车并测试
- 19-用户下单_需求分析
- 20-用户下单_数据模型
- 22-用户下单_代码开发_准备工作
- 23-用户下单_代码开发_1
- 24-用户下单_代码开发_2
- 25-用户下单_代码开发_3
- 26-用户下单_功能测试
第二章 Git

2-1 Git

- 01-Git课程介绍
- 02-Git概述(介绍、下载和安装)
- 03-Git代码托管服务_常用的Git代码托管服务
- 04-Git代码托管服务_使用码云代码托管服务
- 05-Git常用命令_Git全局设置
- 06-Git常用命令_获取Git仓库
- 07-Git常用命令_版本库、工作区、暂存区概念
- 08-Git常用命令_工作区中文件的状态
- 09-Git常用命令_Git本地仓库操作命令
- 10-Git常用命令_远程仓库操作(查看远程仓库、添加远程仓库)
- 11-Git常用命令_远程仓库操作(克隆远程仓库、推送到远程仓库)
- 12-Git常用命令_远程仓库操作(推送至远程操作时需要身份认证)
- 13-Git常用命令_远程仓库操作(从远程仓库拉取文件)
- 14-Git常用命令_远程仓库操作(从远程仓库拉取文件_解决两个无关分支合并问题)
- 15-Git常用命令_分支操作
- 16-Git常用命令_分支操作(分支合并时冲突解决)
- 17-Git常用命令_标签操作
- 18-在IDEA中使用Git_在IDEA中配置Git
- 19-在IDEA中使用Git_获取Git仓库
- 20-在IDEA中使用Git_.gitignore文件的作用
- 21-在IDEA中使用Git_本地仓库操作
- 22-在IDEA中使用Git_远程仓库操作
- 23-在IDEA中使用Git_分支操作
第三章 Linux

3-1 Linux01

- 01-Linux课程介绍
- 02-Linux简介_不同应用领域的主流操作系统
- 03-Linux简介_Linux历史
- 04-Linux简介_Linux系统版本(内核版、发行版)
- 05-Linux安装_本章内容介绍
- 06-Linux安装_Linux系统的安装方式
- 07-Linux安装_通过虚拟机软件安装Linux系统
- 08-Linux安装_网卡设置
- 09-Linux安装_使用FinalShell连接到Linux服务器
- 10-Linux安装_Linux系统目录结构
- 11-Linux常用命令_本章内容介绍
- 12-Linux常用命令_Linux命令初体验-几个常用命令
- 13-Linux常用命令_Linux命令初体验-Linux命令使用技巧
- 14-Linux常用命令_Linux命令初体验-Linux命令格式
- 15-Linux常用命令_文件目录操作命令-ls命令
- 16-Linux常用命令_文件目录操作命令-cd命令
- 17-Linux常用命令_文件目录操作命令-cat命令
- 18-Linux常用命令_文件目录操作命令-more命令
- 19-Linux常用命令_文件目录操作命令-tail命令
- 20-Linux常用命令_文件目录操作命令-mkdir命令
- 21-Linux常用命令_文件目录操作命令-rmdir命令
- 22-Linux常用命令_文件目录操作命令-rm命令
- 23-Linux常用命令_拷贝移动命令-cp命令
- 24-Linux常用命令_拷贝移动命令-mv命令
- 25-Linux常用命令_打包压缩命令-tar命令
- 26-Linux常用命令_文本编辑命令-vim命令安装
- 27-Linux常用命令_文本编辑命令-vim命令
- 28-Linux常用命令_查找命令-find命令
- 29-Linux常用命令_查找命令-grep命令
3-2 Linux02

- 30-软件安装_本章内容介绍
- 31-软件安装_Linux中软件安装方式介绍
- 32-软件安装_安装jdk
- 33-软件安装_安装Tomcat
- 34-软件安装_安装Tomcat-确认服务启动是否成功
- 35-软件安装_安装Tomcat-防火墙操作
- 36-软件安装_安装Tomcat-停止Tomcat服务
- 37-软件安装_安装MySQL
- 38-软件安装_安装MySQL-启动服务、连接MySQL
- 39-软件安装_安装lrzsz
- 40-项目部署_本章内容介绍
- 41-项目部署_手工部署项目_操作过程
- 42-项目部署_手工部署项目_后台运行程序
- 43-项目部署_通过Shell脚本自动部署项目_操作步骤说明
- 44-项目部署_通过Shell脚本自动部署项目_在Linux中安装git、maven
- 45-项目部署_通过Shell脚本自动部署项目_Shell脚本说明
- 46-项目部署_通过Shell脚本自动部署项目_Linux中权限说明
- 47-项目部署_通过Shell脚本自动部署项目_授权并执行脚本
- 48-项目部署_通过Shell脚本自动部署项目_设置静态ip
第四章 Redis

4-1 Redis

- 01-Redis课程介绍
- 02-Redis入门_Redis简介
- 03-Redis入门_Redis下载与安装_下载Redis安装包
- 04-Redis入门_Redis下载与安装_安装Redis
- 05-Redis入门_Redis服务启动与停止
- 06-Redis入门_设置Redis密码和允许远程连接
- 07-Redis数据类型
- 08-Redis常用命令_字符串类型操作命令
- 09-Redis常用命令_哈希类型操作命令
- 10-Redis常用命令_列表类型操作命令
- 11-Redis常用命令_集合类型操作命令
- 12-Redis常用命令_有序集合类型操作命令
- 13-Redis常用命令_通用命令
- 14-在Java中操作Redis_使用Jedis操作Redis
- 15-在Java中操作Redis_使用Spring Data Redis操作Redis_基础环境
- 16-在Java中操作Redis_使用Spring Data Redis操作Redis_设置序列化器
- 17-在Java中操作Redis_使用Spring Data Redis操作Redis_操作字符串类型数据
- 18-在Java中操作Redis_使用Spring Data Redis操作Redis_操作哈希类型数据
- 19-在Java中操作Redis_使用Spring Data Redis操作Redis_操作列表类型数据
- 20-在Java中操作Redis_使用Spring Data Redis操作Redis_操作集合类型数据
- 21-在Java中操作Redis_使用Spring Data Redis操作Redis_操作有序集合类型数据
- 22-在Java中操作Redis_使用Spring Data Redis操作Redis_通用操作
第五章 瑞吉外卖项目优化

5-1 项目优化-Spring Cache

- 01-本章内容介绍
- 02-使用git管理代码
- 03-环境搭建
- 04-缓存短信验证码_思路梳理和代码改造
- 05-缓存短信验证码_功能测试
- 06-缓存菜品数据_梳理思路
- 07-缓存菜品数据_代码改造缓存菜品数据
- 08-缓存菜品数据_代码改造缓存菜品数据_功能测试
- 09-缓存菜品数据_清理缓存思路分析
- 10-缓存菜品数据_清理缓存代码改造并测试
- 11-将代码提交到Git本地仓库并推送到远程仓库
- 12-Spring Cache_框架介绍
- 13-Spring Cache_常用注解
- 14-Spring Cache_使用方式_CachePut注解
- 15-Spring Cache_使用方式_CacheEvict注解1
- 16-Spring Cache_使用方式_CacheEvict注解2
- 17-Spring Cache_使用方式_Cacheable注解1
- 18-Spring Cache_使用方式_Cacheable注解2
- 19-Spring Cache_使用Redis作为缓存产品1
- 20-Spring Cache_使用Redis作为缓存产品2
- 21-缓存套餐数据_实现思路
- 22-缓存套餐数据_代码改造_缓存套餐数据并测试
- 23-缓存套餐数据_代码改造_清理套餐的缓存数据并测试
- 24-将代码提交到Git仓库并合并到主分支
5-2 项目优化-Mysql

- 01-本章内容介绍
- 02-Mysql主从复制_介绍
- 03-Mysql主从复制_配置主库Master
- 04-Mysql主从复制_配置从库Slave
- 05-Mysql主从复制_测试
- 06-读写分离案例_读写分离背景说明
- 07-读写分离案例_Sharding-JDBC介绍
- 08-读写分离案例_入门案例_准备数据库环境
- 09-读写分离案例_入门案例_导入初始工程
- 10-读写分离案例_入门案例_配置读写分离规则
- 11-读写分离案例_入门案例_测试
- 12-项目实现读写分离_数据库环境准备(主从复制)
- 13-项目实现读写分离_配置读写分离规则
- 14-项目实现读写分离_测试并提交到Git仓库
5-3 瑞吉外卖-Nginx

- 15-Nginx课程内容介绍
- 16-Nginx概述_Nginx介绍
- 17-Nginx概述_Nginx下载和安装
- 18-Nginx概述_Nginx目录结构
- 19-Nginx命令_查看Nginx版本、检查配置文件正确性
- 20-Nginx命令_启动、停止
- 21-Nginx命令_启动、停止命令补充说明
- 22-Nginx命令_重新加载配置文件
- 23-Nginx命令_配置Nginx环境变量
- 24-Nginx配置文件整体结构
- 25-Nginx具体应用_部署静态资源
- 26-Nginx具体应用_反向代理_概念说明
- 27-Nginx具体应用_反向代理_配置
- 28-Nginx具体应用_负载均衡_概念说明
- 29-Nginx具体应用_负载均衡_配置
- 30-Nginx具体应用_负载均衡_Nginx提供的负载均衡策略
5-4 瑞吉外卖-前后端分离

- 01-本章内容介绍
- 02-前后端分离开发_介绍
- 03-前后端分离开发_开发流程
- 04-前后端分离开发_前端技术栈
- 05-YApi_介绍
- 06-YApi_使用_定义接口
- 07-YApi_使用_导出接口文档
- 08-YApi_使用_导入接口文档
- 09-Swagger_介绍
- 10-Swagger_使用方式
- 11-Swagger_查看接口文档
- 12-Swagger_常用注解
- 13-项目部署_部署架构
- 14-项目部署_部署环境说明
- 15-项目部署_部署前端项目_部署前端静态资源
- 16-项目部署_部署前端项目_配置Nginx反向代理
- 17-项目部署_部署后端项目_通过Shell脚本自动部署
- 18-项目部署_部署后端项目_解决图片展示问题
阶段六 服务框架基础
展开第一章 SpringCloud

1-1 微服务&服务拆分

- 00-微服务框架课程介绍
- 01-今日课程介绍
- 02-认识微服务-服务架构演变
- 03-认识微服务-微服务技术对比
- 04-认识微服务-SpringCloud
- 05-服务拆分-案例Demo
- 06-服务拆分-服务远程调用
1-2 Eureka&Ribbon

- 07-Eureka-提供者与消费者
- 08-Eureka-eureka原理分析
- 09-Eureka-搭建eureka服务
- 10-Eureka-服务注册
- 11-Eureka-服务发现
- 12-Ribbon-负载均衡原理
- 13-Ribbon-负载均衡策略
- 14-Ribbon-饥饿加载
1-3 Nacos

- 15-Nacos-认识和安装Nacos
- 16-Nacos-快速入门
- 17-Nacos-服务多级存储模型
- 18-Nacos-NacosRule负载均衡
- 19-Nacos-服务实例的权重设置
- 20-Nacos-环境隔离
- 21-Nacos-Nacos和Eureka的对比
- 06-nacos集群搭建
1-4 Nacos配置

- 01-今日课程介绍
- 02-Nacos配置管理-添加Nacos配置
- 03-微服务配置拉取
- 04-Nacos配置管理-配置热更新
- 05-多环境配置共享
- 06-nacos集群搭建
1-5 Feign

- 07-Feign的远程调用
- 08-Feign的自定义配置
- 09-Feign-性能优化
- 10-Feign的最佳实践
- 11-实现Feign最佳实践
1-6 网关&路由

- 12-网关作用介绍
- 13-网关快速入门
- 14-路由断言工厂
- 15-路由的过滤器配置
- 16-全局过滤器
- 17-过滤器链执行顺序
- 18-网关的cors跨域配置
第二章 Docker

2-1 初识Docker&镜像命令

- 01-今日课程介绍
- 02-初识Docker-什么是docker
- 03-初始Docker-Docker和虚拟机的差别
- 04-初识Docker-Docker架构
- 05-初识Docker-Docker的安装
- 06-使用Docker-镜像命令
- 07-使用Docker-镜像命令练习
2-2 容器命令&数据卷命令

- 08-使用Docker-容器命令介绍
- 09-使用Docker-容器命令案例1
- 10-使用Docker-容器命令案例2
- 11-使用Docker-容器命令练习
- 12-使用Docker-数据卷命令
- 13-使用Docker-数据卷挂载案例1
2-3 Docker

- 14-使用Docker-数据卷挂载案例2
- 15-自定义镜像-镜像结构
- 16-自定义镜像-Dockerfile
- 17-DockerCompose-初始Compose
- 18-DockerCompose-部署微服务集群
- 19-Docker镜像仓库
第三章 MQ

3-1 初识MQ&RabbitMQ
免费试学

- 01-今日课程介绍
- 02-初识MQ--同步通讯的优缺点
- 03-初识MQ--异步通讯的优缺点
- 04-初识MQ--mq常见技术介绍
- 05-RabbitMQ快速入门--介绍和安装
- 06-RabbitMQ快速入门--消息模型介绍
- 07-RabbitMQ快速入门--简单队列模型
3-2 SpringAMQP

- 08-SpringAMQP--基本介绍
- 09-SpringAMQP--入门案例的消息发送
- 10-SpringAMQP--入门案例的消息接收
- 11-SpringAMQP--WorkQueue模型
- 12-SpringAMQP--发布订阅模型介绍
- 13-SpringAMQP--FanoutExchange
- 14-SpringAMQP--DirectExchange
- 15-SpringAMQP--TopicExchange
- 16-SpringAMQP--消息转换器
阶段七 服务框架高级
展开第一章 Sentinel

1-1 Sentinel&限流规则

- 01-今日课程介绍
- 02-初识Sentinel-雪崩问题及解决方案
- 03-初识Sentinel-服务保护技术对比
- 04-初识Sentinel-认识和安装Sentinel
- 05-初识Sentinel-微服务整合Sentinel
- 06-限流规则-快速入门
- 07-限流规则-流控模式之关联模式
- 08-限流规则-流控模式之链路模式
- 09-限流规则-流控效果
- 10-限流规则-热点参数限流
1-2 隔离和降级&授权规则&规则持久化

- 11-隔离和降级-Feign整合Sentinel
- 12-隔离和降级-线程隔离
- 13-隔离和降级-断路器的三个状态
- 14-隔离和降级-熔断策略
- 15-授权规则-实现网关授权
- 16-授权规则-自定义异常结果
- 17-规则持久化-规则管理三种模式
- 18-规则持久化-实现push模式持久化
第二章 分布式事务

2-1 理论基础&初识Seata

- 01-什么是分布式事务
- 02-理论基础-CAP定理
- 03-理论基础-BASE理论和分布式事务模型
- 04-初识Seata-Seata架构
- 05-初识Seata-搭建TC服务
- 06-初识seata-微服务集成seata
2-2 XA模式&AT模式
免费试学

- 07-动手实践-XA模式原理
- 08-动手实践-XA模式代码
- 09-动手实践-AT模式原理
- 10-动手实践-AT模式的读写隔离问题
- 11-动手实践-AT模式代码演示
2-3 TCC模式&SAGA模式

- 12-动手实践-TCC模式原理
- 13-动手实践-TCC模式空回滚和业务悬挂
- 14-动手实践-TCC的三个接口的声明
- 15-动手实践-TCC模式的三个接口的实现
- 16-动手实践-TCC的空回滚和业务悬挂判断
- 17-动手实践-SAGA模式及各种模式对比
2-4 高可用&ES集群

- 18-高可用-Seata的高可用异地容灾架构
- 19-高可用-搭建Seata的异地高可用容灾架构
第三章 分布式缓存Redis

3-1 Redis持久化&Redis主从

- 01-今日课程介绍
- 02-Redis持久化-RDB演示
- 03-Redis持久化-RDB的fork原理
- 04-Redis持久化-AOF演示
- 05-Redis持久化-RDB和AOF的对比
- 06-Redis主从-主从集群结构
- 07-Redis主从-搭建主从集群
- 08-Redis主从-主从的全量同步原理
- 09-Redis主从-增量同步原理
3-2 Redis哨兵&分片集群

- 10-Redis哨兵-哨兵的作用和工作原理
- 11-Redis哨兵-搭建哨兵集群
- 12-Redis哨兵-RedisTemplate连接哨兵
- 13-Redis分片集群-搭建分片集群
- 14-Redis分片集群-散列插槽
- 15-Redis分片集群-集群伸缩
- 16-Redis分片集群-故障转移
- 17-Redis分片集群-RedisTemplate访问分片集群
第四章 Redis多级缓存案例

4-1 JVM进程缓存

- 01-什么是多级缓存
- 02-JVM进程缓存-导入Demo数据
- 03-JVM进程缓存-导入Demo工程
- 04-JVM进程缓存-初识Caffeine
- 05-JVM进程缓存-实现进程缓存
4-2 Lua&OpenResty
免费试学

- 06-Lua语法-初识Lua
- 07-Lua语法-变量和循环
- 08-Lua语法-函数和条件控制
- 09-多级缓存-安装OpenResty
- 10-多级缓存-OpenResty快速入门
- 11-多级缓存-OpenResty获取请求参数
4-3 多级缓存

- 12-多级缓存-封装Http请求工具
- 13-多级缓存-向tomcat发送http请求
- 14-多级缓存-根据商品id对tomcat集群负载均衡
- 15-多级缓存-Redis缓存预热
- 16-多级缓存-查询Redis
- 17-多级缓存-nginx本地缓存
4-4 缓存同步

- 18-缓存同步-数据同步策略
- 19-缓存同步-安装Canal
- 20-缓存同步-监听canal 实现缓存同步
- 21-课程总结
第五章 RabbitMQ高级

5-1 消息可靠性

- 01-MQ常见问题
- 02-消息可靠性-生产者确认原理
- 03-消息可靠性-生产者确认的API
- 04-消息可靠性-实现生产者确认
- 05-消息可靠性-消息持久化
- 06-消息可靠性-消费者确认机制
- 07-消息可靠性-消费者失败重试机制
- 08-消息可靠性-消费者重试失败策略
5-2 死信交换机&消息堆积

- 09-死信交换机-初识死信交换机
- 10-死信交换机-TTL机制实现延迟消息
- 11-死信交换机-安装DelayExchange
- 12-死信交换机-实现DelayExchange实现延迟消息
- 13-消息堆积-消息堆积问题及常见解决方案
- 14-消息堆积-惰性队列
5-3 MQ集群

- 15-MQ集群-集群分类
- 16-MQ集群-普通集群
- 17-MQ集群-镜像集群
- 18-MQ集群-仲裁队列
- 19-MQ集群-Java代码连接MQ集群
第六章 ElasticSearch

6-1 初识ES

- 01-今日课程介绍
- 02-初识ES-什么是elasticsearch
- 03-初识ES-倒排索引
- 04-初识ES-es与mysql的概念对比
- 05-初识ES-安装es
- 06-初识ES-安装kibana
- 07-初识ES-安装IK分词器
- 08-初识ES-IK分词器的拓展和停用词典
6-2 操作索引库

- 09-操作索引库-mapping属性
- 10-操作索引库-创建索引库
- 11-操作索引库-查询、删除、修改索引库
- 12-文档操作-新增、查询、删除文档
- 13-文档操作-修改文档
6-3 RestClient

- 14-RestClient操作索引库-导入demo
- 15-RestClient操作索引-hotel数据结构分析
- 16-RestClient操作索引库-初始化RestClient
- 17-RestClient操作索引库-创建索引库
- 18-RestClient操作索引库-删除和判断索引库
- 19-RestClient操作文档-新增文档
- 20-RestClient操作文档-查询文档
- 21-RestClient操作文档-更新文档
- 22-RestClient操作文档-删除文档
- 23-RestClient操作文档-批量导入文档
6-4 DSL查询语法

- 01-今日课程介绍
- 02-DSL查询语法-DSL查询分类和基本语法
- 03-DSL查询语法-全文检索查询
- 04-DSL查询语法-精确查询
- 05-DSL查询语法-地理查询
- 06-DSL查询语法-相关性算分
- 07-DSL查询语法-FunctionScoreQuery
- 08-DSL查询语法-BooleanQuery
6-5 结果处理&查询

- 09-搜索结果处理-排序
- 10-搜索结果处理-分页
- 11-搜索结果处理-高亮
- 12-RestClient查询文档-快速入门
- 13-RestClient查询文档-match、term、range、bool查询
- 14-RestClient查询文档-排序和分页
- 15-RestClient查询文档-高亮显示
6-6 黑马旅游案例

- 16-黑马旅游案例-搜索、分页
- 17-黑马旅游案例-条件过滤
- 18-黑马旅游案例-我附近的酒店
- 19-黑马旅游案例-广告置顶
6-7 数据聚合

- 01-今日内容介绍
- 02-数据聚合-聚合的分类
- 03-数据聚合-DSL实现Bucket聚合
- 04-数据聚合-DSL实现Metrics聚合
- 05-数据聚合-RestClient实现聚合
- 06-数据聚合-多条件聚合
- 07-数据聚合-带过滤条件的聚合
6-8 自动补全

- 08-自动补全-安装拼音分词器
- 09-自动补全-自定义分词器
- 10-自动补全-DSL实现自动补全查询
- 11-自动补全-修改酒店索引库数据结构
- 12-自动补全-RestAPI实现自动补全查询
- 13-自动补全-实现搜索框自动补全
6-9 数据同步

- 14-数据同步-同步方案分析
- 15-数据同步-导入酒店管理项目
- 16-数据同步-声明队列和交换机
- 17-数据同步-发送mq消息
- 18-数据同步-监听MQ消息
- 19-数据同步-测试同步功能
6-10 es集群

- 20-es集群-集群结构介绍
- 21-es集群-搭建集群
- 22-es集群-集群职责及脑裂
- 23-ES集群-分布式新增和查询流程
- 24-ES集群-故障转移
阶段八 项目实战-黑马头条
展开第一章 黑马头条项目

1-1 初始工程

- 01-课程对比
- 02-第一章内容介绍
- 03-项目背景介绍
- 04-技术栈说明
- 05-项目介绍-课程大纲
- 06-nacos环境搭建
- 07-初始工程-工程导入
- 08-初始工程-工程结构介绍
1-2 APP登录
免费试学

- 09-app登录-需求分析-表结构说明
- 10-app登录-手动加盐加密的方式
- 11-app登录-用户微服务搭建
- 12-app端登录-接口定义
- 13-app端登录-功能实现
1-3 接口测试&网关

- 14-接口测试工具-postman
- 15-接口测试工具-swagger
- 16-接口测试工具-knife4j
- 17-网关-app端网关搭建
- 18-网关-认证过滤器校验jwt
- 19-app前端项目集成
1-4 APP端文章

- 01-今日学习内容
- 02-app端文章列表查询-需求分析&表结构分析
- 03-app端文章列表查询-实现思路
- 04-app端文章列表查询-接口实现
- 05-app端文章列表查询-功能完成
- 06-文章详情-实现方案分析
1-5 freemarker

- 07-freemarker-概述
- 08-freemarker-入门案例
- 09-freemarker-基础语法种类
- 10-freemarker-遍历list集合
- 11-freemarker-获取map中的数据
- 12-freemarker-if指令
- 13-freemarker-运算符
- 14-freemarker-空值处理
- 15-freemarker-内建函数
- 16-freemarker-静态文件生成
1-6 MinIO

- 17-MinIO-概述
- 18-MinIO-环境搭建
- 19-MinIO-快速入门
- 20-MinIO-封装为starter使用
- 21-文章详情-静态页面生成上传到minio-1
- 22-文章详情-静态页面生成上传到minio-2
1-7 素材管理

- 01-今日学习内容介绍
- 02-自媒体-前后端项目搭建
- 03-自媒体-素材管理-图片上传-需求及表结构
- 04-自媒体-素材管理-思路分析及微服务中获取用户
- 05-自媒体-素材管理-图片上传完成
- 06-自媒体-素材管理-素材列表查询
1-8 文章管理&发布

- 07-自媒体-文章管理-频道列表查询
- 08-自媒体-文章管理-查询文章列表1
- 09-自媒体-文章管理-文章列表查询2
- 10-自媒体-文章管理-发布文章-需求说明
- 11-自媒体-文章管理-发布文章-思路分析
- 12-自媒体-文章管理-发布文章-接口定义
- 13-自媒体-文章管理-发布文章-保存或修改文章
- 14-自媒体-文章管理-发布文章-抽取文章内容图片
- 15-自媒体-文章管理-发布文章-保存内容图片与素材的关系
- 16-自媒体-文章管理-发布文章-保存内容图片关系-测试
- 17-自媒体-文章管理-发布文章-自动匹配及封面关系保存
1-9 阿里云接口&雪花算法&文章保存
免费试学

- 01-今日内容介绍
- 02-自媒体文章审核流程说明
- 03-阿里云接口-概述
- 04-阿里云接口-项目中集成
- 05-分布式主键策略-雪花算法
- 06-app端文章保存接口实现1
- 07-app端文章保存接口实现2
1-10 文章审核

- 08-自媒体文章审核实现-方法定义及提取文本和图片
- 09-自媒体文章审核实现-审核文本和图片
- 10-自媒体文章审核实现-保存app端数据
- 11-自媒体文章审核实现-单元测试
- 12-自媒体文章审核实现-feign调用服务降级实现
- 13-自媒体文章审核实现-发布文章异步调用审核文章
- 14-自媒体文章审核-综合测试
1-11 敏感词&图片文字识别

- 15-新需求-自管理敏感词-DFA算法
- 16-新需求-自管理敏感词-文章审核集成完成
- 17-新需求-图片文字识别-入门案例
- 18-新需求-图片文字识别-文章审核集成完成
- 19-文章详情-静态文件生成
- 20-今日作业及思考
1-12 概述&添加任务

- 01-今日内容介绍
- 02-延迟任务概述
- 03-redis实现延迟任务-流程说明
- 04-延迟任务服务实现-延迟任务模块创建及数据库准备
- 05-延迟任务服务实现-乐观锁集成
- 06-延迟任务服务实现-redis集成和测试
- 07-延迟任务服务实现-添加任务1
- 08-延迟任务服务实现-添加任务2
1-13 取消&拉取任务&定时刷新

- 09-延迟任务服务实现-取消任务
- 10-延迟任务服务实现-拉取任务
- 11-延迟任务服务实现-未来数据定时刷新-redis获取key的方式
- 12-延迟任务服务实现-未来数据定时刷新-redis管道技术
- 13-延迟任务服务实现-未来数据定时刷新-功能完成
- 14-分布式下的方法抢占执行问题解决-分布式锁
- 15-数据库任务定时同步到redis中
- 16-延迟队列连接发布审核文章-延迟任务接口定义
- 17-发布文章添加延迟任务
- 18-消费任务审核文章
1-14 kafka

- 01-今日学习内容
- 02-kafka概述
- 03-kafka环境搭建
- 04-kafka入门-生产者
- 05-kafka入门-消费者及总结
- 06-kafka入门-分区机制
- 07-Kafka高可用设计方案
- 08-kafka生产者详解-消息发送类型
- 09-kafka生产者详解-参数配置
- 10-kafka消费者详解-消息有序性
- 11-kafka消费者详解-手动提交偏移量
1-15 springboot集成kafka

- 12-springboot集成kafka
- 13-springboot集成kafka-传递消息为对象
- 14-自媒体文章上下架-思路分析
- 15-自媒体文章上下架-功能接口开发完成
- 16-自媒体文章上下架-消息通知article数据同步
1-16 文章搜索

- 01-今日学习内容
- 02-elasticsearch环境搭建
- 03-app文章搜索-创建索引和映射
- 04-app文章搜索-初始化索引库数据
- 05-app文章搜索-搜索微服务创建
- 06-app文章搜索-实现步骤说明
- 07-app文章搜索-功能实现1
- 08-app文章搜索-功能实现2
- 09-app文章搜索-新增文章同步添加索引
1-17 历史记录

- 10-搜索历史记录-mongodb环境搭建
- 11-搜索历史记录-springboot集成mongodb
- 12-搜索历史记录-保存搜索记录-思路步骤说明
- 13-搜索历史记录-保存搜索记录-功能实现1
- 14-搜索历史记录-保存搜索记录-功能实现2
- 15-搜索历史记录-查询历史列表
- 16-搜索历史记录-删除搜索历史
- 17-app文章搜索-搜索联想词功能
1-18 平台管理

- 平台管理-需求说明
1-19 用户行为

- 01-用户行为-需求说明
- 02-long类型精度丢失问题解决
- 03-网络设置及跨域
1-20 xxl-job

- 01-当日需求分析及内容介绍
- 02-xxl-job概述
- 03-xxl-job-部署调度中心
- 04-xxl-job-调度中心部署(docker方式)
- 05-xxl-job-入门案例
- 06-xxl-job-任务详解
- 07-xxl-job-集群下任务路由策略-轮询
- 08-xxl-job-集群下任务路由策略-分片广播
1-21 定时计算

- 09-热文章计算-定时计算-需求说明
- 10-热文章计算-定时计算-实现步骤说明
- 11-热文章计算-定时计算-查询前5天的文章数据
- 12-热文章计算-定时计算-计算文章具体的分值
- 13-热文章计算-定时计算-缓存分值较高的数据
- 14-热文章计算-定时计算-功能测试
- 15-热文章计算-定时计算-定时任务
- 16-app端文章列表接口查询改造
1-22 kafkaStream

- 01-今日学习内容
- 02-流式计算-概述
- 03-kafkaStream概述
- 04-kafkaStream入门案例-1
- 05-kafkaStream入门案例-2
- 06-kafkaStream-入门案例测试和总结
- 07-springboot集成kafkastream
1-23 实时计算

- 08-热点文章-实现思路说明
- 09-热文章计算-文章点赞和阅读发送消息进行聚合
- 10-热文章计算-实时计算-流式聚合处理-1
- 11-热文章计算-实时计算-流式聚合处理-2
- 12-热文章计算-实时计算-流式聚合处理-3
- 13-热文章计算-实时计算-创建监听接收聚合之后的数据
- 14-热文章计算-实时计算-更新文章分值
- 15-热文章计算-实时计算-替换redis中的热点数据
- 16-热文章计算-实时计算-综合测试
1-24 jenkins概述&集成Dockerfile

- 01-持续集成概述及今日内容
- 02-软件开发模式
- 03-jenkins概述及安装
- 04-jenkins-插件概述及安装
- 05-jenkins服务器环境准备
- 06-后端项目部署-多环境配置切换
- 07-后端项目部署-整体思路说明及代码上传到码云
- 08-后端项目部署-微服务集成Dockerfile
- 09-后端项目部署-父工程项目构建
1-25 jenkins构建微服务

- 10-后端项目部署-jenkins构建微服务
- 11-后端项目部署-jenkins构建微服务-测试
- 12-后端项目部署-远程构建微服务-准备工作
- 13-后端项目部署-远程构建微服务
- 14-后端项目部署-综合测试
- 15-jenkins触发器-远程触发及其他项目构建后触发
- 16-jenkins触发器-定时触发和轮询触发
阶段九 项目实战-立可得
展开第一章 立可得

1-1 MQTT

- 01.什么是MQTT
- 02.设计原则
- 03.应用领域
- 04.mqtt相关概念
- 05.Qos三个等级
- 06.发布与订阅QoS
1-2 EMQX

- 07.emq简介
- 08.topic通配符匹配规则
- 09.安装
- 10.目录结构
- 11.dashboard功能简介
- 12.websocket发布订阅测试
- 13.mqttx测试工具
1-3 延迟发布

- 14.延迟发布
1-4 共享订阅

- 15.共享订阅
- 16.不带群组的共享订阅及均衡策略设置
- 17.带群组的共享订阅
1-5 代理订阅

- 18.代理订阅应用场景
- 19.代理订阅配置
1-6 保留消息

- 20.保留消息-效果演示及应用场景分析
- 21.保留消息-配置
1-7 认证

- 22.认证简介
- 23.http认证-配置
- 24.http认证-认证服务
1-8 ACL

- 25.ACL简介
- 26.ACL配置
- 27.httpACL接口开发
1-9 智能售货机需求分析

- 01.概念介绍
- 02.智能售货机业务介绍
- 03.系统构成
- 04.相关术语
- 05.投放流程
- 06.补货流程
- 07.用户购买流程
- 08.立可得1.0运营后台体验-1
- 09.立可得1.0运营后台体验-2
- 10.立可得1.0运营后台体验-3
1-10 立可得1.0版本系统设计

- 11.立可得1.0功能架构图
- 12.立可得1.0技术架构图
- 13.立可得1.0系统架构图
- 14.工程结构与库表设计
1-11 立可得1.0微服务API设计

- 15.API设计-区域
- 16.API设计-点位
- 17.API设计-售货机
- 18.API设计-货道
- 19.API设计-商品
- 20.API设计-工单
- 21.API设计-订单
- 22.API设计-用户
1-12 立可得2.0需求分析

- 01.背景介绍
- 02.产品原型
- 03.设计稿
- 04.需求对比分析-点位
- 05.需求对比分析-设备
- 06.需求对比分析-人员
- 07.需求对比分析-商品、策略、订单
- 08.需求对比分析-对账
- 09.需求对比分析-工作台
- 10.需求对比分析-工单
- 11.需求对比分析-合作商后台
- 12.需求对比分析-运营运维管理APP
- 13.需求对比分析-用户小程序
1-13 立可得2.0系统设计

- 14.技术升级对比分析
- 15.技术架构图
- 16.库表设计
- 17.工程结构调整
- 18.环境准备
1-14 集成SpringCloudAlibaba短信服务

- 19.集成短信服务
- 20.短信验证码
1-15 多端登录与网关鉴权

- 21.多端登录与网关鉴权-需求与实现思路-1
- 22.图形验证码
- 23.管理员登录
- 24.管理员登录-接口测试
- 25.运营和运维人员登录与合作商登录逻辑
- 26.网关鉴权-代码解析-new
- 27.网关鉴权-代码测试
1-16 对象存储服务MinIO

- 28.MinIO简介
- 29.minio开箱使用
- 30.minio上传代码解析
- 31.上传测试及桶匿名访问策略的设置
1-17 mybatisPlus让你专注业务开发

- 32.IService接口-代码清爽之美
- 33.优雅的自动填充-new
1-18 微服务集成EMQ

- 01.mqtt客户端paho
- 02.消息发布到emq-1
- 03.消息发布到emq-2
- 04.emq消息订阅
- 05.消息分发处理架构-原理解析
1-19 工单业务流

- 06.工单业务流分析
- 07.运维工单产品原型
- 08.运营工单产品原型
- 09.工单相关表结构分析
- 10.创建工单-视图模型废弃属性处理
- 11.创建工单-验证工单逻辑分析
- 12.创建工单-复制属性代码优化
- 13.创建工单-工单编号生成逻辑
- 14.创建工单-获取当前登录用户
- 15.创建工单-测试
- 16.接受工单-代码
- 17.接受工单-测试
- 18.取消工单-代码
- 19.取消工单-测试
1-20 完成运维工单

- 20.完成运维工单-通知售货机状态变更-需求与实现思路
- 21.完成运维工单-通知售货机状态变更-主题与协议设计
- 22.完成运维工单-通知售货机状态变更-工单微服务发送消息
- 23.完成运维工单-通知售货机状态变更-售货机服务接收消息
- 24.完成运维工单-通知售货机状态变更-测试
- 25.完成运维工单-采集设备坐标与地址
- 26.完成运维工单-采集设备坐标与地址-工单微服务
- 27.完成运维工单-采集设备坐标与地址-售货机微服务(todo)
1-21 完成补货工单

- 28.补货工单-需求与实现思路
- 29.完成补货工单-补货协议与封装类
- 30.完成补货工单-发送补货协议
- 31.完成补货工单-售货机补货协议处理
- 32.完成补货工单-测试
1-22 分布式任务调度-XXL-JOB

- 01.分布式任务调度
- 02.XXL-JOB简介
- 03.XXL-job开箱使用
- 04.XXL_JOB快速入门
- 05.阻塞处理策略
- 06.阻塞处理策略测试-单机串行
- 07.阻塞处理策略测试-丢弃后续调度与覆盖之前调度
- 08.立可得集成XXL-job-1
- 09.立可得集成XXL-job-2
1-23 自动维修工单

- 10.自动维修工单-需求与实现思路
- 11.工单量列表初始化-1
- 12.工单量列表初始化-2
- 13.工单量列表更新
- 14.最少工单量查询
- 15.状态协议与封装类
- 16.带群组方式的共享订阅
- 17.接收状态报文创建维修工单
- 18.自动维修工单-测试
1-24 自动补货工单

- 19.自动补货工单-需求与实现思路
- 20.自动补货工单-扫描售货机任务
- 21.自动补货工单-缺货货道数统计
- 22.自动补货工单-补货消息封装与发送
- 23.自动补货工单-自动补货工单创建
- 24.自动补货工单测试
1-25 分片广播任务

- 25.什么是分片广播任务
- 26.分片广播-代码实现
- 27.分片广播-测试
1-26 小程序端功能概述

- 01.小程序端产品原型
- 02.小程序端系统体验
1-27 小程序-售货机商品查询

- 03.售货机-商品列表-需求与实现思路
- 04.售货机-商品列表-v1.0代码解析
- 05.售货机-商品列表-代码优化-1
- 06.售货机-商品列表-代码优化-2
- 07.售货机-商品列表-代码优化-3
- 08.售货机-商品列表-代码优化-4
- 09.商品详情
1-28 openId

- 10.openId
- 11.获取OpenId代码实现
1-29 小程序支付与回调

- 12.小程序支付与回调-需求与实现思路
- 13.创建订单-1
- 14.创建订单-2
- 15.对接微信支付
- 16.发起支付请求
- 17.支付回调处理
- 18.小程序前后端代码联调-1-taro编译
- 19.小程序前后端代码联调-2-前后端联调
- 20.内网穿透工具cpolar
1-30 售货机出货并发控制

- 21.售货机出货并发控制-需求分析
- 22.售货机出货与并发控制-实现思路
- 23.判断库存
- 24.发送出货通知
- 25.处理出货结果
- 26.处理出货结果-测试
- 27.分布式锁处理-单元测试
- 28.出货并发控制
- 29.取消订单释放锁
1-31 超时订单处理

- 30.超时订单处理-需求与实现思路
- 31.emq延迟消息
- 32.超时订单处理-代码实现
- 33.超时订单处理-测试
1-32 LBS(基于位置服务)

- 01.Lbs基于位置服务-需求和实现思路
- 02.索引库创建
- 03.完成保存设备坐标的功能
- 04.完成保存设备坐标的功能-测试
- 05.附近售货机搜索-1
- 06.附近售货机搜索-2
- 07.附近售货机搜索3
- 08.附近售货机搜索4
- 09.附近售货机搜索5
- 10.附近售货机搜索测试1
- 11.附近售货机搜索-测试-2
1-33 logstash实现订单数据同步

- 12.Logstash订单数据同步需求与实现思路
- 13.Logstash环境搭建
- 14.Logstash实现订单数据同步代码实现
1-34 用户订单数据检索

- 15.用户订单数据检索需求与实现思路
- 16.用户订单数据检索代码实现1
- 17.用户订单数据检索代码实现2
- 18.用户订单数据检索代码实现3
- 19.用户订单数据检索测试
1-35 选品智能推荐

- 20.选品智能推荐需求分析
- 21.选品智能推荐实现思路
- 22.选品智能推荐代码实现1
- 23.选品智能推荐-代码实现-2
- 24.选品智能推荐测试
1-36 分成金额计算

- 01.合作商分成金额计算-需求与实现思路
- 02.合作商分成金额计算-代码实现
- 03.合作商分成金额计算-测试
1-37 订单数据定时汇总

- 04.订单数据定时汇总-需求与实现思路
- 05.订单数据定时汇总-代码实现-1
- 06.订单数据定时汇总-代码实现-2
- 07.订单数据定时汇总-代码实现-3
1-38 合作商分账查询

- 08.合作商分账查询-需求分析
- 09.合作商分账查询-代码实现
- 10.合作商分账查询-测试
1-39 合作商后台-点位分账查询

- 11.合作商后台-点位分账查询
- 12.合作商后台-点位分账查询-代码实现
- 13.合作商后台-点位分账查询-测试
1-40 对账数据导出

- 14.对账数据导出-需求与实现思路
- 15.合作商分账列表查询(不分页)
- 16.EasyExcel实现数据导出-1
- 17.EasyExcel实现数据导出-2
- 18.EasyExcel实现数据导出-测试
1-41 收益统计趋势图

- 19.收益统计趋势图-需求与实现思路
- 20.收益统计趋势图-曲线图封装类
- 21.收益统计趋势图-代码实现
- 22.收益统计趋势图-测试
1-42 数据批量导入

- 23.数据批量导入-需求与实现思路
- 24.数据批量导入-easyExcel实现数据批量导入-1
- 25.数据批量导入-easyExcel实现数据批量导入-2
- 26.数据批量导入-easyExcel实现数据批量导入-测试
- 27.通用数据导入-需求与实现思路
- 28.通用数据导入-代码实现
1-43 并发异步编程CompletableFuture

- 01.并发异步编程-需求与解决方案分析
- 02.CompletableFuture快速入门
- 03.使用CompletableFuture实现工单数统计-1
- 04.使用CompletableFuture实现工单数统计-2
- 05.使用CompletableFuture实现工单数统计-3
- 06.使用CompletableFuture实现工单数统计-4
1-44 用户工作量查询

- 07.用户工作量查询-需求与思想思路
- 08.用户工作量详情查询-1
- 09.用户工作量详情查询-2
- 10.用户工作量列表查询-1
- 11.用户工作量列表查询-2
- 12.用户工作量查询-测试
1-45 工单状态按日统计

- 13.工单状态按日统计-需求与实现思路
- 14.工单状态按日统计-工单定时汇总-1
- 15.工单状态按日统计-工单定时汇总-2
- 16.无效工单处理
- 17.工单状态统计
1-46 人效排名月度统计

- 18.人效排名月度统计-需求与实现思路
- 19.人效排名月度统计-代码实现
1-47 销售额趋势图

- 20.销售额趋势图-需求与实现思路
- 21.销售额趋势图-代码实现-1
- 22.销售额趋势图-代码实现-2
1-48 销售额分布

- 23.销售额分布-需求与实现思路
- 24.销售额分布-代码实现-1
- 25.销售额分布-代码实现-2
1-49 售货机端功能分析

- 01.售货机端功能描述
- 02.售货机端技术方案
- 03.数据库表结构设计
1-50 EMQ安全解决方案-ACL

- 04.ACL概述
- 05.ACL连接认证-1
- 06.ACL连接认证-2
- 07.超级用户判断
- 08.发布订阅控制
1-51 嵌入式数据库H2

- 09.h2简介
- 10.jdbc操作h2
- 11.mybatisplus操作h2-1
- 12.mybatisplus操作h2-2
- 13.ScriptUtils解决重启后数据丢失问题-1
- 14.ScriptUtils解决重启后数据丢失问题-2
1-52 售货机端工程搭建

- 15.基础工程搭建
- 16.集成emq
- 17.集成emq-测试
- 18.消息协议封装
1-53 售货机数据同步

- 19.商品与货道数据同步-需求与实现思路
- 20.向服务器发送版本信息
- 21.接收和保存服务器的商品货道信息-1
- 22.接收和保存服务器的商品货道信息-2
- 23.商品与货道数据同步-联调测试
- 24.商品价格同步
1-54 售货机出货业务

- 25.出货业务-需求与实现思路
- 26.出货通知处理
- 27.出货上报
1-55 售货机补货业务

- 28.补偿处理
- 29.补货业务
阶段十 面试专题
展开第一章 基础篇

1-1 二分查找&冒泡排序

- 01-课程介绍
- 02-二分查找_演示
- 03-二分查找_实现
- 04-二分查找_解决整数溢出_方法1
- 05-二分查找_解决整数溢出_方法2
- 06-二分查找_选择题目1
- 07-二分查找_选择题目2
- 08-二分查找_注意事项
- 09-冒泡排序_演示
- 10-冒泡排序_初步实现
- 11-冒泡排序_优化_减少比较次数
1-2 排序

- 12-冒泡排序_优化_减少冒泡次数
- 13-冒泡排序_优化_进一步优化比较次数
- 14-冒泡排序_优化_最终实现
- 15-冒泡排序_总结
- 16-选择排序_演示
- 17-选择排序_实现
- 18-选择排序_vs_冒泡排序
- 19-插入排序_演示
- 20-插入排序_实现
- 21-插入排序_总结
- 22-希尔排序_演示
- 23-插入和选择_推导某一轮排序结果
1-3 快速排序

- 24-快速排序_描述
- 25-快速排序_单边循环(lomuto)_演示
- 26-快速排序_单边循环(lomuto)_实现_分区
- 27-快速排序_单边循环(lomuto)_实现_递归
- 28-快速排序_双边循环_演示
- 29-快速排序_双边循环_实现
- 30-快速排序_双边循环_细节
- 31-快速排序_特点
1-4 ArrayList&Iterator&LinkedList

- 32-ArrayList_扩容规则
- 33-Iterator_FailFast_FailSafe_演示
- 34-Iterator_FailFast_源码分析
- 35-Iterator_FailSafe_源码分析
- 36-LinkedList_vs_ArrayList_随机访问性能比较
- 37-LinkedList_vs_ArrayList_增删性能比较
- 38-LinkedList_vs_ArrayList_局部性原理_空间占用
1-5 HashMap

- 39-HashMap_数据结构
- 40-HashMap_数据结构_快速查找演示
- 41-HashMap_数据结构_链表过长的解决_扩容
- 42-HashMap_数据结构_链表过长的解决_树化
- 43-HashMap_数据结构_红黑树的意义_树化阈值
- 44-HashMap_数据结构_树退化链表_情况1
- 45-HashMap_数据结构_树退化链表_情况2
- 46-HashMap_索引如何计算
- 47-HashMap_为何要二次哈希
- 48-HashMap_容量为何是2的n次幂
- 49-HashMap_容量不用2的n次幂行不行
- 50-HashMap_put流程
- 51-HashMap_负载因子为何是0.75f
- 52-HashMap_并发丢数据
- 53-HashMap_并发扩容死链(1.7)
- 54-HashMap_key的要求
- 55-HashMap_hashCode的设计
1-6 单例设计模式

- 56-单例模式_方式1_饿汉式
- 57-单例模式_方式2_枚举饿汉式
- 58-单例模式_方式3_懒汉式
- 59-单例模式_方式4_DCL懒汉式
- 60-单例模式_方式4_DCL懒汉式_为何加volatile
- 61-单例模式_方式5_内部类懒汉式
- 62-单例模式_在jdk中的体现
第二章 并发篇

2-1 线程状态&线程池

- 01-线程状态_java中的线程状态
- 02-线程状态_java中的线程状态_代码演示
- 03-线程状态_五种状态_vs_六种状态
- 04-线程池核心参数_简介
- 05-线程池核心参数_演示
2-2 wait&lock

- 06-wait_vs_sleep_区别
- 07-wait_vs_sleep_演示
- 08-lock_vs_synchronized_区别
- 09-lock_阻塞演示
- 10-lock_公平非公平演示
- 11-lock_条件变量演示
2-3 volatile

- 12-volatile_举例
- 13-volatile_原子性_演示
- 14-volatile_可见性_演示
- 15-volatile_可见性_原因与解决
- 16-volatile_有序性_分析
- 17-volatile_有序性_压测演示
- 18-volatile_有序性_volatile位置不同影响分析
2-4 引用&悲观锁&HashTable

- 19-悲观锁_vs_乐观锁_理论
- 20-悲观锁_vs_乐观锁_Unsafe_cas
- 21-悲观锁_vs_乐观锁_代码对比
- 22-Hashtable_vs_ConcurrentHashMap_区别
- 23-Hashtable_演示
2-5 ConcurrentHashMap&ThreadLocal

- 24-ConcurrentHashMap_v7_演示并发度
- 25-ConcurrentHashMap_v7_演示索引计算
- 26-ConcurrentHashMap_v7_演示扩容
- 27-ConcurrentHashMap_v7_演示Segment[0]
- 28-ConcurrentHashMap_v8_与7简单比较
- 29-ConcurrentHashMap_v8_构造参数含义
- 30-ConcurrentHashMap_v8_演示并发put
- 31-ConcurrentHashMap_v8_演示扩容
- 32-ConcurrentHashMap_v8_扩容细节
- 33-ThreadLocal_作用
- 34-ThreadLocal_原理
- 35-ThreadLocal_key内存释放时机
- 36-ThreadLocal_value内存释放时机_get时
- 37-ThreadLocal_value内存释放时机_set时
- 38-ThreadLocal_value内存释放时机_remove时
第三章 虚拟机篇

3-1 jvm内存结构&垃圾回收

- 01-jvm内存结构_代码执行流程
- 02-jvm内存结构_哪些区域会有内存溢出
- 03-jvm内存结构_方法区_元空间
- 04-jvm内存参数
- 05-jvm垃圾回收算法
- 06-jvm垃圾回收_概述
- 07-jvm垃圾回收_分代回收
- 08-jvm垃圾回收_三色标记
- 09-jvm垃圾回收_并发漏标
- 10-jvm垃圾回收_垃圾回收器
- 11-jvm垃圾回收_垃圾回收器_G1
- 12-jvm垃圾回收_垃圾回收器_G1
3-2 内存溢出&类加载

- 13-内存溢出_情况1_误用固定大小线程池
- 14-内存溢出_情况2_误用带缓冲线程池
- 15-内存溢出_情况3_一次查询太多数据
- 16-内存溢出_情况4_类太多
- 17-类加载_三个阶段
- 18-类加载_验证类加载是懒惰的
- 19-类加载_验证类对象位于堆
- 20-类加载_验证类静态变量在初始化时赋值
- 21-类加载_如何找到类对象地址
- 22-类加载_类初始化方法原理
- 23-类加载_final修饰基本类型变量的原理
- 24-类加载_将符号引用变为直接引用
- 25-类加载_双亲委派
- 26-类加载_能假冒一个System类吗
3-3 引用&悲观锁&HashTable

- 27-四种引用_概述
- 28-四种引用_虚引用
- 29-四种引用_弱引用
3-4 引用&finalize

- 30-四种引用_Cleaner
- 31-finalize_概述
- 32-finalize_unfinalized链表
- 33-finalize_调用原理
第四章 框架篇

4-1 spring_refresh

- 01_spring_refresh_概述
- 02_spring_refresh_01_Environment
- 03_spring_refresh_02_获取BeanFactory
- 04_spring_refresh_03_准备BeanFactory
- 05_spring_refresh_04-05_扩展BeanFactory
- 06_spring_refresh_06_注册bean后处理器
- 07_spring_refresh_07-10_applicationContext各项功能
- 08_spring_refresh_11-12_初始化单例_完成refresh
- 09_spring_refresh_小结
4-2 spring_bean

- 10_spring_bean_01_处理名称_检查缓存
- 11_spring_bean_02-03_查找父容器_处理DependsOn
- 12_spring_bean_04_按scope创建
- 13_spring_bean_05_创建bean_创建实例阶段
- 14_spring_bean_05_创建bean_依赖注入阶段
- 15_spring_bean_05_创建bean_依赖注入阶段_相同成员依赖注入优先级
- 16_spring_bean_05_创建bean_初始化阶段
- 17_spring_bean_05_创建bean_注册可销毁bean
- 18_spring_bean_07_销毁bean
4-3 spring_tx_事务&spring_webmvc

- 19_spring_tx_事务失效场景1_检查异常
- 20_spring_tx_事务失效场景2_错误try-catch
- 21_spring_tx_事务失效场景3_切面顺序
- 22_spring_tx_事务失效场景4_非public方法
- 23_spring_tx_事务失效场景5_父子容器
- 24_spring_tx_事务失效场景6_本类方法调用
- 25_spring_tx_事务失效场景7_原子性失效
- 26_spring_tx_事务失效场景8_锁失效
- 27_spring_webmvc_执行流程_初始化
- 28_spring_webmvc_执行流程_匹配
- 29_spring_webmvc_执行流程_执行
4-4 spring_annotation

- 30_spring_annotation_spring注解
- 31_spring_annotation_webmvc注解
- 32_spring_annotation_boot注解
- 33_spring_annotation_@Configuration_配置类即为工厂
- 34_spring_annotation_@Configuration_工厂方法不能重载
- 35_spring_annotation_@Configuration_配置类默认为代理
- 36_spring_annotation_@Configuration_配置类依赖注入失效
- 37_spring_annotation_@Import_基本使用
- 38_spring_annotation_@Import_DeferredImportSelector
4-5 自动配置&spring_pattern

- 39_spring_boot_自动配置_@SpringBootApplication
- 40_spring_boot_自动配置_@EnableAutoConfiguration
- 41_spring_pattern_1~3
- 42_spring_pattern_4~5
- 43_spring_pattern_6~7
- 43_spring_pattern_8~11
第五章 深入spring-refresh

5-1 refresh简介

- 00_refresh简介1
- 00_refresh简介2
- 01_prepareRefresh
- 02_obtainFreshBeanFactory_1
- 02_obtainFreshBeanFactory_2
- 02_obtainFreshBeanFactory_3
5-2 prepareBeanFactory

- 03_prepareBeanFactory_1
- 03_prepareBeanFactory_2_beanExpressionResolver
- 03_prepareBeanFactory_3_propertyEditorRegistrar
- 03_prepareBeanFactory_4_ApplicationContextAwareProcessor
- 03_prepareBeanFactory_5_resolvableDependencies
- 03_prepareBeanFactory_6_resolvableDependencies
- 03_prepareBeanFactory_7_ApplicationListenerDetector
5-3 PostProcessors

- 04_postProcessBeanFactory
- 05_invokeBeanFactoryPostProcessors_1
- 05_invokeBeanFactoryPostProcessors_2_ConfigurationClassPostProcessor
- 05_invokeBeanFactoryPostProcessors_3_MapperScannerConfigurer
- 05_invokeBeanFactoryPostProcessors_4_PropertySourcesPlaceholderConfigurer
5-4 registerBean

- 06_registerBeanPostProcessors_01
- 06_registerBeanPostProcessors_02_AutowiredAnnotationBeanPostProcessor
- 06_registerBeanPostProcessors_03_AutowiredAnnotationBeanPostProcessor
- 06_registerBeanPostProcessors_04_AutowiredAnnotationBeanPostProcessor
- 06_registerBeanPostProcessors_05_InjectionMetadata
- 06_registerBeanPostProcessors_06_InjectedElement
- 06_registerBeanPostProcessors_07_resolveDependency
- 06_registerBeanPostProcessors_08_resolveDependency
- 06_registerBeanPostProcessors_09_CommonAnnotationBeanPostProcessor
- 06_registerBeanPostProcessors_10_CommonAnnotationBeanPostProcessor
- 06_registerBeanPostProcessors_11_applyBeanPostProcessorsBeforeInitialization
- 06_registerBeanPostProcessors_12_AnnotationAwareAspectJAutoProxyCreator
- 06_registerBeanPostProcessors_13_AnnotationAwareAspectJAutoProxyCreator
- 06_registerBeanPostProcessors_14_小结
5-5 registerListeners

- 07_initMessageSource
- 08_initApplicationEventMulticaster
- 09_onRefresh
- 10_registerListeners
- 10_registerListeners_三种监听器_1
- 10_registerListeners_三种监听器_2
- 10_registerListeners_三种监听器_3
5-6 finishBean

- 11_finishBeanFactoryInitialization
- 11_finishBeanFactoryInitialization_1_embeddedValueResolvers
- 11_finishBeanFactoryInitialization_2_lazyInit
- 11_finishBeanFactoryInitialization_3_FactoryBean
- 12_finishRefresh
- 12_finishRefresh_lifecycle
- 13_小结1
- 13_小结2
第六章 深入springBean

6-1 bean 生命周期

- 0_bean 生命周期_简介
- 1_01_解析别名
- 1_02_FactoryBean
- 1_03_FactoryBean_debug
- 1_04_三级缓存
- 2_处理父子容器
6-2 dependsOn

- 3_01_dependsOn
- 3_02_支线_@Conditional
- 3_03_支线_beanName
- 3_04_支线_@Bean
- 3_05_支线_@DependsOn_@Lazy_@Primary_1
- 3_06_支线_@DependsOn_@Lazy_@Primary_2
- 3_07_支线_@Scope_1
- 3_08_支线_@Scope_2
- 3_09_支线_@Scope_3
- 4_深入理解scope
6-3 创建bean

- 5_01_创建bean_概述
- 5_02_创建bean_入口
- 5_03_创建bean_lambda延时调用
- 5_04_创建bean_AnnotationAwareAspectJAutoProxyCreator
- 5_05_创建bean_自定义TargetSource
- 5_06_创建bean_Supplier方式创建实例
- 5_07_创建bean_工厂方法方式创建实例_概述
- 5_08_创建bean_工厂方法方式创建实例_实例工厂
- 5_09_创建bean_工厂方法方式创建实例_静态工厂
- 5_10_创建bean_工厂方法方式创建实例_工厂带参数
- 5_11_创建bean_工厂方法方式创建实例_工厂带参数_debug
- 5_12_创建bean_工厂方法方式创建实例_工厂有重载
- 5_13_创建bean_工厂方法方式创建实例_工厂有重载_debug
- 5_14_创建bean_后处理器选择构造器
- 5_15_创建bean_后处理器选择构造器_debug
- 5_16_创建bean_后处理器选择构造器_后处理器_debug
- 5_17_创建bean_后处理器选择构造器_requiredConstructor_debug
- 5_18_创建bean_后处理器选择构造器_唯一带参构造
- 5_19_创建bean_优选公共构造器
- 5_20_创建bean_@Lookup
- 5_21_创建bean_@Lookup_原理
- 5_22_创建bean_@Lookup_解析
6-4 依赖注入

- 5_23_依赖注入_set方法注入
- 5_24_依赖注入_set方法注入_debug
- 5_25_依赖注入_自动装配注入
- 5_26_依赖注入_自动装配注入_byName_debug
- 5_27_依赖注入_自动装配注入_byType_debug
- 5_28_依赖注入_自动装配注入_优先级问题
- 5_29_依赖注入_后处理器注入_后处理查找元数据
- 5_30_依赖注入_后处理器注入_元数据依赖注入
- 5_31_依赖注入_后处理器注入_查找依赖的值
- 5_32_依赖注入_后处理器注入_查找依赖的值_封装Optional
- 5_33_依赖注入_后处理器注入_查找依赖的值_封装ObjectFactory
- 5_34_依赖注入_后处理器注入_查找依赖的值_@Lazy代理
- 5_35_依赖注入_@Lazy加在不同位置的比较
- 5_36_依赖注入_后处理器注入_@Value解析
- 5_37_依赖注入_后处理器注入_@Value解析
- 5_38_依赖注入_后处理器注入_集合解析
- 5_39_依赖注入_后处理器注入_集合解析
- 5_40_依赖注入_后处理器注入_resolvableDependencies解析
- 5_41_依赖注入_后处理器注入_泛型解析
- 5_42_依赖注入_后处理器注入_@Qualifier解析
- 5_43_依赖注入_小结
6-5 初始化bean

- 5_44_初始化bean_概述
- 5_45_初始化bean_debug
- 5_46_初始化bean_小结
6-6 注册可销毁bean

- 5_47_注册可销毁bean
- 5_48_注册可销毁bean_debug_requiresDestruction
- 5_49_注册可销毁bean_debug_requiresDestruction
- 5_50_注册可销毁bean_debug_DisposableBeanAdapter
- 7_01_singleton销毁
- 7_02_自定义scope销毁
- 7_03_prototype销毁
- 7_04_七个阶段小结
6-7 循环依赖_铺垫

- 8_01_循环依赖_铺垫_ProxyFactory
- 8_02_循环依赖_铺垫_ProxyFactory
- 8_03_循环依赖_铺垫_代理对象与advisor关系
- 8_04_循环依赖_铺垫_@Aspect与advisor关系
- 8_05_循环依赖_铺垫_AnnotationAwareAspectJAutoProxyCreator_wrapIfNecessary
- 8_06_循环依赖_铺垫_AnnotationAwareAspectJAutoProxyCreator_wrapIfNecessary_debug
- 8_07_循环依赖_铺垫_AnnotationAwareAspectJAutoProxyCreator_代理创建时机
- 8_08_循环依赖_铺垫_小结
6-8 循环依赖_缓存

- 8_09_循环依赖_一级缓存作用
- 8_10_循环依赖_一级缓存不能解决循环依赖
- 8_11_循环依赖_二级缓存作用
- 8_12_循环依赖_二级缓存不能解决循环依赖中有代理的情况
- 8_13_循环依赖_三级缓存作用
6-9 set循环依赖

- 8_14_循环依赖_set循环依赖演示
- 8_15_循环依赖_set循环依赖_debug_getSingleton
- 8_16_循环依赖_set循环依赖_debug_getSingleton
- 8_17_循环依赖_set循环依赖_二级缓存作用
- 8_18_循环依赖_set循环依赖_二级缓存作用
- 8_19_循环依赖_set循环依赖_如何避免代理重复创建
6-10 构造循环依赖

- 8_20_循环依赖_构造循环依赖
- 8_21_循环依赖_构造循环依赖_@Lazy方式解决
- 8_22_循环依赖_构造循环依赖_@Lazy方式解决
- 8_23_循环依赖_构造循环依赖_ObjectFactory方式解决
- 8_24_循环依赖_构造循环依赖_Provider方式解决
- 8_25_循环依赖_构造循环依赖_@Scope方式解决
- 8_26_循环依赖_小结
第七章 数据库篇

7-1 隔离级别

- 01_隔离级别_概述
- 02_隔离级别_错误现象
7-2 隔离级别&存储引擎&B树

- 03_隔离级别_快照读与当前读
- 04_隔离级别_快照建立时机
- 05_存储引擎_InnoDB_vs_MyISAM
- 06_存储引擎_InnoDB_vs_MyISAM_索引不同
- 07_索引_为何用B+树
- 08_索引_B树_vs_B+树
- 09_索引_B+树_新增_查询
- 10_索引_B+树_删除
7-3 索引生效失效

- 11_索引_生效失效_数据准备
- 12_索引_生效失效_排序
- 13_索引_生效失效_where
- 14_索引_生效失效_索引条件下推
- 15_索引_生效失效_其它
- 16_一条查询语句的执行流程
7-4 全局锁&表级锁&行锁

- 17_undo_log
- 18_redo_log
- 19_全局锁
- 20_表级锁_表锁
- 21_表级锁_元数据锁
- 22_表级锁_意向锁
- 23_行级锁_间隙锁
- 24_行级锁_临键锁
第八章 缓存篇

8-1 redis数据类型

- 01_redis数据类型_概述
- 02_redis数据类型_String
- 03_redis数据类型_List
- 04_redis数据类型_Hash
- 05_redis数据类型_SortedSet
- 06_redis数据类型_跳表查询
- 07_redis_keys命令的问题
- 08_redis_过期key的删除策略
8-2 redis持久化&缓存

- 09_redis持久化_aof
- 10_redis持久化_aof重写
- 11_redis持久化_rdb
- 12_redis持久化_混合持久化
- 13_redis_缓存击穿
- 14_redis_缓存雪崩
- 15_redis_缓存穿透
- 16_缓存一致性_不能先清缓存
- 17_缓存一致性_先更新库方案
- 18_缓存一致性_先更新库方案
- 19_缓存一致性_锁方案
8-3 redis事务&lru

- 20_redis_事务_不支持回滚
- 21_redis_事务_读写不是原子的
- 22_redis_事务_乐观锁保证原子性
- 23_redis_事务_lua脚本原子性
- 24_lru_演示
- 25_lru_实现_断开节点链接
- 26_lru_实现_链入头节点
- 27_lru_实现_删除_查询_新增
- 28_lru_实现_测试
- 29_lru_LinkedHashMap实现
第九章 分布式篇

9-1 cap&paxos

- 01_cap_概述
- 02_cap_一致性级别
- 03_paxos_问题提出
- 04_paxos_角色划分和阶段
- 05_paxos_算法描述
- 06_paxos_算法描述_例1
- 07_paxos_算法描述_例2
- 08_paxos_算法描述_例3~4
- 09_paxos_算法描述_例5
- 10_paxos_算法描述_例6
9-2 raft算法&gossip协议

- 11_raft_算法概述
- 12_raft_算法_选举1
- 13_raft_算法_选举2
- 14_raft_算法_执行操作
- 15_raft_算法_leader完整性
- 16_raft_算法_选民一致性
- 17_gossip协议
9-3 通用设计

- 18_通用设计_如何检测节点活着
- 19_通用设计_如何实现高可用
- 20_通用设计_如何生成全局id
- 21_通用设计_负载均衡策略
- 22_通用设计_数据分片策略
- 23_通用设计_分布式事务_2PC
- 24_通用设计_分布式事务_TCC
- 25_通用设计_分布式事务_消息队列