课程试听
阶段一 Java基础
展开第一章 Java基础导学
1-1 导学
- 01.se导学视频 免费试学
第二章 Java基础语法
2-1 环境搭建+入门
- 01_Java语言背景介绍 免费试学
- 02_Java语言跨平台原理 免费试学
- 03_JRE和JDK 免费试学
- 04_JDK的下载和安装 免费试学
- 05_常用DOS命令 免费试学
- 06_Path环境变量的配置 免费试学
- 07_HelloWorld案例的编写和执行 免费试学
- 08_HelloWorld案例详解 免费试学
- 09_HelloWorld案例常见问题 免费试学
- 10_Notepad软件的安装和使用 免费试学
- 11_注释 免费试学
- 12_关键字 免费试学
2-2 数据类型及转换
- 13_常量 免费试学
- 14_变量的介绍 免费试学
- 15_数据类型 免费试学
- 16_变量的定义和使用 免费试学
- 17_变量的注意事项 免费试学
- 18_键盘录入 免费试学
- 19_标识符 免费试学
- 01_隐式转换 免费试学
- 02_强制转换 免费试学
- 03_类型转换案例 免费试学
2-3 运算符
- 04_算数运算符 免费试学
- 05_字符的+操作 免费试学
- 06_字符串的+操作 免费试学
- 07_案例_数值拆分 免费试学
- 08_自增自减运算符 免费试学
- 09_赋值运算符 免费试学
- 10_关系运算符 免费试学
- 11_逻辑运算符 免费试学
- 12_短路逻辑运算符 免费试学
- 13_三元运算符 免费试学
- 14_案例_三个和尚 免费试学
2-4 条件控制语句
- 15_流程控制语句-顺序结构 免费试学
- 16_if语句格式1 免费试学
- 17_if语句格式2 免费试学
- 18_if语句格式3 免费试学
- 19_案例_考试奖励 免费试学
- 01-分支语句switch语句 免费试学
- 02-switch案例-减肥计划 免费试学
- 03-switch语句case穿透 免费试学
2-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-减肥计划改进版-循环标号 免费试学
2-6 随机数+开发工具
- 17-Random基本使用 免费试学
- 18-猜数字 免费试学
- 01-IDEA的概述和安装 免费试学
- 02-IDEA中的项目结构 免费试学
- 03-IDEA中的第一个代码 免费试学
- 04-IDEA常用快捷键 免费试学
- 05-IDEA操作模块 免费试学
- 06-IDEA打开关闭项目-类名包名修改 免费试学
2-7 数组
- 07-数组介绍 免费试学
- 08-数组的定义格式 免费试学
- 09-数组的动态初始化 免费试学
- 10-数组元素访问 免费试学
- 11-Java内存分配-一个数组内存图 免费试学
- 12-两个数组内存图 免费试学
- 13-多个数组指向相同内存图 免费试学
- 14-数组的静态初始化 免费试学
- 15-数组操作的两个常见问题 免费试学
- 16-数组遍历 免费试学
- 17-数组获取最大值 免费试学
- 18-数组元素求和 免费试学
- 19-数组基本查找 免费试学
- 20-评委打分 免费试学
2-8 方法与debug
- 01-方法概述 免费试学
- 02-方法的定义和调用 免费试学
- 03-方法的调用过程 免费试学
- 04-方法练习-奇偶数判断 免费试学
- 05-带参数方法的定义和调用 免费试学
- 06-形参和实参 免费试学
- 07-带参数方法的练习-打印n-m之间所有的奇数 免费试学
- 08-带返回值方法的定义和调用 免费试学
- 09-带返回值方法的练习-求两个数的最大值 免费试学
- 10-方法通用格式 免费试学
- 11-方法的注意事项 免费试学
- 12-方法重载 免费试学
- 13-方法重载练习 免费试学
- 14-方法参数传递基本数据类型 免费试学
- 15-方法参数传递引用数据类型 免费试学
- 16-数组遍历 免费试学
- 17-获取数组最大值 免费试学
- 18-方法同时获取数组最大值和最小值 免费试学
- 01-Debug介绍与操作流程 免费试学
- 02-Debug查看循环求偶数和 免费试学
- 03-Debug查看方法参数传递 免费试学
2-9 进制
- 04-进制的介绍与书写格式 免费试学
- 05-任意进制到十进制的转换 免费试学
- 06-进制转换-十进制到任意进制转换 免费试学
- 07-快速进制转换法 免费试学
- 08-原码反码补码 免费试学
- 09-位运算-基本位运算符 免费试学
- 10-位运算-位移运算符 免费试学
- 11-数据交换 免费试学
- 12-数组反转 免费试学
2-10 二维数组
- 13-二维数组概述 免费试学
- 14-二维数组动态初始化 免费试学
- 15-二维数组访问元素的细节问题 免费试学
- 16-二维数组静态初始化 免费试学
- 17-二维数组遍历 免费试学
- 18-二维数组求和 免费试学
第三章 面向对象基础
3-1 面向对象基础-上
- 01-面向过程和面向对象思想对比 免费试学
- 02-类和对象的关系 免费试学
- 03-类的定义 免费试学
- 04-对象的创建和使用 免费试学
- 05-案例-手机类的创建和使用 免费试学
- 06-单个对象内存图 免费试学
- 07-两个对象内存图 免费试学
- 08-两个引用指向同一个对象内存图 免费试学
- 09-成员变量和局部变量的区别 免费试学
3-2 面向对象基础-下
- 10-private关键字
- 11-private关键字的使用
- 12-this关键字
- 13-this内存原理
- 14-封装
- 15-构造方法的格式和执行时机
- 16-构造方法的作用
- 17-构造方法的注意事项
- 18-标准类的代码编写和使用
第四章 面向对象进阶&常用API&异常
4-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-老师管理系统-代码优化
4-2 面向对象高级继承
- 01-继承入门
- 02-继承的好处和弊端
- 03-继承的特点
- 04-继承中成员变量的访问特点
- 05-this和super访问成员的格式
- 06-继承中成员方法的访问特点
- 07-方法重写概述和应用场景
- 08-方法重写的注意事项
- 09-权限修饰符
- 10-继承中构造方法的访问特点
- 11-构造方法的访问特点-父类没有空参构造方法
- 12-代码优化和内存图解
- 13-黑马信息管理系统-集成改进
- 14-抽象类入门
- 15-抽象类的注意事项
- 16-模板设计模式
- 17-final关键字
- 18-黑马信息管理系统-抽象类改进
- 19-代码块
- 20-黑马信息管理系统-代码块改进
4-3 接口&抽象类&多态
- 01-黑马信息管理系统-集合改进
- 02-黑马信息管理系统-抽取公共Dao
- 03-接口的介绍
- 04-接口的定义和特点
- 05-接口中的成员特点
- 06-JDK8版本中成员的特点-默认方法
- 07-JDK8版本中接口成员的特点-静态方法
- 08-JDK9版本中接口成员的特点-私有方法
- 09-类和接口的关系
- 10-黑马信息管理系统改进-接口改进
- 11-黑马信息管理系统-问题分析-多态引入
- 12-多态的前提条件
- 13-多态中成员访问的特点
- 14-多态的好处和弊端
- 15-多态中的转型
- 16-多态中转型存在的风险和解决方案
- 17-黑马信息管理系统-多态改进
4-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-特殊方法
4-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&多线程
5-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-特有功能
5-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
5-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-创建不可变的集合
5-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-练习三
5-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-字符流-读取中文的过程
5-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
5-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-生产者和消费者-代码实现
5-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-广播代码实现
第六章 网络编程&反射&基础加强
6-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-枚举-枚举的方法
6-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对象运行方法
6-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-瑞吉外卖项目整体介绍_技术选型
- 09-瑞吉外卖项目整体介绍_功能架构
- 10-瑞吉外卖项目整体介绍_角色
- 11-开发环境搭建_数据库环境搭建(创建数据库和表结构)
- 12-开发环境搭建_数据库环境搭建(整体了解表结构)
- 13-开发环境搭建_maven项目搭建_1
- 14-开发环境搭建_maven项目搭建_2
1-2 后台功能
- 15-后台系统登录功能_需求分析
- 16-后台系统登录功能_代码开发(创建Controller、Service、Mapper、实体类)
- 17-后台系统登录功能_代码开发(导入通用返回结果类)
- 18-后台系统登录功能_代码开发(梳理登录方法处理逻辑)
- 19-后台系统登录功能_代码开发(实现登录处理逻辑)
- 20-后台系统登录功能_功能测试
- 21-后台系统退出功能_需求分析
- 22-后台系统退出功能_代码开发
- 23-后台系统退出功能_功能测试
- 24-分析后台系统首页构成和效果展示方式
1-3 完善登录&新增员工
- 01-本章内容介绍
- 02-完善登录功能_问题分析并创建过滤器
- 03-完善登录功能_代码开发
- 04-完善登录功能_功能测试
- 05-新增员工_需求分析和数据模型
- 06-新增员工_梳理程序执行流程
- 07-新增员工_代码开发
- 08-新增员工_功能测试
- 09-新增员工_编写全局异常处理器
- 10-新增员工_完善全局异常处理器并测试
- 11-新增员工_小结
1-4 分页查询
- 12-员工信息分页查询_需求分析
- 13-员工信息分页查询_梳理程序执行过程
- 14-员工信息分页查询_代码开发1
- 15-员工信息分页查询_代码开发2
- 16-员工信息分页查询_功能测试
- 17-员工信息分页查询_补充说明
1-5 启用&禁用账号&编辑员工信息
- 18-启用、禁用员工账号_需求分析
- 19-启用、禁用员工账号_分析页面按钮动态显示效果
- 20-启用、禁用员工账号_分析页面ajax请求发送过程
- 21-启用、禁用员工账号_代码开发1
- 22-启用、禁用员工账号_代码开发2
- 23-启用、禁用员工账号_功能测试
- 24-启用、禁用员工账号_代码修复配置消息转换器
- 25-启用、禁用员工账号_再次测试
- 26-编辑员工信息_需求分析
- 27-编辑员工信息_梳理程序执行流程
- 28-编辑员工信息_页面效果分析和代码开发
- 29-编辑员工信息_功能测试
1-6 自动填充
- 01-本章内容介绍(day03)
- 02-公共字段自动填充_问题分析
- 03-公共字段自动填充_代码实现1
- 04-公共字段自动填充_代码实现2并测试
- 05-公共字段自动填充_功能完善1
- 06-公共字段自动填充_功能完善2
- 07-公共字段自动填充_功能完善3
- 08-公共字段自动填充_功能完善4
1-7 新增&删除&修改分类
- 09-新增分类_需求分析
- 10-新增分类_数据模型
- 11-新增分类_代码开发1
- 12-新增分类_代码开发2
- 13-新增分类_功能测试
- 14-分类信息分页查询_需求分析和代码实现
- 15-分类信息分页查询_功能测试
- 16-删除分类_需求分析
- 17-删除分类_代码开发
- 18-删除分类_功能测试
- 19-删除分类_功能完善_准备基础类和接口
- 20-删除分类_功能完善_代码开发1
- 21-删除分类_功能完善_代码开发2
- 22-删除分类_功能完善_功能测试
- 23-修改分类_需求分析和分析页面回显效果
- 24-修改分类_代码开发
- 25-修改分类_功能测试
1-8 上传&下载
- 01-本章内容介绍
- 02-文件上传下载_文件上传介绍
- 03-文件上传下载_文件下载介绍
- 04-文件上传下载_文件上传代码实现1
- 05-文件上传下载_文件上传代码实现2
- 06-文件上传下载_文件上传代码实现3
- 07-文件上传下载_文件上传代码实现4
- 08-文件上传下载_文件下载代码实现
- 09-文件上传下载_文件下载测试
1-9 新增菜品
- 10-新增菜品_需求分析
- 11-新增菜品_数据模型
- 12-新增菜品_代码开发_准备工作
- 13-新增菜品_代码开发_梳理交互过程
- 14-新增菜品_代码开发_查询分类数据
- 15-新增菜品_代码开发_查询分类数据测试
- 16-新增菜品_代码开发_接收页面提交的数据
- 17-新增菜品_代码开发_保存数据到菜品表和菜品口味表
- 18-新增菜品_代码开发_功能测试
1-10 分页查询&修改菜品
- 19-菜品信息分页查询_需求分析
- 20-菜品信息分页查询_代码开发1
- 21-菜品信息分页查询_代码开发2
- 22-菜品信息分页查询_功能测试
- 23-修改菜品_需求分析
- 24-修改菜品_代码开发_梳理交互过程
- 25-修改菜品_代码开发_根据id查询菜品信息和对应的口味信息
- 26-修改菜品_代码开发_测试数据回显
- 27-修改菜品_代码开发_修改菜品信息和口味信息
- 28-修改菜品_功能测试
1-11 新增套餐功能
- 01-本章内容介绍(day05)
- 02-新增套餐_需求分析
- 03-新增套餐_数据模型
- 04-新增套餐_代码开发_准备工作
- 05-新增套餐_代码开发_梳理交互过程
- 06-新增套餐_代码开发_根据分类查询菜品
- 07-新增套餐_代码开发_根据分类查询菜品(查询状态为起售的菜品)
- 08-新增套餐_代码开发_服务端接收页面提交的数据
- 09-新增套餐_代码开发_保存数据到对应表
- 10-新增套餐_功能测试
1-12 分页查询&删除套餐
- 11-套餐信息分页查询_需求分析和梳理交互过程
- 12-套餐信息分页查询_代码开发1
- 13-套餐信息分页查询_代码开发2
- 14-套餐信息分页查询_功能测试
- 15-删除套餐_需求分析
- 16-删除套餐_代码开发_梳理交互过程
- 17-删除套餐_代码开发1
- 18-删除套餐_代码开发2
- 19-删除套餐_功能测试
- 20-本章内容介绍
1-13 短信&验证码
- 21-短信发送_短信服务介绍和阿里云短信服务介绍
- 22-短信发送_阿里云短信服务_注册账号、申请签名和模板
- 23-短信发送_阿里云短信服务_设置AccessKey
- 24-短信发送_阿里云短信服务_授权
- 25-短信发送_阿里云短信服务_禁用或删除AccessKey
- 26-短信发送_代码开发_参照官方文档封装短信发送工具类
- 27-手机验证码登录_需求分析
- 28-手机验证码登录_数据模型
- 29-手机验证码登录_代码开发_梳理交互过程
- 30-手机验证码登录_代码开发_修改LoginCheckFilter
- 31-手机验证码登录_代码开发_发送验证码短信
- 32-手机验证码登录_代码开发_登录校验
- 33-手机验证码登录_功能测试
1-14 导入地址簿&菜品展示
- 01-本章内容介绍(day06)
- 02-导入用户地址簿相关功能代码_需求分析
- 03-导入用户地址簿相关功能代码_数据模型
- 04-导入用户地址簿相关功能代码_导入功能代码
- 05-导入用户地址簿相关功能代码_功能测试
- 06-菜品展示_需求分析
- 07-菜品展示_代码开发_梳理交互过程
- 08-菜品展示_代码开发_修改DishController的list方法并测试
- 09-菜品展示_代码开发_创建SetmealController的list方法并测试
1-15 购物车
- 10-购物车_需求分析
- 11-购物车_数据模型
- 12-购物车_代码开发_梳理交互过程
- 13-购物车_代码开发_准备工作
- 14-购物车_代码开发_添加购物车
- 15-购物车_代码开发_添加购物车测试
- 16-购物车_代码开发_查看购物车
- 17-购物车_代码开发_查看购物车测试
- 18-购物车_代码开发_清空购物车并测试
1-16 用户下单
- 19-用户下单_需求分析
- 20-用户下单_数据模型
- 21-用户下单_代码开发_梳理交互过程
- 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常用命令_标签操作
2-2 IDEA中使用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 Linux简介 & 安装
- 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系统目录结构
3-2 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-3 软件安装
- 30-软件安装_本章内容介绍
- 31-软件安装_Linux中软件安装方式介绍
- 32-软件安装_安装jdk
- 33-软件安装_安装Tomcat
- 34-软件安装_安装Tomcat-确认服务启动是否成功
- 35-软件安装_安装Tomcat-防火墙操作
- 36-软件安装_安装Tomcat-停止Tomcat服务
- 37-软件安装_安装MySQL
- 38-软件安装_安装MySQL-启动服务、连接MySQL
- 39-软件安装_安装lrzsz
3-4 项目部署
- 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常用命令_通用命令
4-2 Jedis
- 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 缓存短信验证码
- 01-本章内容介绍
- 02-使用git管理代码
- 03-环境搭建
- 04-缓存短信验证码_思路梳理和代码改造
- 05-缓存短信验证码_功能测试
- 06-缓存菜品数据_梳理思路
- 07-缓存菜品数据_代码改造缓存菜品数据
- 08-缓存菜品数据_代码改造缓存菜品数据_功能测试
- 09-缓存菜品数据_清理缓存思路分析
- 10-缓存菜品数据_清理缓存代码改造并测试
- 11-将代码提交到Git本地仓库并推送到远程仓库
5-2 Spring Cache
- 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
5-3 缓存套餐数据
- 21-缓存套餐数据_实现思路
- 22-缓存套餐数据_代码改造_缓存套餐数据并测试
- 23-缓存套餐数据_代码改造_清理套餐的缓存数据并测试
- 24-将代码提交到Git仓库并合并到主分支
5-4 Mysql主从复制
- 01-本章内容介绍
- 02-Mysql主从复制_介绍
- 03-Mysql主从复制_配置主库Master
- 04-Mysql主从复制_配置从库Slave
- 05-Mysql主从复制_测试
5-5 Mysql读写分离
- 06-读写分离案例_读写分离背景说明
- 07-读写分离案例_Sharding-JDBC介绍
- 08-读写分离案例_入门案例_准备数据库环境
- 09-读写分离案例_入门案例_导入初始工程
- 10-读写分离案例_入门案例_配置读写分离规则
- 11-读写分离案例_入门案例_测试
- 12-项目实现读写分离_数据库环境准备(主从复制)
- 13-项目实现读写分离_配置读写分离规则
- 14-项目实现读写分离_测试并提交到Git仓库
5-6 Nginx命令
- 15-Nginx课程内容介绍
- 16-Nginx概述_Nginx介绍
- 17-Nginx概述_Nginx下载和安装
- 18-Nginx概述_Nginx目录结构
- 19-Nginx命令_查看Nginx版本、检查配置文件正确性
- 20-Nginx命令_启动、停止
- 21-Nginx命令_启动、停止命令补充说明
- 22-Nginx命令_重新加载配置文件
- 23-Nginx命令_配置Nginx环境变量
5-7 Nginx具体应用
- 24-Nginx配置文件整体结构
- 25-Nginx具体应用_部署静态资源
- 26-Nginx具体应用_反向代理_概念说明
- 27-Nginx具体应用_反向代理_配置
- 28-Nginx具体应用_负载均衡_概念说明
- 29-Nginx具体应用_负载均衡_配置
- 30-Nginx具体应用_负载均衡_Nginx提供的负载均衡策略
5-8 前后端分离开发
- 01-本章内容介绍
- 02-前后端分离开发_介绍
- 03-前后端分离开发_开发流程
- 04-前后端分离开发_前端技术栈
- 05-YApi_介绍
- 06-YApi_使用_定义接口
- 07-YApi_使用_导出接口文档
- 08-YApi_使用_导入接口文档
- 09-Swagger_介绍
- 10-Swagger_使用方式
- 11-Swagger_查看接口文档
- 12-Swagger_常用注解
5-9 项目部署
- 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--消息转换器
第四章 探花交友项目
4-1 Dubbo入门
- 01-今日内容介绍
- 02-Dubbo简介
- 03-入门案例:dubbo的内部结构
- 04-入门案例:安装nacos和监控中心
- 05-入门案例:需求说明
- 06-入门案例:编写Dubbo服务提供者
- 07-入门案例:服务提供者总结
- 08-入门案例:编写Dubbo服务消费者
- 09-入门案例:抽取公共的接口模块
- 10-入门案例:序列化
- 11-入门案例:总结
4-2 Dubbo高级特性&整合SpringCloud
- 12-高级特性:启动检查
- 13-高级特性:多版本支持
- 14-高级特性:超时与重试
- 15-高级特性:负载均衡策略
- 16-SpringCloud整合dubbo
- 17-SpringCloud整合dubbo:需求分析
- 18-SpringCloud整合dubbo:代码实现01
- 19-SpringCloud整合dubbo:代码实现02
- 20-项目导学视频
4-3 模块介绍&阿里云
- 01-今日内容介绍
- 02-项目介绍
- 03-技术架构
- 04-前后端分离
- 05-安装开发工具
- 06-项目模块介绍
- 07-配置依赖
- 08-阿里云概述
- 09-阿里云短信入门案例
4-4 封装组件&登录验证&JWT
- 10-封装短信服务组件:回顾自动装配原理与步骤
- 11-封装短信服务组件:代码实现-上
- 11-封装短信服务组件:代码实现-下
- 12-登录发送验证码-需求和步骤分析
- 13-登录发送验证码-代码实现
- 14-登录发送验证码-测试和总结
- 15-JWT概述
- 16-JWT入门案例
4-5 用户登录
- 16-登录需求概述与代码调用过程分析
- 17-搭建提供者环境
- 18-用户登录的步骤分析
- 19-用户登录的代码实现
- 20-用户登录的代码测试
- 21-用户登录的代码优化
- 22-今日课程总结和作业安排
4-6 阿里云oss&人脸识别&保存用户信息
- 01-课程回顾与今日内容介绍
- 02-完善用户信息-业务概述
- 03-文件存储方案介绍
- 04-阿里云oss:介绍
- 05-阿里云oss:入门案例
- 06-阿里云oss:抽取自动装配组件
- 07-百度人脸识别:介绍
- 08-百度人脸识别:入门案例
- 09-百度人脸识别:抽取自动装配组件
- 10-百度人脸识别:总结
- 11-保存用户信息:需求分析
- 12-保存用户信息:代码实现
4-7 上传头像&资料管理&代码优化
- 13-上传用户头像:需求分析
- 14-上传用户头像:代码实现
- 15-上传用户头像:基于Postman的测试方式
- 16-个人资料管理:需求分析
- 17-个人资料管理:查询用户资料代码实现
- 18-个人资料管理:使用vo对象优化返回值内容
- 19-个人资料管理:更新个人资料
- 20-代码优化-问题分析
- 21-代码优化:使用拦截器进行统一身份鉴权
- 22-代码优化:threadlocal统一token处理
- 23-代码优化:异常处理的概述
- 24-代码优化:异常处理的代码实现
- 25-代码优化:统一异常处理
- 26-总结与作业
4-8 通用设置&陌生人问题&黑名单
- 01-回顾和今日内容介绍
- 02-通用设置:需求分析
- 03-通用设置查询:代码实现-上
- 04-通用设置查询:代码实现-下
- 05-陌生人问题:需求分析
- 06-陌生人问题:代码实现
- 07-通知设置
- 08-黑名单:需求分析
- 09-黑名单:分页查询黑名单-上
- 10-黑名单:分页查询黑名单-下
- 11-黑名单:取消黑名单
4-9 MongoDB&SpringData-Mongo&今日佳人
- 12-MongoDB:引入
- 13-MongoDB:介绍
- 14-MongoDB的体系结构
- 15-MongDB的入门:命令行操作
- 16-SpringData-Mongo:环境搭建
- 17-SpringData-Mongo:CRUD操作上
- 18-SpringData-Mongo:CRUD操作下
- 19-今日佳人:需求分析
- 20-今日佳人:编写服务提供者
- 21-今日佳人:接口代码实现
- 22-总结和作业
4-10 好友推荐&MongoDB集群
- 01-回顾和今日内容介绍
- 02-推荐好友列表:需求分析
- 03-推荐好友列表:代码实现01
- 04-推荐好友列表:代码实现02
- 05-推荐好友列表:代码优化01
- 06-推荐好友列表:代码优化02
- 07-MongoDB集群:概述
- 08-MongoDB副本集群:执行概述与执行原理
- 09-MongoDB副本集群:测试与总结
- 10-MongoDB分片集群:执行概述与执行原理
- 11-MongoDB分片集群:分片策略
- 12-MongoDB分片集群:测试与总结
4-11 圈子动态&个人动态
- 13-圈子:功能概述
- 14-圈子:表设计方案
- 15-发布圈子动态:数据库表和接口文档介绍
- 16-发布圈子动态:业务流程和代码步骤分析
- 17-发布圈子动态:代码实现01
- 18-发布圈子动态:代码实现02
- 19-发布圈子动态:代码实现03
- 20-发布圈子动态:代码测试和总结
- 21-发布圈子动态:代码优化(异步处理的改造)
- 22-查询圈子个人动态:查询我的动态需求分析
- 23-查询圈子个人动态:代码实现
- 24-查询圈子个人动态:测试与总结
- 25-总结和作业
4-12 查询动态
- 01-回顾和今日内容介绍
- 02-查询好友动态:需求分析
- 03-查询好友动态:代码实现-上
- 04-查询好友动态:代码实现-下
- 05-查询推荐动态:需求分析
- 06-查询推荐动态:代码实现-上
- 07-查询推荐动态:代码实现-下
- 08-查询单条动态04
4-13 圈子互动&发布评论
- 09-圈子互动:概述
- 10-圈子互动:业务特点分析
- 11-发布评论:步骤分析
- 12-发布评论:代码实现-上
- 13-发布评论:代码实现-下
- 14-发布评论:测试总结
- 15-发布评论:总结
- 16-查询评论列表
4-14 点赞&取消点赞
- 17-动态点赞:需求分析01
- 18-动态点赞:需求分析02
- 19-动态点赞:代码实现-上
- 20-动态点赞:代码实现-下
- 21-取消点赞:需求分析
- 22-取消点赞
- 23-喜欢与取消喜欢
- 24-总结和作业
4-15 即时通信&用户体系
- 01-今日内容介绍
- 02-即时通信:介绍
- 03-环信通信:介绍
- 04-环信云通信:体系集成与执行过程
- 05-环信通信:API介绍
- 06-环信通信:抽取组件
- 07-用户体系集成:将信用户注册到环信
- 08-用户体系集成:查询用户环信账号密码
- 09-用户体系集成:环信后台发送消息测试
- 10-用户体系集成:根据环信id查询用户详情
- 11-用户体系集成:总结
4-16 联系人管理&好友申请
- 12-联系人管理:需求分析
- 13-好友申请:查看佳人详情
- 14-好友申请:查看陌生人问题
- 15-好友申请:回复陌生人问题
- 16-好友申请:测试
- 17-添加好友:需求分析
- 18-添加好友:代码实现
- 19-联系人列表:需求分析
- 20-联系人列表:代码实现
- 21-总结和作业
4-17 左滑右划功能
- 01-今日内容介绍
- 02-探花:需求分析
- 03-探花左滑右滑:思路分析
- 04-探花左滑右滑:代码实现01
- 05-探花左滑右滑:代码实现02
- 06-探花喜欢:思路分析
- 07-探花喜欢:代码实现01
- 08-探花喜欢:代码实现02
- 09-探花不喜欢
4-18 地理位置&搜附近
- 10-MongoDB地理位置:概述和分析
- 11-MongoDB地理位置:搜附近的快速入门1
- 12-MongoDB地理位置:搜附近的快速入门2
- 13-搜索附近的功能概述和分析
- 14-上报地理位置:思路分析
- 15-上报地理位置:代码实现01
- 16-上报地理位置:代码实现02
- 17-搜附近:思路分析
- 18-搜附近:代码实现01
- 19-搜附近:代码实现02
- 20-总结和作业
4-19 访客&FastDFS
- 01-今日内容介绍
- 02-我的访客:需求说明
- 03-保存访客记录
- 04-首页谁看过我:思路分析
- 05-首页谁看过我:代码实现
- 06-FastDFS:引入与内部结构
- 07-FastDFS:工作原理
- 08-FastDFS:入门案例
4-20 发布视频&查询视频列表
- 09-视频功能:业务概述
- 10-发布视频:接口文档和代码步骤分析
- 11-发布视频:代码实现01
- 12-发布视频:代码实现02
- 13-查询视频列表:需求分析
- 14-查询视频列表:代码实现01
- 15-查询视频列表:代码实现02
4-21 SpringCache
- 16-视频功能:关注与取消关注的需求分析
- 17-通用缓存SpringCache:问题引入
- 18-通用缓存SpringCache:介绍以及入门案例
- 19-通用缓存SpringCache:入门案例2
- 20-通用缓存SpringCache:常用注解
- 21-通用缓存SpringCache:配置视频列表缓存功能
- 22-总结和作业
4-22 后台管理
- 01-内容介绍
- 02-完善项目架构:架构问题分析
- 03-项目架构:网关的概述
- 04-完善项目架构:搭建网关工程
- 05-网关:统一鉴权思路
- 06-网关:统一鉴权代码实现
- 07-配置中心
- 08-完善项目架构:总结
- 09-后台管理系统:概述与搭建后台环境
4-23 管理员登录&用户管理
- 10-管理员登录:需求分析
- 11-管理员登录:获取图片验证码
- 12-管理员登录:根据用户名密码登录获取token
- 13-管理员登录:查询用户资料
- 14-用户管理:分页查询用户列表
- 15-用户管理:查看用户详情
- 16-用户管理:查看用户视频记录列表
- 17-用户管理:查看动态列表
- 18-用户管理:总结
- 19-总结和作业
4-24 用户冻结&日志数据采集
- 01-今日内容介绍
- 02-用户冻结解冻:需求分析
- 03-用户冻结解冻:思路分析
- 04-用户冻结解冻:用户冻结的代码实现
- 05-用户冻结解冻:用户解冻的代码实现和查询用户数据的改造
- 06-用户冻结解冻:修改探花系统验证冻结解冻效果
- 07-数据统计:需求分析
- 08-日志数据采集需求和步骤分析
- 09-日志数据采集:探花系统发送日志消息
- 10-日志数据采集:后台系统获取消息内容
- 11-日志数据采集:后台系统获取消息记录日志到数据库中
4-25 定时任务&动态审核
- 12-定时任务:入门案例
- 13-定时任务:CRON表达式
- 14-定时任务:定时统计的需求和SQL分析
- 15-定时任务:定时统计数据的代码实现
- 16-数据统计:总结
- 17-内容审核:阿里云内容审核介绍
- 18-内容审核:封装阿里云内容审核的starter工具
- 19-动态审核:需求分析
- 20-动态审核:发布动态之后发送MQ消息
- 21-动态审核:后台系统获取消息,使用阿里云审核动态
- 22-动态审核:完善查询动态的接口,只查询已审核动态
- 23-总结和作业
4-26 理论&用户推荐&动态推荐&视频推荐
- 01-今日内容介绍
- 02-推荐系统的理论知识:协同过滤算法
- 03-推荐系统的理论知识:用户偏好以及评分降噪
- 04-推荐系统的理论知识:ALS算法
- 05-用户推荐:流程分析
- 06-用户推荐:部署推荐系统
- 07-动态推荐:业务介绍
- 08-动态推荐:代码实现
- 09-视频推荐:代码实现
- 10-视频推荐:测试
- 11-总结和作业
阶段六 服务端框架高级+黑马头条项目
展开第一章 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集群-故障转移
第七章 黑马头条项目
7-1 初始工程
- 01-课程对比
- 02-第一章内容介绍
- 03-项目背景介绍
- 04-技术栈说明
- 05-项目介绍-课程大纲
- 06-nacos环境搭建
- 07-初始工程-工程导入
- 08-初始工程-工程结构介绍
7-2 APP登录
- 09-app登录-需求分析-表结构说明
- 10-app登录-手动加盐加密的方式
- 11-app登录-用户微服务搭建
- 12-app端登录-接口定义
- 13-app端登录-功能实现
7-3 接口测试&网关
- 14-接口测试工具-postman
- 15-接口测试工具-swagger
- 16-接口测试工具-knife4j
- 17-网关-app端网关搭建
- 18-网关-认证过滤器校验jwt
- 19-app前端项目集成
7-4 APP端文章
- 01-今日学习内容
- 02-app端文章列表查询-需求分析&表结构分析
- 03-app端文章列表查询-实现思路
- 04-app端文章列表查询-接口实现
- 05-app端文章列表查询-功能完成
- 06-文章详情-实现方案分析
7-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-静态文件生成
7-6 MinIO
- 17-MinIO-概述
- 18-MinIO-环境搭建
- 19-MinIO-快速入门
- 20-MinIO-封装为starter使用
- 21-文章详情-静态页面生成上传到minio-1
- 22-文章详情-静态页面生成上传到minio-2
7-7 素材管理
- 01-今日学习内容介绍
- 02-自媒体-前后端项目搭建
- 03-自媒体-素材管理-图片上传-需求及表结构
- 04-自媒体-素材管理-思路分析及微服务中获取用户
- 05-自媒体-素材管理-图片上传完成
- 06-自媒体-素材管理-素材列表查询
7-8 文章管理&发布
- 07-自媒体-文章管理-频道列表查询
- 08-自媒体-文章管理-查询文章列表1
- 09-自媒体-文章管理-文章列表查询2
- 10-自媒体-文章管理-发布文章-需求说明
- 11-自媒体-文章管理-发布文章-思路分析
- 12-自媒体-文章管理-发布文章-接口定义
- 13-自媒体-文章管理-发布文章-保存或修改文章
- 14-自媒体-文章管理-发布文章-抽取文章内容图片
- 15-自媒体-文章管理-发布文章-保存内容图片与素材的关系
- 16-自媒体-文章管理-发布文章-保存内容图片关系-测试
- 17-自媒体-文章管理-发布文章-自动匹配及封面关系保存
7-9 阿里云接口&雪花算法&文章保存
- 01-今日内容介绍
- 02-自媒体文章审核流程说明
- 03-阿里云接口-概述
- 04-阿里云接口-项目中集成
- 05-分布式主键策略-雪花算法
- 06-app端文章保存接口实现1
- 07-app端文章保存接口实现2
7-10 文章审核
- 08-自媒体文章审核实现-方法定义及提取文本和图片
- 09-自媒体文章审核实现-审核文本和图片
- 10-自媒体文章审核实现-保存app端数据
- 11-自媒体文章审核实现-单元测试
- 12-自媒体文章审核实现-feign调用服务降级实现
- 13-自媒体文章审核实现-发布文章异步调用审核文章
- 14-自媒体文章审核-综合测试
7-11 敏感词&图片文字识别
- 15-新需求-自管理敏感词-DFA算法
- 16-新需求-自管理敏感词-文章审核集成完成
- 17-新需求-图片文字识别-入门案例
- 18-新需求-图片文字识别-文章审核集成完成
- 19-文章详情-静态文件生成
- 20-今日作业及思考
7-12 概述&添加任务
- 01-今日内容介绍
- 02-延迟任务概述
- 03-redis实现延迟任务-流程说明
- 04-延迟任务服务实现-延迟任务模块创建及数据库准备
- 05-延迟任务服务实现-乐观锁集成
- 06-延迟任务服务实现-redis集成和测试
- 07-延迟任务服务实现-添加任务1
- 08-延迟任务服务实现-添加任务2
7-13 取消&拉取任务&定时刷新
- 09-延迟任务服务实现-取消任务
- 10-延迟任务服务实现-拉取任务
- 11-延迟任务服务实现-未来数据定时刷新-redis获取key的方式
- 12-延迟任务服务实现-未来数据定时刷新-redis管道技术
- 13-延迟任务服务实现-未来数据定时刷新-功能完成
- 14-分布式下的方法抢占执行问题解决-分布式锁
- 15-数据库任务定时同步到redis中
- 16-延迟队列连接发布审核文章-延迟任务接口定义
- 17-发布文章添加延迟任务
- 18-消费任务审核文章
7-14 kafka
- 01-今日学习内容
- 02-kafka概述
- 03-kafka环境搭建
- 04-kafka入门-生产者
- 05-kafka入门-消费者及总结
- 06-kafka入门-分区机制
- 07-Kafka高可用设计方案
- 08-kafka生产者详解-消息发送类型
- 09-kafka生产者详解-参数配置
- 10-kafka消费者详解-消息有序性
- 11-kafka消费者详解-手动提交偏移量
7-15 springboot集成kafka
- 12-springboot集成kafka
- 13-springboot集成kafka-传递消息为对象
- 14-自媒体文章上下架-思路分析
- 15-自媒体文章上下架-功能接口开发完成
- 16-自媒体文章上下架-消息通知article数据同步
7-16 文章搜索
- 01-今日学习内容
- 02-elasticsearch环境搭建
- 03-app文章搜索-创建索引和映射
- 04-app文章搜索-初始化索引库数据
- 05-app文章搜索-搜索微服务创建
- 06-app文章搜索-实现步骤说明
- 07-app文章搜索-功能实现1
- 08-app文章搜索-功能实现2
- 09-app文章搜索-新增文章同步添加索引
7-17 历史记录
- 10-搜索历史记录-mongodb环境搭建
- 11-搜索历史记录-springboot集成mongodb
- 12-搜索历史记录-保存搜索记录-思路步骤说明
- 13-搜索历史记录-保存搜索记录-功能实现1
- 14-搜索历史记录-保存搜索记录-功能实现2
- 15-搜索历史记录-查询历史列表
- 16-搜索历史记录-删除搜索历史
- 17-app文章搜索-搜索联想词功能
7-18 平台管理
- 平台管理-需求说明
7-19 用户行为
- 01-用户行为-需求说明
- 02-long类型精度丢失问题解决
- 03-网络设置及跨域
7-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-集群下任务路由策略-分片广播
7-21 定时计算
- 09-热文章计算-定时计算-需求说明
- 10-热文章计算-定时计算-实现步骤说明
- 11-热文章计算-定时计算-查询前5天的文章数据
- 12-热文章计算-定时计算-计算文章具体的分值
- 13-热文章计算-定时计算-缓存分值较高的数据
- 14-热文章计算-定时计算-功能测试
- 15-热文章计算-定时计算-定时任务
- 16-app端文章列表接口查询改造
7-22 kafkaStream
- 01-今日学习内容
- 02-流式计算-概述
- 03-kafkaStream概述
- 04-kafkaStream入门案例-1
- 05-kafkaStream入门案例-2
- 06-kafkaStream-入门案例测试和总结
- 07-springboot集成kafkastream
7-23 实时计算
- 08-热点文章-实现思路说明
- 09-热文章计算-文章点赞和阅读发送消息进行聚合
- 10-热文章计算-实时计算-流式聚合处理-1
- 11-热文章计算-实时计算-流式聚合处理-2
- 12-热文章计算-实时计算-流式聚合处理-3
- 13-热文章计算-实时计算-创建监听接收聚合之后的数据
- 14-热文章计算-实时计算-更新文章分值
- 15-热文章计算-实时计算-替换redis中的热点数据
- 16-热文章计算-实时计算-综合测试
7-24 jenkins概述&集成Dockerfile
- 01-持续集成概述及今日内容
- 02-软件开发模式
- 03-jenkins概述及安装
- 04-jenkins-插件概述及安装
- 05-jenkins服务器环境准备
- 06-后端项目部署-多环境配置切换
- 07-后端项目部署-整体思路说明及代码上传到码云
- 08-后端项目部署-微服务集成Dockerfile
- 09-后端项目部署-父工程项目构建
7-25 jenkins构建微服务
- 10-后端项目部署-jenkins构建微服务
- 11-后端项目部署-jenkins构建微服务-测试
- 12-后端项目部署-远程构建微服务-准备工作
- 13-后端项目部署-远程构建微服务
- 14-后端项目部署-综合测试
- 15-jenkins触发器-远程触发及其他项目构建后触发
- 16-jenkins触发器-定时触发和轮询触发
阶段七 面试专题
展开第一章 基础篇
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_通用设计_分布式事务_消息队列