课程试听
阶段一 JavaSE基础
展开第一章 Java基础语法

1-1 环境搭建

- 01_Java语言背景介绍
- 02_Java语言跨平台原理
- 03_JRE和JDK
- 04_JDK的下载和安装
- 05_常用DOS命令
- 06_Path环境变量的配置
- 07_HelloWorld案例的编写和执行
- 08_HelloWorld案例详解
- 09_HelloWorld案例常见问题
- 10_Notepad软件的安装和使用
1-2 变量

- 11_注释
- 12_关键字
- 13_常量
- 14_变量的介绍
- 15_数据类型
- 16_变量的定义和使用
- 17_变量的注意事项
- 18_键盘录入
- 19_标识符
1-3 类型转换&运算符

- 01_隐式转换
- 02_强制转换
- 03_类型转换案例
- 04_算数运算符
- 05_字符的+操作
- 06_字符串的+操作
- 07_案例_数值拆分
- 08_自增自减运算符
- 09_赋值运算符
- 10_关系运算符
- 11_逻辑运算符
- 12_短路逻辑运算符
- 13_三元运算符
- 14_案例_三个和尚
1-4 流程控制

- 15_流程控制语句-顺序结构
- 16_if语句格式1
- 17_if语句格式2
- 18_if语句格式3
- 19_案例_考试奖励
- 01-分支语句switch语句
- 02-switch案例-减肥计划
- 03-switch语句case穿透
1-5 循环语句

- 04-循环语句-for循环
- 05-for循环案例-输出数据1-5和5-1
- 06-for循环案例-求1-5数据和
- 07-for循环案例-求1-100偶数和
- 08-for循环案例-水仙花数
- 09-for循环案例-每行打印2个水仙花数(统计)
- 10-循环语句-while循环
- 11-while循环案例-珠穆朗玛峰
- 12-循环语句-dowhile循环
- 13-三种循环的区别
- 14-死循环
- 15-跳转控制语句
- 16-减肥计划改进版-循环标号
- 17-Random基本使用
- 18-猜数字
1-6 IDEA使用&数组介绍

- 01-IDEA的概述和安装
- 02-IDEA中的项目结构
- 03-IDEA中的第一个代码
- 04-IDEA常用快捷键
- 05-IDEA操作模块
- 06-IDEA打开关闭项目-类名包名修改
- 07-数组介绍
- 08-数组的定义格式
- 09-数组的动态初始化
- 10-数组元素访问
1-7 数组&内存图

- 11-Java内存分配-一个数组内存图
- 12-两个数组内存图
- 13-多个数组指向相同内存图
- 14-数组的静态初始化
- 15-数组操作的两个常见问题
- 16-数组遍历
- 17-数组获取最大值
- 18-数组元素求和
- 19-数组基本查找
- 20-评委打分
1-8 方法

- 01-方法概述
- 02-方法的定义和调用
- 03-方法的调用过程
- 04-方法练习-奇偶数判断
- 05-带参数方法的定义和调用
- 06-形参和实参
- 07-带参数方法的练习-打印n-m之间所有的奇数
- 08-带返回值方法的定义和调用
- 09-带返回值方法的练习-求两个数的最大值
- 10-方法通用格式
- 11-方法的注意事项
- 12-方法重载
- 13-方法重载练习
- 14-方法参数传递基本数据类型
- 15-方法参数传递引用数据类型
- 16-数组遍历
- 17-获取数组最大值
- 18-方法同时获取数组最大值和最小值
1-9 Debug&位运算

- 01-Debug介绍与操作流程
- 02-Debug查看循环求偶数和
- 03-Debug查看方法参数传递
- 04-进制的介绍与书写格式
- 05-任意进制到十进制的转换
- 06-进制转换-十进制到任意进制转换
- 07-快速进制转换法
- 08-原码反码补码
- 09-位运算-基本位运算符
- 10-位运算-位移运算符
- 11-数据交换
- 12-数组反转
1-10 二维数组

- 13-二维数组概述
- 14-二维数组动态初始化
- 15-二维数组访问元素的细节问题
- 16-二维数组静态初始化
- 17-二维数组遍历
- 18-二维数组求和
第二章 面向对象基础

2-1 类与对象

- 01-面向过程和面向对象思想对比
- 02-类和对象的关系
- 03-类的定义
- 04-对象的创建和使用
- 05-案例-手机类的创建和使用
- 06-单个对象内存图
- 07-两个对象内存图
- 08-两个引用指向同一个对象内存图
- 09-成员变量和局部变量的区别
2-2 关键字及构造方法

