第1阶段:JAVA开篇
预备阶段
1.如何打开Mybase笔记
2.如何安装软件
3.如何提高打字速度
JAVA初步
1.计算机语言的发展历史
2.JAVA简史
3.JAVA体系结构
4.JAVA特性和优势
5.JAVA核心机制之垃圾收集机制
6.核心机制之 JAVA跨平台原理(重要)
7.JAVA核心机制之对比C语言的跨平台原理
8.JAVA常用的DOS命令 (了解)
9.JDK的下载_安装 _卸载
10.notepad++的安装
11.第一段程序_ 编译 _执行 (重要)
12.程序中常见错误
13.编译方式
14.扩展 classpath环境变量
15.扩展 JAVA_HOME 环境变量
16.API
17.代码量统计工具的使用
18.单行注释和多行注释(重要)
19.文档注释
20.反编译工具的使用
21.本章最后一段代码
22.扩展面试题 JDK,JRE(了解)
第2阶段:JAVA语言语法
数据类型
1.标识符
2.关键字
3.常量_字面常量
4.变量的声明,赋值,使用 (重要)
5.变量的内存(重要)
6.变量的作用域
7.基本数据类型之整数类型常量 (进制问题,粗
略看看就行,不要求掌握)
8.基本数据类型之整数类型变量
9.基本数据类型之浮点类型常量的两种形式
10.基本数据类型之浮点类型变量
11.编码和字符集(大致看一下就行,了解技能
点)
12.基本数据类型之字符类型1
13.基本数据类型之字符类型2
14.解释乱码问题
15.基本数据类型之布尔类型
16.基本数据类型转换问题
17.习题final_字符常量 (重要)
18.习题 _ 加深对Scanner的使用 (重要)
运算符
1.JAVA中的运算符概述
2.算数运算符_除法 _取余
3.算数运算符_加号
4.算数运算符 _自增
5.赋值运算符
6.扩展数值运算符
7.关系运算符
8.逻辑运算符
9.三元运算符
10.位运算符 (了解,可不看)
11.运算符_总结
12.运算符的优先级别(了解)
流程控制
1.引入
2.分支结构_if单分支(重要)
3.分支结构_if多分支 (重要)
4.随机数
5.分支的嵌套使用_练习1
6.分支的嵌套使用_练习2
7.分支结构_switch分支
8.循环结构_while循环(重要)
9.循环结构_while循环练习
10.循环结构_do-while循环
11.循环结构_for循环 (重要)
12.循环结构_关键字break
13.循环结构_关键字continue
14.循环结构_关键字return
15.循环结构_循环练习1
16.循环结构_循环练习2
17.循环结构_循环嵌套(双重---》了解即可) _
乘法口诀
18.循环结构-循环嵌套(双重---》了解即可)1
19.循环结构_循环嵌套(双重---》了解即可)2
20.循环结构_循环嵌套(三重---》了解即可)
阶段项目小鲨鱼记账软件
本项目锻炼技能:分支结构,循环结构
1.引入
2.项目最终效果演示
3.整体结构完成
4.登记收入
5.登记支出
6.收支明细错误细节
7.退出功能
方法的定义,调用,重载
1.方法的定义和调用
2.方法提取的练习
3.面试题 _两个数交换是否成功
4.方法的重载
数组
1.数组的引用
2.数组的学习
3.数组习题完善_数组的遍历方式
4.数组的三种初始化方式
5.数组的应用_最值问题
6.数组的应用_查询问题
7.数组的应用_添加元素(比较难,不了解可以先
跳过去)
8.数组的应用_删除元素(比较难,不了解可以先
跳过去)
9.详述main方法
10.可变参数
11.Arrays工具类的使用
12.数组的复制
13.二维数组的定义和遍历
14.二维数组的初始化方式
阶段项目双色球彩票模拟系统
本项目锻炼技能:分支结构,循环结构,数组
1.需求介绍
2.涉及技能点
3.项目演示
4.菜单展示
5.购买彩票
6.开奖整体结构完善
7.生成中奖单号细节
8.对比号码细节和完善
第3阶段:集成开发工具的使用
IDEA的基本使用教程
1.IDE的概念
2.JetBrains公司介绍
3.Intellij IEDA介绍
4.IDEA的下载_安装前的准备工作
5.IDEA的卸载
6.IDEA的安装和破解
7.IDEA页面展示
8.Module 的概念和使用
9.IDEA的常用设置1
10.IDEA的常用设置2
11.IDEA的常用设置3
12.IDEA的常用快捷键 1
13.IDEA的常用快捷键 2
14.代码模板是什么
15.常用的代码模板
16.修改代码模板
17.创建代码模板
18.断电调试_常用断点调试快捷键
19.断点调试_条件判断
20.断点调试_查看表达式值
21.创建JavaWeb项目
22.在IDEA中添加Tomcat的镜像
23.在IDEA中配置Git
24.在IDEA中配置Maven
第4阶段:面向对象
面向对象重点
1.面向对象_面向过程和面向对象的区别
2.面向对象_类和对象的关系
3.面向对象_面向对象三个阶段
4.面向对象_创建类
5.面向对象_创建对象
6.面向对象_局部变量和成员变量的区别
7.面向对象_构造器
8.面向对象_构造器的重载
9.面向对象_内存分析1
10.面向对象_内存分析2
11.面向对象_内存分析3
12.面向对象_this的使用
13.面向对象_static修饰属性
14.面向对象_static修饰方法
15.面向对象_代码块
16.面向对象_ 包 _import _(1)
17.面向对象_ 包 _import _(2)
18.封装(1)
19.封装(2)
20.封装的总结
21.继承的引入
22.继承的代码演示
23.继承总结
24.继承的内存分析
25.权限修饰符
26.方法的重写
27.super修饰属性 ,方法
28.super修饰构造器
29.super修饰构造器补充
30.继承条件下构造方法的执行过程
31.Object类的toSring方法
32.Object类的equals方法(1)
33.Object类的equals方法(2)_ instanceof
34.Object类的equals方法(3)
35.类和类之间的关系1
36.类和类之间的关系2
37.多态(1)
38.多态 (2)
39.多态内存分析
40.向上转型_ 向下转型
41.简单工厂设计模式
42.final修饰符
43.抽象类_抽象方法
44.接口(JDK1.8之前)
45.接口(JDK1.8之后新增)
46.内部类_ 成员内部类
47.内部类_ 局部内部类
阶段项目比萨点餐系统
1.项目需求
2.项目结构分析
3.父类子类创建
4.测试类逻辑
5.工厂类的提取
阶段项目贪吃蛇小游戏
1.引入
2.小蛇行动原理图
3.将图片加载到程序中来
4.创建窗体
5.创建面板
6.画静态的小蛇
7.将蛇头按照行走方向改变
8.加入监听,空格来控制游戏是否开
9.小蛇向右动起来
10.小蛇上下左右动起来
11.画食物吃食物
12.画积分
13.死亡判定
14.游戏打包
第5阶段:JavaSE进阶学习
异常
1.异常的案例引入
2.处理异常方式if-else
3.处理异常方式try-catch捕获
4.catch中处理异常的几种方式
5.finally讲解
6.多重catch
7.异常的分类/层次结构
8.throw和throws的区别
9.异常练习
10.重载和重写异常的区别
11.自定义异常
常用类
1.包装类_引入
2.包装类常用属性常用构造器
3.包装类自动装箱自动拆箱
4.包装类_常用方法
5.日期相关_java.util.Date
6.日期相关_java.sql.Date
7.日期相关_SimpleDateFormat
8.日期相关_Calendar
9.日期相关_Calendar练习需求
10.日期相关_Calendar练习完成
11.日期相关_JDK1.8新增日期时间API的原因
12.日期相关_JDK1.8新增LocalDateTime
13.日期相关_JDK1.8新增DateTimeFormatter
14.Math类
15.Random类
16.String的底层本质
17.String的常用方法(1)
18.String的常用方法(2)
19.String的常用方法(3)
20.String的常用方法(4)
21.String的内存分析
22.StringBuilder类(1)
23.StringBuilder类(2)
24.理解可变和不可变的含义
25.StringBuilder常用方法
26.String,StringBuilder,StringBuffer区别
集合
1.什么是算法什么是数据结构
2.紧密结构,跳转结构
3.集合的引入
4.简要集合结构图
5.集合的应用场合
6.Cllection接口的常用方法
7.Cllection接口的遍历方式
8.List接口
9.ArrayList实现类JDK1.7源码
10.ArrayList实现类JDK1 .8源码
11.Vector实现类源码
12.泛型的引入
13.自定义泛型结构泛型类泛型接口
14.自定义泛型结构泛型类泛型接口细节
15.自定义泛型结构泛型方法
16.自定义泛型结构泛型参数存在继承关系的情况
17.自定义泛型结构通配符
18.自定义泛型结构通配符使用的细节
19.自定义泛型结构泛型受限
20.LinkedList实现类的使用
21.LinkedL ist简要底层原理图
22.模拟LinkedList源码
23.LinkedL ist源码解析(JDK1.8)
24.iterator()面试题
25.迭代器具体实现
26.Listlterator迭代器
27.Set接口介绍
28.HashSet的特点
29.HashSet的简要原理
30.HashSet原理留下的疑问
31.LinkedHashSet的使用
32.比较器的使用
33.TreeSet的使用及原理
34.Map接口中常用方法1
35.Map接口中常用方法2
36.Hashtable的使用
37.TreeMap的使用
38.HashMap的原理简单介绍
39.HashMap中重要属性
40.HashMap的构造器
41.HashMap的put方法
42.HashMap底层数组的扩容
43.HashMap的两个经典面试题
44.HashSet底层原理
45.TreeMap底层源码
46.TreeSet底层源码
47.Collections工具类
IO流
1.File类的引入
2.File对文件的操作
3.File对目录的操作
4.I0流的引入
5.FileReader读取文件内容(1)
6.FileReader读取文件内容(2)
7.FileWriter写出数据操作
8.FileReader,FileWriter完成文件复制
9.警告-不要用字符流去操作非文本文件
10.利用try-catch-finally处理异常方式
11.FilelnputStream读取文件中内容
12.FilelnputStream,FileOutputStream完成非文
本文件的复制
13.缓冲字节流(处理流)- BufferedInputStream ,
BufferedOutputStream
14.比对非文本文件复制的三种方法的效率
15.缓冲字符流(处理流)-BufferedReader,
BufferedWriter完成文本文件的复制
16.转换流-InputStreamReader,
OutputStreamWriter
17.转换流-InputStreamReader,
OutputStreamWriter实现文本文件的复制
18.System类对I0流的支持
19.练习键盘录入内容输出到文件中
20.数据流- DatalnputStream,
DataOutputStream
21.对象流序列化和反序列化
22.实现Serializable接口
23.serialVersionUlD
24.IDEA中配置序列化版本号
25.序列化细节
多线程
版本一
1.多线程-线程与进程、线程的实现方式
2.多线程-线程的生命周期、线程同步与死锁
3.多线程-生产者消费者问题、线程池
版本二:后续待更新
15
网络编程
1.网络编程的引入(了解)
2.InetAddress,InetSocketAddress(了解)
3.网络通信原理套接字的引入(了解)
4.TCP通信单向通信
5.TCP通信双向通信
6.TCP通信对象流传送
7.TCP通信加入完整的处理异常方式
8.TCP通信_多线程接收用户请求
9.UDP通信_单向通信(了解)
10.UDP通信_双向通信(了解)
11.UDP通信加入完整的异常处理方式(了解)
12.UDP通信完整正常通信(了解)
阶段项目坦克大战
1.new出一个窗口
2.设定标题栏内容
3.TankFrame从Frame继承+显示
4.认识paint方法,重写
5.学习graphics类,画图
6.学习repaint方法
7.实现MyKeyListener,对键盘作出响应
8.MyKeyListener
9.取得具体按键信息
10.根据具体按键调整坦克位置,持有对方引用
11.抽象出坦克类,学习使用枚举类型
12.MyKeyListener,TankFrame
13.用匿名内部类处理窗口关闭
14.根据按键状态,改变坦克方向
15.根据坦克方向移动位置
16.能停,能动
17.test包,关于classloader的知识
18.将坦克换成图片版
19.画出一颗子弹,让子弹飞一会儿
20.按下ctrl键,主战坦克打出一发炮弹
21.打出多发子弹
22.子弹从坦克中心位置打出
23.子弹消亡(飞出游戏区)
24.定义rectangle属性,不用每次都new
25.炮弹new出来自动加入容器,死掉后自动去除
26.分离玩家和机器人,对边界进行不同的处理
27.用双缓冲消除闪烁
28.加一堆敌人坦克
29.做碰撞检测
30.显示爆炸
31.加入声音
32.让敌人坦克更加智能
33.对坦克和子弹加入 Group属性
34.测试Properties类的使用
35.建立PropertyMgr类
36.MV分开 Model View分离
37.GameModel 改成单例模式
38.对于碰撞的处理
39.创建实例
40.抽象出游戏物体的父类
41.合成GameModel中的各种不同物体
42.完善责任链模式
43.加入墙
44.按键切换发射策略
45.实现暂停功能
46.实现存盘功能
47.使用Junit测试服务器loop
48.去掉敌人的坦克(机器控制的坦克)
49.处理接收到的消息
50.player新的构造方法
51.让后来人能看到先加入者
52.加入坦克方向改变的消息
53.重构代码
54.处理改变坦克方向的消息
55.发送主战坦克停止的消息
56.发送主战坦克开始移动的消息(方向没变)
57.加入子弹和Player的撞击逻辑
58.把主战坦克也加入到List中
59.完成坦克大战网络版
JUnit
1.Junit单元测试引入
2.没有Junit的情况下如何测试
3.Junit的使用
4.@Before_ @After
枚举
1.引入自定义枚举类
2.JDK1.5后使用enum关键字定义枚举类
3.enum定义枚举类补充
4.Enum类的常用方法
5.枚举类实现接口
6.枚举的应用
注解
1.注解的引入
2.注解实例_Junit注解
3.注解实例_文档注解
4.注解实例_JDK内置的3个注解
5.注解实例_替代配置文件的注解
6.自定义注解
7.元注解的概念解释
8.元注解_Retention
9.元注解_Retention补充
10.元注解_Target
11.元注解_Documented
12.元注解_Inherited
反射机制
1.反射的引入
2.反射概念
3.Class类
4.提供丰富的类
5.获取字节码信息的四种方式
6.可以作为Class类的实例的种类
7.补充上面的丰富的类中的内容
8.获取构造器和创建对象
9.获取属性和对属性进行赋值
10.获取方法和调用方法
11.获取类的接口,所在包,注解
12.关于反射的面试题
第6阶段:数据库+JDBC
Oracle+MySQL+JDBC
1.oracle安装介绍
2.oracle SQL
3.oracle函数和多表连接
4.oracle的join语法及行专列
5.oracle视图、用户管理、序列、DML
6.数据库的事务
7.数据库表的创建、表的约束、索引、数据库
8.JDBC及代码分层
9.反射技术实现及封装
10.DBUtil及数据库连接池(dbcp、c3p0)
11.数据库连接池(druid、hikariCP)及索引
12.索引原理2、mysql基本架构及日志实现
13.mysql的执行计划
14.mysql的锁机制
15.mysql的主从复制和读写分离
MySQL
1.数据库基本概念
2.数据库类型和常见的关系型数据库
3.MySQL介绍
4.MySQL8的安装
5.查看MySQL的安装结果
6.MySQL登录,访问,退出操作
7.数据库的卸载
8.使用图形客户端navicat12接MySQL
9.SQL语言入门
10.创建数据表
11.数据库表列类型
12.添加数据
13.修改,删除数据
14.修改,删除数据库表
15.非外键约束(1)
16.非外键约束(2)
17.非外键约束(3)
18.外键约束
19.外键策略
20.DDL和DML的补充
21.DQL_表的准备
22.最简单的SQL语句
23.where子句
24.函数的分类
25.单行函数(1)
26.单行函数(2)
27.多行函数
28.分组group by
29.having分组后筛选
30.单表查询总结
31.多表查询99语法(1)
32.多表查询99语法(2)
33.多表查询99语法(3)
34.多表查询99语法(4)
35.多表查询92语法
36.单行子查询
37.多行子查询
MyCat
1.MyCat第一讲
2.MyCat第二讲
3.MyCat第三讲
第7阶段:前端精讲
HTML
1.HTML和CSS的引入
2.网络传输三大基石
3.什么是HTML
4.HTML的标准结构
5.HBuilder的使用
6.html_head_body标签
7.head中可用标签
8.文本标签
9.多媒体标签
10.超链接标签
11.超链接设置锚点
12.列表标签
13.表格标签
14.内嵌框架
15.内嵌框架练习 (1)
16.内嵌框架练习(2)
17.框架集合
18.form表单的作用
19.form表单细节
20.form表单练习模拟百度搜索
21.表单元素(1)
22.表单元素(2)
23.HTML5新增type类型
24.HTML5新增属性
CSS
1.CSS的引入
2.CSS的三种书写方式
3.明白学习CSS的重点
4.选择器_基本选择器
5.选择器关系选择器
6.选择器_属性选择器
7.选择器_伪类选择器
8.练习百度导航栏
9.浮动的原理
10.消除浮动影响
11.定位_静态定位相对定位
12.定位绝对定位
13.定位_固定定位
14.盒子模型引入
15.盒子模型代码演示
16.盒子模型练习题
JS
1.js介绍及内置功能函数、数据类型、变量
2.js的变量及运算符
3.js的流程控制语句
4.js的函数基本使用
5.js的数组和字符串的基本使用
6.dom操作、常用方法、事件绑定
7.echarts和js对象、函数上下文
8.js构造函数、js原型链、继承及实战案例
JQuery
1.jquery简介、选择器、常用方法
2.jquery的节点关系及函数操作
3.jquery轮播图及函数库介绍
Ajax
1.Http协议、php的基本介绍
2.ajax基本原理及使用
3.ajax的接受数据的方式及三级联通案例
Vue框架的介绍及使用
1.vue框架的介绍及使用
2.vue框架的调色板、属性值监听、函数
3.vue框架的生命周期、组件使用
4.vue框架的高阶使用
第8阶段:JavaEE
servlet课程要求
1.servlet系列课程的要求及规范
http协议讲解
1.servlet与http的简单介绍
2.http协议的特点
3.http协议交互过程及请求详解
4.http协议响应详解
tomcat服务器讲解及手写tomcat
1.web服务器的基本介绍
2.自定义Tomcat实现的流程
3.自定义Tomcat实现—MyResult
4.自定义Tomcat实现MyResponse和
MyMapping
5.tomcat实现MyHttpServlet和MyServlet
6.自定义Tomcat实现—MyServer
7.Tomcat的安装使用
servlet基本原理
1.搭建一个web项目
2.servlet的基本介绍
3.servlet的访问流程
4.servlet的生命周期
5.servlet的service,dopost,doget方法区别
6.servlet的常见错误
request和response对象讲解
1.servlet的request对象1
2.servlet的request对象2
3.servlet的response对象
4.用户登录小项目1
5.用户登录小项目2
6.用户登录小项目3
7.servlet乱码问题解决
8.servlet的总结
servlet请求转发和重定向
1.servlet请求转发
2.servlet request的作用域
3.servlet重定向
cookie
1.cookie1
2.cookie2
3.Cookie免密码登录实现1
4.Cookie免密码实现登录2
session
1.Session的基本介绍
2.Session的运行原理及获取session对象
3.session的基本操作
4.session练习—解决重定向名称null的问题
servletContext对象与ServletConfig
对象
1.servletcontext介绍对象
2.servletContext基本操作
3.网站计数器的实现
4.Servletconfig讲解
jsp基本原理及应用
1.jsp的简单介绍
2.jsp的运行原理
3.jsp的page指令
4.jsp页面如何嵌入java代码
5.jsp页面的导入方式
6.jsp页面的请求转发
7.jsp九大内置对象
8.jsp作用域和路径问题
9.servlet与jsp的页面流转
EL表达式
1.传统的方法获取request中的值
2.EL表达式的基本概念及使用
3.El表达式的作用域顺序算术运算关系运算
4.EL表达式获取cookie和请求头元素
JSTL标签库
1.JSTL标签库的基本介绍及导入
2.JSTL的基本标签
3.JSTL逻辑判断表达式
4.JSTL的循环标签
5.如何学习JSTL标签库
servlet过滤器
1.过滤器的介绍
2.第一个filter程序
3.过滤器链及详细配置
4.过滤器案例实现
servlet监听器
1.监听器的介绍及request监听器
2.servletContext监听器
3.session监听器
4.利用监听器实现网站在线人数
servlet系列课程总结
1
第9阶段:工具的使用
Git
1.Git引入_版本控制介绍
2.Git简史
3.Git的安装过程
4.Git结构
5.代码托管中心_本地库和远程库的交互方式
6.初始化本地仓库
7.常用命令_add和commit命令
8.常用命令_status命令
9.常用命令_log命令
10.常用命令_log命令2
11.常用命令_reset
12.常见命令_reset的hard,mixed,soft参数
13.常见命令删除文件找回本地库删除的文件
14.常见命令_找回暂存区删除的文件
15.常见命令_diff命令
16.分支_什么是分支
17.分支_查看分支,创建分支,切换分支
18.分支_冲突问题__解决冲突问题
19.注册GitHub账号
20.回顾本地库和远程库的交互方式
21.初始化本地库
22.创建GitHub远程库
23.在本地创建远程库的别名
24.推送操作
25.克隆操作
26.邀请加入团队_push操作
27.远程库修改的拉取1
28.远程库修改的拉取2
29.协同开发合作时冲突的解决办法
30.会哭跨团队合作交互方式
31.跨团队合作
32.SSH免密登录
33.IDEA集成Git初始化本地库添加暂存区_提交本
地库操作
34.使用idea拉取和推送资源
35.使用idea克隆远程仓库到本地
36.使用idea解决冲突_如何避免冲突
Maven
1.什么是Maven
2.Maven的下载目录结构IDEA整合Maven
3.Maven仓库
4.Maven仓库之远程仓库
5.Maven仓库之本地仓库
6.仓库配置
7.仓库优先级问题
8.JDK的配置
9.Maven工程类型
10.在IDEA中创建Maven工程
11.Maven目录结构
12.Maven工程关系_依赖关系
13.Maven工程关系_依赖的传递性
14.Maven工程关系依赖的两个原则排除依赖
15.Maven工程关系_依赖范围
16.Maven工程关系_继承关系
17.Maven工程关系_聚合关系
18.常见插件_编译器插件
19.常见插件_资源拷贝插件
20.常见插件_Tomcat插件
21.Maven常见命令
第10阶段: Linux
1.Linux简介VMWare安装
2.VMWare的卸载
3.Linux系统的安装
4.Linux中的目录结构
5.Linux中的路径
6.Linux中的常用命令
7.Linux中的常用命令
8.Linux中的常用命令
9.设置时间
10.开启网络链接
11.修改网络类型
12.快速与克隆
13.工具XShell
14.Xftp
15.文件的压缩与解压缩
16.安装JDK
17.安装Tomcat
18.安装MySQL
第11阶段: SSM框架的使用
MyBatis
版本一
1.介绍框架
2.介绍MyBatis
3.讲解架构图,核心类,工作流程
4.resources下文件打包问题
5.环境搭建
6.讲解核心配置文件1
7.讲解核心配置文件2
8.讲解核心配置文件3
9.讲解mapper映射文件1
10.讲解mapper映射文件2
11.原始Dao层开发
12.mapper代理Dao层开发
13.逆向工程
14.动态SQL-1
15.动态SQL-2
16.动态SQL-3
17.动态SQL-4
18.动态SQL-5
19.动态SQL-6
20.动态SQL-7
21.动态SQL-8
22.动态SQL-9
23.resultType实现—对—
24.resultMap实现—对—
25.讲解—对多关联查询
26.讲解多对多关联查询(1)
27.page工具类实现分页
28.RowBounds插件实现分页
29.介绍延迟加载
30.实现延迟加载
31.介绍缓存
32.介绍MyBatis的—级缓存
33.介绍MyBatis的二级缓存
34.介绍第三方缓存框架
版本二
1.mybatis的介绍和基本使用1
2.mybatis基本使用2
3.mybatis基本使用3
4.mybatis基本使用4
5.mybatis基本使用5
6.mybatis基本使用6
7.Mybatis源码讲解1
8.Mybatis源码讲解2
Spring
版本一
1.介绍Spring框架
2.SpringIOC简介和环境搭建
3.SpringIOC创建对象方式一
4.SpringIOC创建对象方式二
5.Spring IOC创建对象方式三
6.介绍IOC容器
7.介绍Bean标签
8.SpringDI注入方式一
9.SpringDI注入方式二
10.SpringDI注入方式三
11.介绍代理模式
12.介绍AOP
13.静态代理实现AOP
14.JDK动态代理
15.CGLIB动态代理实现AOP
16.基于XML配置方式声明切面
17.基于注解方式声明切面
18.介绍常用的注解
19.Spring整合MyBatis
20.介绍事务
21.声明式事务
版本二
1.Spring框架的介绍及使用)
2.SpringIOC容器的配置使用1
3.SpringIOC容器的配置使用2
4.SpringIOC容器的注解使用
5.SpringAOP的引入及配置使用
6.SpringAOP的详细讲解
7.SpringAOP的详细讲解
8.SpringAOP声明式事务及源码讲解
9.Spring源码讲解
10.Spring源码讲解
11.动态代理
SpringMVC
版本一
1.介绍SpringMVC框架
2.介绍SpringMVC执行流程
3.配置Tomcat
4.环境搭建 方式一
5.环境搭建 方式二
6.优化入门程序
7.非注解方式开发程序
8.复习
9.SpringMVC映射请求
10.SpringMVC返回值类型
11.SpringMVC参数绑定1
12.SpringMVC参数绑定2
13.SpringMVC参数绑定3
14.SpringMVC参数绑定4
15.SpringMVC参数绑定5
16.SpringMVC参数绑定6
17.SpringMVC使用拦截器
18.SpringMVC使用文件上传
19.SpringMVC使用文件下载
20.SpringMVC使用ajax1
21.SpringMVC使用ajax2
22.SSM整合
版本二
1.springmvc简单介绍及使用
2.Springmvc的使用1
3.Springmvc的使用2
4.Springmvc的使用3
5.Springmvc的使用4
6.Springmvc的使用5
7.Springmvc的源码讲解1
8.Springmvc的源码讲解2
第12阶段:SpringBoot的使用
版本一
1.介绍SpringBoot
2.SpringBoot整合SpringMVC
3.讲解SpringBoot的配置文件
4.讲解SpringBoot的项目结构
5.SpringBoot整合ssm
6.SpringBoot整合Druid数据库连接池
7.SpringBoot整合Druid数据库连接池
8.SpringBoot整合jsp视图展示技术
9.SpringBoot整合thymeleaf
10.讲解thymeleaf语法
11.讲解SpringBoot开发者工具包
12.SpringBoot整合分页工具
13.讲解SpringBoot项目打包
14.讲解SpringBoot项目异常页面
15.介绍SpringBoot异常方法异常类
16.SpringBoot整合Junit
17.讲解SpringBoot实现IOC
18.SpringBoot实现DI
19.SpringBoot整合拦截器
版本二
1.SpringBoot概念官网介绍
2.SpringBoot思维导图
3.微服务介绍
4.SpringBoot文档讲解
5.SpringBoot文件生成、导入和启动
6.SpringBoot POM文件讲解
7.SpringBoot项目启动两种注解方式
8.SpringBoot应用程序启动器的位置
9.在IDEA中创建SpringBoot项目
10.SpringBoot小工具动态生成banner
11.SpringBoot的两种配置文件
12.关于注解的知识
13.自定义注解代码实现
14.SpringBoot加载配置文件中的属性值
15.两种配置文件的区别
16.SpringBoot配置文件细节
17.SpringBoot配置文件详解
18.SpringBoot开发Web程序介绍
19.idea热部署插件JRebel安装激活
20.SpringBoot内嵌Servlet讲解
21.SpringBoot编写Filter类
22.监听器的编写
23.SpringBoot中静态资源配置
24.首页配置信息
25.SpringMVC扩展
26.Thymeleaf模板引擎介绍和使用
27.Thymeleaf实例演示
28.Thymeleaf标准表达式语法
29.Thymeleaf国际化的配置
30.SpringBoot配置连接数据库
31.更改数据库连接池操作
32.jdbcTemplate的使用
33.自定义数据源DruidDataSource
34.SpringBoot配置多数据源并动态切换
35.SpringBoot整合Mybatis
36.SpringBoot项目启动器的源码启动过程
37.启动当前应用程序流程图解
38.监听启动的各个阶段以及观察者模式
39.springboot启动时监听的实现
40.创建监听类对象获取监听器
41.listeners.starting总结
42.SpringBoot源码创建实例初始化
43.配置读取property文件源码
44.SpringBoot加载配置文件源码
45.启动过程总结
46.启动过程回顾
47.创建一个基本环境对象源码过程
48.配置环境对象参数
49.listeners源码
50.绑定environment源码
51.读取Banner过程源码
52.ApplicationContext讲解
53.SpringBoot源码注册Bean
54.prepareContext准备上下文环境
55.refreshContext刷新上下文环境
56.after refrsh和stop watch
57.callRunners
58.SpringBoot启动过程完整流程图
59.几个注解了解
60.springboot注解自动装配过程
61.@Import注解源码
62.springboot注解自动装配过程2
63.SpringBoot自动装配过程梳理
64.自己定义starter代码实现
65.SpringBoot监听器知识
66.MyStarter代码改进
67.tomcat组件创建过程
68.获取tomcatWebServer
69.Engine的初始化
70.Realm初始化过程
71.SpringBoot整合Tomcat启动
72.Tomcat的关闭
第13阶段 分布式阶段
RPC
1.学习目标
2.项目架构变化
3.RPC简介
4.RPC和HTTP对比
5.实现RPC服务器端的编写
6.实现RPC-get请求操作
7.实现RPC-post请求操作
8.返回对象类型
9.返回集合类型
10.流数据
11.接收流数据参数
12.使用ajax发送json参数
13.ajax跨域请求
14.RM简介
15.RMI代码实现
16.JDK的安装
17.zookeeper的安装
18.zookeper客户端命令
19.内容发布
20.消息订阅
21.手写RPC框架-项目架构
22.手写PRC框架-接口
23.手写PRC框架-Provider
24.手写PRC框架-Consumer
Dubbo
1.Dubbo简介
2.Dubbo架构图讲解
3.Dubbo支持的协议
4.Dubbo支持的注册中心
5.项目-parent工程的编写
6.项目-接口&provider编写
7.项目-consumer编写
8.项目-运行测试
9.Dubbo的Admin界面搭建
10.Dubbo负载均衡效果
11.案例-原型-架构-数据库设计
12.案例-Parent项目
13.案例-pojo子项目
14.课上案例-mapper子项目的创建
15.案例-api子项目的创建
16.案例-provider子项目
17.室例-dept子项目的创建
18.案例-部门显示
19.案例-emp子项目
20.案例-显示部门列表
21.课上案例-员工新增-图片上传
22.课上案例-部门员工查看
FastDFS,Nginx
1.项目架构变化
2.分布式文件系统概述
3.FastDFS简介
4.FastDFS架构
5.基础搭建
6.Tracker
7.Storage
8.文件上传流程
9.图片上传代码实现
Redis
1.NOSQL数据库简介
2.Redis简介
3.Redis单机版安装
4.Redis单机版的启动
5.Redis常用的五大类型
6.常用命令-key
7.常用命令-string
8.常用命令-hash
9.常用命令-list
10.常用命令-set
11.常用命令-sorted set
12.RDB
13.AOF
14.主从复制介绍
15.主从复制搭建
16.哨兵简介
17.哨兵搭建
18.redis集群搭建(上)
19.redis集群搭建(下)
20.Jedis详解
第14阶段:微服务阶段
SpringCloud
1.前置
2.什么是微服务
3.从单机到微服务架构演化
4.前置+回顾
5.流量介入层(1)
6.流量接入层(2)
7.WEB服务层
8.服务治理中心
9.Eureka
10.前置
11.Eureka高可用
12.Eureka服务
13.Eureka单独使用
14.Eureka元数据
15.EurekaClient
16.Ribbon完成负载均衡
17.自我保护机制
18.Actuator监控应用
19.Eureka健康状态
20.安全配置
21.Ribbon概念
22.Ribbon代码部分
23.定负载约衡算法
24.前置
25.Restful风格api接口规范
26.restTemplate
27.feign
28.前置
29.Feign(上)
30.Feign(上、下)
31.Hystrix降级
32.Hystrix限流与隔离
33.Hystrix熔断与使用
34.Hystrix整合Feign
35.Hysrix整合RestTemplate
36.信号量隔离与线程隔离
37.信号量隔离与线程隔离代码实现
38.网关概念
39.网关具体应用
40.链路追踪
41.admin
42.发邮件通知
43.前置
44.配置中心概念
45.配置中心搭建
46.刷新配置
47.总结
微服务会话管理
1.会话管理
2.Shiro
3.SpringSecurity
4.openld
5.CSRF XsS攻击安全与防御
6.前置
7.模拟登陆+解决CSRF方案
8.SpringSecurityAPi详解
9.密码存储安全问题
10.前置
11.JDBC用户内存
12.如何用mybatis、jps查询用户
13.自定义用户权限
14.忽略静态请求
15.remember me
16.前置
17.防火墙
18.注销登陆与控制器
19.权限控制与继承(1)
20.权限控制与继承
21.图形验证码
22.前置
23.session共享
24.无状态会话
25.课上问题回答环节
26.如何防止密文外泄
27.前置
28.Jwt替换
29.Jwt Token在浏览器如何防止重放攻击
30.oAuth2.0
31.oAuth2.0代码
微服务调用OpenFeign
1.前置
2.SSL
3.加密详解
4.CA机构插入力加空
5.Https真的安全吗?
微服务GetWay
1.前置
2.OpenSSl
3.自建CA证书
4.NGinx配置Https
5.自建凭证书受系统信任
6.线上服务器免费证书申请与认证
项目网约车
1.项目概述-需求分析
2.服务拆分-接口设计
3.工程设计-eureka生产优化
4.eureka生产优化
5.eureka生产优化
6.网约车注册中心总结
7.乘客登录-QPS提升(提升并发数)
8.乘客端时序图-设计
9.计价时序图-设计
10.派单逻辑-时序图-设计
11.订单状态流转
12.支付流程-时序图-灰度场景
13.灰度发布-网关灰度
14.灰度发布-ribbon灰度
15.传统项目向微服务改造的问题
16.zuul过滤器-解决实际问题思路分析
17.网关经典动态路由问题解决的2种方案
18.网关动态路由-解决方案
19.网关实战小技巧
20.网关限流-服务限流-分布式事务
21.提交协议
22.消息队列-定时任务-本地事件表
23.LCN原理-实战
24.TCC原理-实战
25.TCC-mysql-redis-混合实战
26.Seata AT模式
27.Seata-at-tcc-空回滚-幂等-悬挂
28.Seata 实战
29.可靠消息服务-最大努力通知-事务消息
30.网约车项目
31.RocketMQ事务消息方案实战
32.网约车项目
33.网约车项目
34.网约车项目
35.网约车项目
第15阶段:设计模式
设计模式
1.设计模式前言
2.Singleton单例模式
3.strategy_策略模式-1
4.strategy_策略模式-2
5.strategy_策略模式-3
6.strategy_策略模式-4
7.strategy_策略模式-5
8.工厂方法-抽象工厂-1
9.工厂方法-抽象工厂-2
10.工厂方法-抽象工厂-3
11.Facade门面-Mediator调停者-1
12.Facade门面-Mediator调停者-2
13.Decorator装饰器
14.ChainOfResponsibility责任链
15.ChainOfResponsibility责任链-作业
16.Observer观察者-1
17.Observer观察者-2
18.Observer观察者-3
19.Observer观察者-4
20.Observer观察者-5
21.Observer观察者-6
22.Observer观察者-7
23.Composite组合模式
24.Flyweight享元
25.Proxy静态代理与动态代理-1
26.Proxy静态代理与动态代理-2
27.Proxy静态代理与动态代理-3
28.Proxy静态代理与动态代理-4
29.Proxy静态代理与动态代理-5;
30.Proxy静态代理与动态代理-6
31.Proxy静态代理与动态代理-7
32.Proxy静态代理与动态代理-8
33.Visitor访问者-1
34.Visitor访问者-2
35.Visitor访问者-3
36.Visitor访问者-4
37.Visitor访问者-5
38.Visitor访问者-6
39.Builder构建器
40.Iterator迭代器-1
41.Iterator迭代器-2
42.Iterator迭代器-3
43.Adapter适配器
44.Bridge桥接
45.Command命令
46.Prototype原型-1
47.Prototype原型-2
48.Prototype原型-3
49.Memento备忘录-1
50.Memento备忘录-2
51.TemplateMethod模板方法
52.State状态-1
53.State状态-2
54.State状态-3
55.Intepreter解释器+总结6大设计原则
第16阶段:多线程与高并发
多线程与高并发
1.多线程与高并发课程介绍
2.多线程的基本概念
3.多线程的创建方式
4.启动线程的三种方式
5.多线程的几个基本方法
6.线程状态
7.synchronized关键字的基本概念
8.synchronized特性
9.synchronized小程序分析
10.synchronized可重入概念
11.synchronized异常锁
12.synchronized底层实现
13.内容回顾
14.内容回顾
15.volatile保证线程可见性
16.volatile禁止指令重排序
17.synchronized优化
18.CAS无锁优化
19.CAS中ABA问题
20.Unsafe类
21.内容回顾
22.间歇性复习
23.CAS新类型锁-ReentrantLock
24.CountDownLatch类
25.CyclicBarrier可循环屏障
26.Phaser同步屏障
27.ReadWriteLock读写锁
28.Semaphore
29.Exchanger
30.内容回顾
31.LockSupport讲解与使用
32.多线程面试题1多种方法讲解
33.多线程面试题2多种方法讲解
34.阅读源码原则
35.AQS分析源码讲解
36.AQS源码完整解析
37.ThreadLocal源码解析
38.四大引用之强软引用
39.弱引用
40.虚引用
41.课程回顾
42.课程预告
43.容器图解
44.面试的正确观念
45.Hashtable与HashMap的区别
46.Vector到Queue的演化过程
47.知识扩展
48.多线程容器之ConcurrentMap
49.多线程容器之CopyOnWriteList
50.多线程容器之BlockingQueue
51.多线程容器之DelayQueue
52.多线程容器之SynchronusQueue
53.线程容器之TransferQueue
54.总结复习
55.下节课程预习
56.知识点回顾
57.面试题顺序打印A1B2...Z26
58.线程池Executor接口
59.线程池ExecutorService接口
60.线程池Callable接口
61.Future的用法及含义
62.知识点回顾
63.CompletableFuture类讲解
64.线程池ThreadPoolExecutor
65.课程回顾
66.课程回顾
67.线程池-SingleThreadPool
68.线程池-CachedPool
69.线程池-FixedThreadPool
70.线程池-ScheduledPool
71.FixedThreadPool例子
72.问题解答
73.ThreadPoolExecutor源码
74.小总结
75.线程池-WorkStealingPool
76.线程池-ForkJoinPool
77.ParallelStreamAPI
78.线程池问题解答
79.JMH java准测试工具套件
80.Disruptor介绍
81.Disuptor核心
82.Disruptor开发步骤
83.ProducerType生产者线程模式
84.等待策略
85.消费者异常处理
86.GUC整体课程回顾
第17阶段:JVM
JVM
1.课程规划
2.JVM基础1
3.JVM基础2
4.Class文件格式
5.Class文件解读1
6.Class文件解读2
7.Class文件解读3
8.day1课后作业
9.day2课前复习
10.类加载器
11.双亲委派
12.父加载器
13.类加载器范围
14.自定义类加载器1
15.自定义类加载器
16.加密
17.编译器
18.懒加载
19.day2课后总结
20.day3课前复习
21.初始化
22.单例模式双重检查
23.硬件层数据一致性
24.缓存行伪共享
25.乱序问题
26.乱序证明
27.硬件级别保证有序
28.day3课后总结
29.day4课前复习
30.volatile实现细节
31.同步实现细节
32.排序规范
33.对象的创建过程
34.对象在内存中的存储布局
35.对象的大小
36.对象头具体包括什么
37.day4课程总结
38.Runtime Data Area
39.栈帧
40.栈的执行流程
41.invoke指令
42.day4课后总结
43.垃圾
44.GC常用垃圾清除算法
45.堆内存逻辑分区
46.栈上分配
47.对象何时进入老年代
48.年轻代老年代两个问题
49.常见的垃圾回收器
50.CMS
51.CMS的问题
52.预习+总结
53.day7课前
54.JVM常用命令行参数
55.GC日志详解
56.调优前的基础概念
57.什么是调优
58.调优1_预规划
59.预规划案例
60.调优2优化JVM运行环境
61.预习+day7课后总结
62.day8课前复习
63.jvm调优案例
64.top命令观察到问题
65.jstack定位线程状况
66.定位OOM问题
67.面试题(12分有错误)
68.day8课后总结
69.错误更正
70.day9课前复习
71.arthas
72.分析dump文件
73.arthas的反编译和热替换
74.OOM案例汇总1
75.OOM案例汇总2
76.OOM案例汇总3
77.day9课后预习
78.day10课程规划
79.CMS复习
80.G1特点1
81.G1特点2
82.并发标记算法
83.day10课后总结
84.RSet与赋值效率
85.day11课程规划
86.CMS日志分析
87.G1日志分析
88.GC常用参数
89.Parallel常用参数
90.CMS常用参数
91.G1常用参数
92.day11课后复习
93.纤程
第18阶段 左程云老师(左神)- 算法篇
基础篇
1.认识复杂度、对数器、二分法与异或运算
2.链表结构、栈、队列、递归行为、哈希表和有
序表
3.归并排序与随机快排
4.比较器与堆
5.trie、桶排序、排序总结
6.链表相关面试题
7.二叉树的基本算法
8.二叉树的递归套路
9.贪心算法
10.并查集结构和图相关的算法
11.暴力递归
12.动态规划
13.暴力递归到动态规划1
14.暴力递归到动态规划2
15.暴力递归到动态规划3
16.暴力递归到动态规划4
进阶篇
1.单调栈和窗口及其更新结构
2.类似斐波那契数列的递归
3.bfprt算法与蓄水池算法
4.KMP算法及其扩展
5.Manacher算法及其扩展
6.Morris遍历及其相关扩展
7.线段树
8.AC自动机
9.打表技巧和矩阵处理技巧
10.数组累加和问题三连
11.哈希函数有关的结构和岛问题
12.如何解决资源限制类题目
13.有序表的原理、应用、扩展(一)
14.有序表的原理、应用、扩展(二)
15.有序表的原理、应用、扩展(三)
16.AC自动机、卡特兰数
17.经典面试题目(一)
18.经典面试题目(二)
19.经典面试题目(三)
20.经典面试题目(四)
21.经典面试题目(五)
22.经典面试题目(六)
23.经典面试题目(七)
24.经典面试题目(八)
25.经典面试题目(九)
26.经典面试题目(十)
27.经典面试题目(十一)
28.经典面试题目(十二)
29.经典面试题目(十三)
30.经典面试题目(十四)
31.经典面试题目(十五)
32.经典面试题目(十六)
33.经典面试题目(十七)
34.经典面试题目(十八)
35.经典面试题目(十九)
36.经典面试题目(二十)
37.经典面试题目(二十一)
38.经典面试题目(二十二)
39.经典面试题目(二十三)
40.经典面试题目(二十四)
41.经典面试题目(二十五)
42.经典面试题目(二十六)
43.经典面试题目(二十七)
44.经典面试题目(二十八)
45.经典面试题目(二十九)
46.经典面试题目(三十)
47.经典面试题目(三十一)
48.经典面试题目(三十二)
49.leetcode高频题目全讲(一)
50.leetcode高频题目全讲(二)
51.leetcode高频题目全讲(三)
52.leetcode高频题目全讲(四)
53.leetcode高频题目全讲(五)
54.leetcode高频题目全讲(六)
55.leetcode高频题目全讲(七)
56.leetcode高频题目全讲(八)
57.leetcode高频题目全讲(九)
58.leetcode高频题目全讲(十)
59.leetcode高频题目全讲(十一)
60.leetcode高频题目全讲(十二)
61.leetcode高频题目全讲(十三)
62.leetcode高频题目全讲(十四)
63.leetcode高频题目全讲(十五)
64.leetcode高频题目全讲(十六)
65.leetcode高频题目全讲(十七)
66.leetcode高频题目全讲(十八)
67.leetcode高频题目全讲(十九)
68.leetcode高频题目全讲(二十)
69.leetcode高频题目全讲(二十一)
70.leetcode高频题目全讲(二十二)
71.leetcode高频题目全讲(二十三)
72.leetcode高频题目全讲(二十四)
73.leetcode高频题目全讲(二十五)
74.leetcode高频题目全讲(二十六)
75.leetcode高频题目全讲(二十七)
76.leetcode高频题目全讲(二十八)
77.leetcode高频题目全讲(二十九)
78.leetcode高频题目全讲(三十)