- 10-private关键字
- 11-private关键字的使用
- 12-this关键字
- 13-this内存原理
- 14-封装
- 15-构造方法的格式和执行时机
- 16-构造方法的作用
- 17-构造方法的注意事项
- 18-标准类的代码编写和使用
第三章 API基础

3-1 String常用方法

- 01-API概述-帮助文档的使用
- 02-键盘录入字符串
- 03-String概述
- 04-String类常见构造方法
- 05-创建字符串对象的区别对比
- 06-String特点-常见面试题
- 07-字符串的比较
- 08-用户登陆案例
- 09-字符串的遍历
- 10-统计字符次数
- 11-手机号屏蔽-字符串截取
- 12-敏感词替换-字符串替换
- 13-切割字符串
- 14-String方法小结
3-2 StringBuilder常用方法

- 15-StringBuilder概述
- 16-StringBuilder的构造方法
- 17-StringBuilder常用的成员方法
- 18-StringBuilder提高效率的原理
- 19-对称字符串案例-String和StringBuilder之间的转换
- 20-StringBuilder拼接字符串案例
3-3 集合的常用方法

- 01-集合和数组的区别对比
- 02-ArrayList的构造方法和添加方法
- 03-ArrayLIst常用成员方法
- 04-集合存储字符串并遍历
- 05-集合存储学生对象并遍历
- 06-键盘录入学生信息到集合
- 07-集合删除元素
- 08-集合数据筛选
3-4 学生管理系统演示

- 09-学生管理系统项目演示
- 10-实现步骤分析和学生类的代码编写
- 11-菜单搭建
- 12-添加学生逻辑-基本实现
- 13-查看学生代码实现
- 14-判断学号是否存在的方法定义
- 15-删除学生代码实现
- 16-修改学生代码实现
- 17-解决添加学生学号的重复问题
阶段二 JavaSE进阶
展开第一章 面向对象进阶&常用API&异常

1-1 面向对象案例

- 01-案例驱动教学模式介绍
- 02-分类思想
- 03-包的概述和定义
- 04-包的注意事项和类访问
- 05-需求说明和效果演示
- 06-环境搭建
- 07-菜单搭建
- 08-基本添加功能-思路分析
- 09-基本添加功能-代码实现
- 10-添加功能-加入学号判断
- 11-添加功能-问题分析
- 12-static关键字特点
- 13-static注意事项-学号存在问题解决
- 14-查看学生-代码实现
- 15-删除功能-代码实现
- 16-修改功能-代码实现
- 17-学生管理系统代码优化
- 18-老师管理系统-环境搭建
- 19-老师管理系统菜单搭建
- 20-老师管理系统-添加功能
- 21-老师管理系统-查询功能
- 22-老师管理系统-删除功能
- 23-老师管理系统-修改功能
- 24-老师管理系统-代码优化
1-2 面向对象高级继承

- 01-继承入门
- 02-继承的好处和弊端
- 03-继承的特点
- 04-继承中成员变量的访问特点
- 05-this和super访问成员的格式
- 06-继承中成员方法的访问特点
- 07-方法重写概述和应用场景
- 08-方法重写的注意事项
- 09-权限修饰符
- 10-继承中构造方法的访问特点
- 11-构造方法的访问特点-父类没有空参构造方法
- 12-代码优化和内存图解
- 13-黑马信息管理系统-集成改进
- 14-抽象类入门
- 15-抽象类的注意事项
- 16-模板设计模式
- 17-final关键字
- 18-黑马信息管理系统-抽象类改进
- 19-代码块
- 20-黑马信息管理系统-代码块改进
1-3 接口&抽象类&多态

- 01-黑马信息管理系统-集合改进
- 02-黑马信息管理系统-抽取公共Dao
- 03-接口的介绍
- 04-接口的定义和特点
- 05-接口中的成员特点
- 06-JDK8版本中成员的特点-默认方法
- 07-JDK8版本中接口成员的特点-静态方法
- 08-JDK9版本中接口成员的特点-私有方法
- 09-类和接口的关系
- 10-黑马信息管理系统改进-接口改进
- 11-黑马信息管理系统-问题分析-多态引入
- 12-多态的前提条件
- 13-多态中成员访问的特点
- 14-多态的好处和弊端
- 15-多态中的转型
- 16-多态中转型存在的风险和解决方案
- 17-黑马信息管理系统-多态改进
1-4 内部类&API

- 01-内部类-成员内部类
- 02-私有成员内部类-静态成员内部类
- 03-局部内部类
- 04-匿名内部类
- 05-匿名内部类的使用场景
- 06-Lambda初体验和函数式编程思想
- 07-Lambda表达式的格式说明和前提条件
- 08-Lambda练习-带参数无返回值
- 09-Lambda练习-无参数有返回值
- 10-Lambda练习-带参数带返回值
- 11-Lambda的省略模式
- 12-匿名内部类和Lambda表达式的区别
- 13-API-基本使用
- 14-API-Math
- 15-API-system
- 16-Object-toString
- 17-Object-equals
- 18-Object-面试题
- 19-API-Objects
- 20-BigDecimal-构造
- 21-BigDecimal-四则运算
- 22-BigDecimal-特殊方法
1-5 API&异常

- 01-基本数据类型包装类
- 02-Integer-获得对象
- 03-Integer-自动装箱和自动拆箱
- 04-Integer-类型转换
- 05-Integer-练习
- 06-数组的高级操作-二分查找思路分析
- 07-数组的高级操作-二分查找代码实现
- 08-数组的高级操作-冒泡排序思路分析
- 09-数组的高级操作-冒泡排序代码实现
- 10-递归-概念
- 11-递归-求阶乘代码实现
- 12-递归-内存图
- 13-Arrays
- 14-异常的体系结构和异常的分类
- 15-虚拟机默认处理异常的方式
- 16-throws声明异常
- 17-声明异常的注意事项
- 18-throw抛出异常
- 19-try...catch自己处理异常
- 20-try...catch的常见问题
- 21-throwable成员方法
- 22-异常的小练习
- 23-自定义异常
第二章 集合&IO&多线程

2-1 API&集合

- 01-时间日期类-概述
- 02-时间日期类-Date构造方法
- 03-时间日期类-Date成员方法
- 04-时间日期类-simpledateformat
- 05-时间日期类-练习
- 06-集合概述-集合与数组的对比
- 07-集合概述-集合体系结构
- 08-Collection-常见成员方法
- 09-Collection-迭代器基本使用
- 10-Collection-迭代器原理分析
- 11-Collection-迭代器删除方法
- 12-增强for-基本格式
- 13-增强for-注意点
- 14-Collection-练习
- 15-List-概述和基本使用
- 16-List-特有方法
- 17-数据结构-栈和队列
- 18-数据结构-数组和链表
- 19-ArrayList-源码解析
- 20-LinkedList-基本运用
- 21-LinkedList-特有功能
2-2 Set

- 01-泛型-概述
- 02-Set-概述
- 03-Set-基本使用
- 04-TreeSet-基本使用
- 05-TreeSet-自然排序
- 06-自然排序-练习
- 07-TreeSet-比较器排序
- 08-TreeSet-两种比较方式的对比
- 09-数据结构-二叉树
- 10-数据结构-二叉查找树
- 11-数据结构-二叉查找树添加节点
- 12-数据结构-平衡二叉树
- 13-平衡二叉树-左旋
- 14-平衡二叉树-右旋
- 15-平衡二叉树-左左和左右
- 16-平衡二叉树-右右和右左
- 17-小结
- 18-红黑树-概述
- 19-红黑树-红黑规则
- 20-红黑树-添加节点的默认颜色
- 21-红黑树-添加节点后如何保证红黑规则1
- 22-红黑树-添加节点后如何保证红黑规则2
2-3 HashSet-HashMap

- 01-HashSet-基本使用
- 02-HashSet-哈希值
- 03-HashSet-JDK7底层原理解析
- 04-HashSet-JDK8底层优化
- 05-HashSet-练习
- 06-HashSet-小结
- 07-Map-基本使用
- 08-Map-常用方法
- 09-Map-第一种遍历方式
- 10-Map-第二种遍历方式
- 11-HashMap-原理解析
- 12-HashMap-练习
- 13-TreeMap-原理解析
- 14-TreeMap-练习
- 15-可变参数
- 16-创建不可变的集合
2-4 Stream&File

- 01-Stream流-初体验
- 02-Stream流-思想特点
- 03-Stream流-获取方法
- 04-中间方法-filter
- 05-其他常用中间方法
- 06-Stream流-终结方法
- 07-Stream流-不能直接修改数据源中的数据
- 08-收集方法-toList和toSet
- 09-Stream流-练习
- 10-File和IO的概述
- 11-File-构造方法
- 12-File-绝对路径和相对路径
- 13-File-创建功能
- 14-File-删除方法
- 15-File-获取和判断方法
- 16-File-listFile
- 17-File-练习一
- 18-File-练习二代码
- 19-File-练习二的递归分析
- 20-File-练习三
2-5 初识IO

- 01-IO的概述
- 02-IO的分类
- 03-字节流-字节输出流快速入门
- 04-字节流-注意事项
- 05-字节流-一次写多个数据
- 06-字节流-两个问题
- 07-字节流-trycatch捕获异常
- 08-字节流-小结
- 09-字节流-字节输入流基本学习
- 10-字节流-读多个字节
- 11-字节流-文件复制
- 12-字节流-定义小数组拷贝
- 13-字节流-小数组拷贝原理
- 14-缓冲流-一次读写一个字节代码实现
- 15-缓冲流-一次读写一个字节原理
- 16-缓冲流-一次读写一个字节数组
- 17-小结
- 18-字节流操作文本文件出现乱码的问题
- 19-字符流-编码表
- 20-字符流-编码和解码的方法
- 21-字节流读取中文出现乱码的原因
- 22-字符流-读取中文的过程
2-6 IO应用

- 01-字符流-写出数据
- 02-字符流-写出数据的注意事项
- 03-字符流-flush和close方法
- 04-字符流-读取数据
- 05-字符流-练习
- 06-字符缓冲输入流-读取数据
- 07-字符缓冲输出流-输出数据
- 08-缓冲流-特有方法
- 09-缓冲流-练习
- 10-IO流-小结
- 11-转换流-概念
- 12-转换流--指定编码读写
- 13-对象操作流-基本特点
- 14-对象操作流-序列化
- 15-对象操作流-反序列化
- 16-对象操作流-两个注意点.avi
- 17-对象操作流-两个注意点2.avi
- 18-对象操作流-练习
- 19-Properties-概述
- 20-Properties-作为map集合的基本使用
- 21-Properties-特有方法
- 22-Properties-load
- 23-Properties-store
2-7 多线程

- 01-多线程概述-初步了解多线程
- 02-多线程概述-并发和并行
- 03-多线程概述-进程和线程
- 04-多线程的实现方式-继承Thread
- 05-多线程的实现方式-两个小问题
- 06-多线的实现方式-实现Runnable接口
- 07-多线程的实现方式-实现callable接口
- 08-三种实现方式的对比
- 09-Thread方法-设置获取名字
- 10-Thread方法-获得线程对象
- 11-Thread方法-sleep
- 12-Thread方法-线程的优先级
- 13-Thread方法-守护线程
- 14-线程安全问题-卖票案例实现
- 15-线程安全问题-原因分析
- 16-线程安全问题-同步代码块
- 17-线程安全问题-锁对象唯一
- 18-线程安全问题-同步方法
- 19-线程安全问题-lock
- 20-死锁
- 21-生产者和消费者思路分析
- 22-生产者和消费者-代码实现
2-8 多线程&网络编程

- 01-线程的状态
- 02-线程池-基本原理
- 03-线程池-Executors默认线程池
- 04-线程池-Executors创建指定上限的线程池
- 05-线程池-ThreadPoolExecutor
- 06-线程池-参数详解
- 07-线程池-非默认任务拒绝策略
- 08-网络编程三要素-概述
- 09-网络编程三要素-IP
- 10-网络编程-常见命令
- 11-网络编程-Inetaddress类
- 12-网络编程三要素-端口
- 13-网络编程三要素-协议
- 14-UDP-发送端
- 15-UDP-接收端
- 16-UDP练习
- 17-UDP-三种通讯方式
- 18-UDP-组播代码实现
- 19-UDP-广播代码实现
第三章 网络编程&反射&基础加强

3-1 网络编程&基础加强

- 01-TCP-客户端
- 02-TCP-服务器
- 03-TCP-原理分析
- 04-TCP-三次握手
- 05-TCP-四次挥手
- 06-TCP-练习1
- 07-TCP-练习2
- 08-服务端优化-循环
- 09-服务端优化-UUID
- 10-服务端优化-多线程
- 11-服务端优化-线程池
- 12-日志的概述
- 13-logback的基本使用
- 14-日志级别和配置文件详解
- 15-枚举-什么是枚举
- 16-枚举-定义格式
- 17-枚举-枚举的特点
- 18-枚举-枚举的方法
3-2 类加载器&反射

- 01-类加载器-初步了解
- 02-类加载器-类加载时机
- 03-类加载的过程-加载
- 04-类加载的过程-链接
- 05-类加载的过程-初始化和小结
- 06-类加载器-分类
- 06-类加载器-双亲委派模型
- 07-类加载器-常用方法
- 08-反射-概述
- 09-反射-获取class对象
- 10-反射-获取Constructor对象
- 11-反射-利用Constructor创建对象
- 12-反射-小结
- 13-反射-获取Field对象
- 14-反射-利用Field赋值和获取值
- 15-反射-获取Method对象
- 16-反射-利用Method对象运行方法
3-3 xml&DTD&注解

- 01-xml-作为配置文件的优势
- 02-xml-概述
- 03-xml-标签的规则
- 04-xml-语法规则
- 05-xml-DOM解析思想
- 06-xml-解析的准备工作
- 07-xml-解析代码实现
- 08-DTD入门案例-编写DTD
- 09-DTD入门案例-引入DTD
- 10-DTD约束-三种引入方式
- 11-DTD语法规则-定义元素
- 12-DTD语法规则-定义属性
- 13-schema-schema和dtd的区别
- 14-schema入门案例-编写schema
- 15-schema入门案例-引入schema
- 16-schema入门案例-定义属性
- 17-注解-注解的优势
- 18-注解-注解的概述
- 19-注解-自定义注解
- 20-注解-特殊属性value
- 21-注解-自定义注解练习
- 22-注解-元注解
- 23-单元测试-概述
- 24-单元测试-基本使用
- 25-单元测试-三个常用注解before,test,after
阶段三 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--消息转换器
阶段七 服务框架高级
展开第一章 分布式事务

1-1 理论基础&初识Seata

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

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

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

- 18-高可用-Seata的高可用异地容灾架构
- 19-高可用-搭建Seata的异地高可用容灾架构
第二章 Sentinel

2-1 Sentinel&限流规则

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

- 11-隔离和降级-Feign整合Sentinel
- 12-隔离和降级-线程隔离
- 13-隔离和降级-断路器的三个状态
- 14-隔离和降级-熔断策略
- 15-授权规则-实现网关授权
- 16-授权规则-自定义异常结果
- 17-规则持久化-规则管理三种模式
- 18-规则持久化-实现push模式持久化
第三章 分布式缓存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
第五章 数据库篇

5-1 隔离级别

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

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

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

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

6-1 redis数据类型

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

- 09_redis持久化_aof
- 10_redis持久化_aof重写
- 11_redis持久化_rdb
- 12_redis持久化_混合持久化
- 13_redis_缓存击穿
- 14_redis_缓存雪崩
- 15_redis_缓存穿透
- 16_缓存一致性_不能先清缓存
- 17_缓存一致性_先更新库方案
- 18_缓存一致性_先更新库方案
- 19_缓存一致性_锁方案
6-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实现
第七章 分布式篇

7-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
7-2 raft算法&gossip协议

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

- 18_通用设计_如何检测节点活着
- 19_通用设计_如何实现高可用
- 20_通用设计_如何生成全局id
- 21_通用设计_负载均衡策略
- 22_通用设计_数据分片策略
- 23_通用设计_分布式事务_2PC
- 24_通用设计_分布式事务_TCC
- 25_通用设计_分布式事务_消息队列
阶段十一 就业指导课+拓展学习
展开第一章 Java市场篇

1-1 Java-市场篇

- Java市场篇
第二章 求职篇

2-1 求职篇

- 求职篇1简历制作
- 求职篇2简历投递技巧
- 应聘渠道使用技巧
第三章 面试篇

3-1 面试篇

- 面试篇1
- 面试篇2
第四章 试用期篇

4-1 试用期

- 试用期篇1
- 试用期篇2
第五章 Java秒杀系统实战-上

5-1 Java秒杀系统实战

- 秒杀系统实战
第六章 Java秒杀系统实战-下

6-1 秒杀系统分布式锁设计

- 秒杀系统分布式锁设计
第七章 Java设计模式之策略模式实战课程

7-1 Java设计模式之策略模式实战

- 设计模式之策略模式实战-剪辑
第八章 JavaEE与人工智能

8-1 JavaEE与人工智能

- 3.29JavaEE与人工智能公开课-剪辑版
第九章 MySQL数据库性能优化

9-1 MySQL数据库性能优化

- 1.1 两小时解决所有问题--MySQL数据库性能优化
第十章 微信机器人

10-1 微信机器人案例

- 01- 初识Java,如何描述生活中的数据
- 02-实现生活中的行为
- 03-描述生活中得事物
- 04- 数据处理
- 05-文件数据的操作
- 06-网络数据访问
- 07- 微信聊天机器人
- 08-微信聊天机器人
第十一章 人脸识别案例

11-1 人脸验证系统

- 01-Java基础语法
- 02-面向对象
- 03-集合与人脸识别
- 04-html与tomcat服务器
- 05-请求与响应
- 06-人脸识别案例实现
第十二章 分布式事务案例实战(一)

12-1 分布式事务案例实战

- 01-分布式事务案例实战(一)
第十三章 分布式事务案例实战(二)

13-1 分布式事务案例实战

- 01-分布式事务案例实战(二)