这门课想解决什么实际问题

大数据开发这条线,最劝退新人的不是某个框架难,而是技术栈之间怎么串起来。Hadoop、Spark、Flink、Kafka 单独看都能找到教程,但到了真实工作里,一个离线数仓任务可能要同时碰 HDFS 存储策略、MapReduce 或 Spark 的 Shuffle 调优、Kafka 的数据接入,还要考虑任务的调度依赖。很多人学完单个组件,进了项目还是不知道从哪下手。

这套课的内容组织方式,大致是围绕「一个数据从接入到产出」的完整链路来展开的,而不是按组件逐个孤立地讲。对于已经会写点 Java 或 Python、但对大数据体系没有整体概念的开发者,这种组织方式比零散拼教程更省时间。

学完能达到什么程度

课程给出的目标里,比较实在的是这几条:能理解 HDFS 的 NameNode 与 SecondaryNameNode 的工作机制、清楚数据冗余和机架感知是怎么回事,碰到集群存储层面的问题知道往哪个方向排查;能自己写 MapReduce 程序处理复杂 Join,理解 Shuffle 过程并做基本调优;能用 Spark Core 的 RDD 编程模型处理数据,而不是只会照着示例改参数。

再往上,是数仓设计和分布式计算架构的部分。这部分决定你能不能从「执行任务的人」变成「设计任务的人」。如果你现在的目标是能独立负责一块数仓建模或流批处理链路,这部分是重点。

需要说清楚的是,课程宣传里提到的「PB 级数据处理能力」「直通大厂」,属于结果性表述,实际能不能达到,取决于你投入的练习量和原有基础。这类体系课的价值在于把路径铺平,不等于学完就有对应年限的经验。

资料适合什么基础的人

  • 适合:有编程基础(Java 或 Scala 最好,Python 也可以起步),了解基本的 Linux 操作和数据库概念,想转大数据方向或补齐体系的人。
  • 适合:工作一到三年、已经在做数据相关开发,但技术栈不成体系、想往架构方向走的开发者。
  • 不太适合:完全没有编程经验的人。课程从 0 基础讲起,但「0 基础」指的是大数据 0 基础,不是编程 0 基础。
  • 不太适合:只想快速学会某一个组件应付当前任务的人。体系课的信息密度和周期,对这类需求来说偏重。

怎么用这套资料效率更高

建议按「存储层 → 计算层 → 消息与流处理 → 数仓与架构」的顺序走,不要跳着看。Hadoop 部分虽然看起来老,但 HDFS 和 MapReduce 里的很多概念(分片、Shuffle、容错)在 Spark 和 Flink 里都会以新的形式出现,跳过去后面容易卡壳。

每学完一个组件,尽量在本地或云上搭一个最小可跑的环境,哪怕只是单机伪分布式。大数据的东西看会了和跑通了差别很大,很多坑只有动手才会遇到。

项目贯穿的部分建议单独留出时间做,不要当作演示看完就过。真正能在面试和工作中讲清楚的,往往是你在项目里踩过的具体问题,而不是框架的通用介绍。

如果时间有限,优先保证 Hadoop 基础、Spark Core 编程和数仓设计这三块吃透,Flink 和 Kafka 可以按工作需要用到的程度来分配精力。

课程目录

第 1 部分1971 条
  • 01 入学必读
  • 01 大数据架构师课程学前指导
  • 01 大数据架构师课程学前指导
  • 01 大数据架构师课程学前指导 01 01-大数据是什么解决了什么问题 02 02-大数据发展前景及相关岗位 03 03-大数据薪资待遇与学习人群 04 04-大数据课程内容及怎么学
  • 02 大数据架构Java生态技术体系
  • 01 提问的智慧
  • 01 提问的智慧
  • 01 沟通技巧和程序调试入门
  • 01 沟通技巧入门_概念引入
  • 02 沟通技巧入门_使用专业术语
  • 03 沟通技巧入门_问题描述准确具体
  • 04 沟通技巧入门_提供分析材料
  • 05 程序调试入门_学习查看日志
  • 06 程序调试入门_博客和工具网站介绍
  • 07 程序调试入门_DEBUG模式的使用
  • 08 线上教育平台问答系统介绍
  • 02 JavaSE初阶
  • 01 JavaSE初阶新版
  • 01 初识Java
  • 01 计算机语言的发展历史
  • 02 Java语言的发展简史
  • 03 Java能做什么&Java体系结构
  • 04 Java的核心机制介绍-垃圾收集机制
  • 05 Java的核心机制介绍-跨平台原理
  • 06 本章回顾
  • 02 入门探素
  • 01 常用DOS命令
  • 02 JDK的下载和安装
  • 03 第一个Java程序
  • 04 程序中常见问题
  • 05 代码量统计工具的便用
  • 06 APl
  • 07 注释-单行注释&多行注释
  • 08 注释-支档注释
  • 09 反编译工具的使用
  • 10 第二个Java程序
  • 11 本章回顾
  • 03 开发工具
  • 01 IDEA的介绍
  • 02 IDEA的下载和安装
  • 03 HelloWorld的编写
  • 04 IDEA窗口各导航展示
  • 05 Module的概念和使用
  • 06 IDEA的常用设置
  • 07 IDEA的常用快捷键
  • 08 本章回顾
  • 04 基础概念
  • 01 标识符&关键字
  • 02 变量和常量-常量
  • 03 变量和常量-变量(声明&赋值)
  • 04 变量和常量-变量(使用&内存)
  • 05 变量和常量-变量(作用域)
  • 06 本章回顾
  • 05 数据类型之基本数据类型
  • 01 数据类型
  • 02 整数类型-整数类型常量
  • 03 整数类型-整数类型变量
  • 04 浮点类型
  • 05 字符类型-编码和字符集
  • 06 字符类型-字符类型讲解(转义字符) 07 字符类型-字符类型讲解(底层基于Unicode码)
  • 08 布尔类型
  • 09 基本数据美型的转换
  • 10 获取用户终端输入
  • 11 Scanner其它方法的使用
  • 12 本章回顾
  • 06 运算符
  • 01 Java中的运算符概述
  • 02 算术运算符-除法、求余运算符的使便用
  • 03 算术运算符-加号运算符的使用
  • 04 算术运算符-自增运算符的便用
  • 05 赋值运算符
  • 06 扩展赋值运算符
  • 07 关系运算符
  • 08 逻辑运算符
  • 09 条件运算符
  • 10 位运算符
  • 11 运算符的优先级别
  • 12 本章回顾
  • 07 流程控制
  • 01 流程控制的介绍
  • 02 分支结构-if 分支(if 单分支结构)
  • 03 分支结构-if分支(if双分支结构)
  • 04 分支结构-if分支(if多分支结构) 05 分支结构-if分支(分支的嵌套便用-购物积分折扣问题) 06 分支结构-if分支(分支的嵌套使用-小朋友搬桌子问题)
  • 07 switch分支
  • 08 Debug调试
  • 09 while 循环
  • 10 do-while循环
  • 11 for循环
  • 12 while、for、do-while循环的区别
  • 13 循环控制关键字-break
  • 14 循环控制关键字-continue 15 循环的练习(计算1-99中奇数之和&输出1-100中被5整除的数)
  • 16 循环的练习(正常退出和被迫退出问题)
  • 17 循环的嵌套-引入
  • 18 循环的嵌套-双重循环
  • 19 循坏的嵌套-二重循坏
  • 20 本章回顾
  • 08 方法 01 什么是方法&方法的声明&方法的调用
  • 02 方法的声明、调用要点归纳
  • 03 方法的练习
  • 04 方法的参数传递
  • 05 方法的重载
  • 06 return关键字单独使用
  • 07 本章回顾
  • 09 数组
  • 01 数组的引入
  • 02 数组的定义&学习
  • 03 数组的内存分析
  • 04 数组的遍历
  • 05 数组的初始化方式
  • 06 数组的应用-最值问题(代码演示)
  • 07 数组的应用-最值问题(内存分析)
  • 08 数组的应用-查询问题
  • 09 数组的应用-添加元素
  • 10 数组的应用-删除元素
  • 11 详述main方法
  • 12 可变参数
  • 13 Arrays工具类
  • 14 数组的复制操作 15 二维数组-二维数组是什么&二维数组的声明和赋值 16 二维数组-二维数组的遍历&二维数组的初始化
  • 17 本章回顾
  • 10 综合案例双色球彩票系统)
  • 01 前言
  • 02 实操分析与实现-系统荣单编写
  • 03 实操分析与实现-购买彩票的实现
  • 04 实操分析与实现-开奖代码框架编写
  • 05 实操分析与实现-生成中奖号码细节编写
  • 06 实操分析与实现-对比号码细节编写
  • 07 本章回顾
  • 02 JavaSE初阶
  • 01 初识Java
  • 01 计算机语言的发展历史
  • 02 Java语言的发展简史
  • 03 Java能做什么&Java体系结构
  • 04 Java的核心机制介绍-垃圾收集机制
  • 05 Java的核心机制介绍-跨平台原理
  • 06 本章回顾
  • 02 入门探素
  • 01 常用DOS命令
  • 02 JDK的下载和安装
  • 03 第一个Java程序
  • 04 程序中常见问题
  • 05 代码量统计工具的便用
  • 06 APl
  • 07 注释-单行注释&多行注释
  • 08 注释-支档注释
  • 09 反编译工具的使用
  • 10 第二个Java程序
  • 11 本章回顾
  • 03 开发工具
  • 01 IDEA的介绍
  • 02 IDEA的下载和安装
  • 03 HelloWorld的编写
  • 04 IDEA窗口各导航展示
  • 05 Module的概念和使用
  • 06 IDEA的常用设置
  • 07 IDEA的常用快捷键
  • 08 本章回顾
  • 04 基础概念
  • 01 标识符&关键字
  • 02 变量和常量-常量
  • 03 变量和常量-变量(声明&赋值)
  • 04 变量和常量-变量(使用&内存)
  • 05 变量和常量-变量(作用域)
  • 06 本章回顾
  • 05 数据类型之基本数据类型
  • 01 数据类型
  • 02 整数类型-整数类型常量
  • 03 整数类型-整数类型变量
  • 04 浮点类型
  • 05 字符类型-编码和字符集
  • 06 字符类型-字符类型讲解(转义字符) 07 字符类型-字符类型讲解(底层基于Unicode码)
  • 08 布尔类型
  • 09 基本数据美型的转换
  • 10 获取用户终端输入
  • 11 Scanner其它方法的使用
  • 12 本章回顾
  • 06 运算符
  • 01 Java中的运算符概述
  • 02 算术运算符-除法、求余运算符的使便用
  • 03 算术运算符-加号运算符的使用
  • 04 算术运算符-自增运算符的便用
  • 05 赋值运算符
  • 06 扩展赋值运算符
  • 07 关系运算符
  • 08 逻辑运算符
  • 09 条件运算符
  • 10 位运算符
  • 11 运算符的优先级别
  • 12 本章回顾
  • 07 流程控制
  • 01 流程控制的介绍
  • 02 分支结构-if 分支(if 单分支结构)
  • 03 分支结构-if分支(if双分支结构)
  • 04 分支结构-if分支(if多分支结构) 05 分支结构-if分支(分支的嵌套便用-购物积分折扣问题) 06 分支结构-if分支(分支的嵌套使用-小朋友搬桌子问题)
  • 07 switch分支
  • 08 Debug调试
  • 09 while 循环
  • 10 do-while循环
  • 11 for循环
  • 12 while、for、do-while循环的区别
  • 13 循环控制关键字-break
  • 14 循环控制关键字-continue 15 循环的练习(计算1-99中奇数之和&输出1-100中被5整除的数)
  • 16 循环的练习(正常退出和被迫退出问题)
  • 17 循环的嵌套-引入
  • 18 循环的嵌套-双重循环
  • 19 循坏的嵌套-二重循坏
  • 20 本章回顾
  • 08 方法 01 什么是方法&方法的声明&方法的调用
  • 02 方法的声明、调用要点归纳
  • 03 方法的练习
  • 04 方法的参数传递
  • 05 方法的重载
  • 06 return关键字单独使用
  • 07 本章回顾
  • 09 数组
  • 01 数组的引入
  • 02 数组的定义&学习
  • 03 数组的内存分析
  • 04 数组的遍历
  • 05 数组的初始化方式
  • 06 数组的应用-最值问题(代码演示)
  • 07 数组的应用-最值问题(内存分析)
  • 08 数组的应用-查询问题
  • 09 数组的应用-添加元素
  • 10 数组的应用-删除元素
  • 11 详述main方法
  • 12 可变参数
  • 13 Arrays工具类
  • 14 数组的复制操作 15 二维数组-二维数组是什么&二维数组的声明和赋值 16 二维数组-二维数组的遍历&二维数组的初始化
  • 17 本章回顾
  • 10 综合案例双色球彩票系统)
  • 01 前言
  • 02 实操分析与实现-系统荣单编写
  • 03 实操分析与实现-购买彩票的实现
  • 04 实操分析与实现-开奖代码框架编写
  • 05 实操分析与实现-生成中奖号码细节编写
  • 06 实操分析与实现-对比号码细节编写
  • 07 本章回顾
  • 03 IDE集成开发工具-IDEA
  • 01 IDE集成开发工具-IDEA
  • 01 IDE的概念
  • 01 IDE的概念
  • 02 JetBrains公司介绍
  • 01 JetBrains公司介绍
  • 03 IntelliJ IDEA介绍
  • 01 IntelliJ IDEA介绍
  • 04 IDEA的下载_安装前的准备工作
  • 01 IDEA的下载_安装前的准备工作
  • 05 IDEA的卸载
  • 01 IDEA的卸载
  • 06 IDEA的安装
  • 01 IDEA的安装
  • 07 IDEA页面展示
  • 01 IDEA页面展示
  • 08 Module的概念和使用
  • 01 Module的概念和使用 09 IDEA的常用设置1 01 IDEA的常用设置1 10 IDEA的常用设置2 01 IDEA的常用设置2 11 IDEA的常用设置3 01 IDEA的常用设置3 12 IDEA的常用快捷键1 01 IDEA的常用快捷键1 13 IDEA的常用快捷键2 01 IDEA的常用快捷键2
  • 14 代码模板是什么
  • 01 代码模板是什么
  • 15 常用代码模板
  • 01 常用代码模板
  • 16 修改代码模板
  • 01 修改代码模板
  • 17 创建代码模板
  • 01 创建代码模板
  • 18 断点调试_常用断点调试快捷键
  • 01 断点调试_常用断点调试快捷键
  • 19 断点调试_条件判断
  • 01 断点调试_条件判断
  • 20 断点调试_查看表达式值
  • 01 断点调试_查看表达式值
  • 21 创建JavaWeb项目
  • 01 创建JavaWeb项目
  • 22 在IDEA中添加Tomcat的镜像
  • 01 在IDEA中添加Tomcat的镜像
  • 04 JavaSE中阶
  • 01 JavaSE中阶
  • 01 面向对象
  • 01 面向对象_面向过程和面向对象的区别
  • 02 面向对象_类和对象的关系
  • 03 面向对象_面向对象三个阶段
  • 04 面向对象_创建类
  • 05 面向对象_创建对象
  • 06 面向对象_局部变量和成员变量的区别
  • 07 面向对象_构造器
  • 08 面向对象_构造器的重载 09 面向对象_内存分析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类的toString方法 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 面向对象_内部类_局部内部类
  • 02 异常
  • 01 异常_异常的案例引入
  • 02 异常_用if-else处理异常
  • 03 异常_try-catch捕获异常
  • 04 异常_catch中处理异常的方式
  • 05 异常_finally
  • 06 异常_多重catch
  • 07 异常_异常的分类,层次结构
  • 08 异常_throw和throws的区别
  • 09 异常_异常练习
  • 10 重载和重写异常的区别
  • 11 自定义异常
  • 03 常用类
  • 01 包装类的引入
  • 02 包装类常用属性-构造器
  • 03 包装类-自动装箱
  • 04 常用工具类 包装类
  • 05 日期相关_java.util.Date
  • 06 日期相关_java.sql.Date
  • 07 日期相关_SimpleDateFormat
  • 08 日期相关_Calendar
  • 09 日期相关_Calendar练习需求
  • 10 日期相关_Calendar练习完成 11 日期相关_JDK1.8新增日期时间API的原因 12 日期相关_JDK1.8新增LocalDate,LocalTime,LocalDateTime
  • 13 日期相关_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和StringBuffer常用方法简述 26 String,StringBuilder,StringBuffer区别
  • 04 集合
  • 01 什么是算法什么是数据结构
  • 02 紧密结构,跳转结构
  • 03 集合的引入
  • 04 简要集合结构图
  • 05 集合的应用场合
  • 06 Collection接口的常用方法
  • 07 Collection接口的遍历方式
  • 08 List接口 09 ArrayList实现类JDK1.7源码 10 ArrayList实现类JDK1.8源码
  • 11 Vector实现类源码
  • 12 泛型的引入
  • 13 自定义泛型结构_泛型类_泛型接口
  • 14 自定义泛型结构_泛型类_泛型接口细节
  • 15 自定义泛型结构_泛型方法
  • 16 自定义泛型结构_泛型参数存在继承关系的情况
  • 17 自定义泛型结构_通配符
  • 18 自定义泛型结构_通配符使用的细节
  • 19 自定义泛型结构_泛型受限
  • 20 LinkedList实现类的使用
  • 21 LinkedList简要底层原理图
  • 22 模拟LinkedList源码 23 LinkedList源码解析(JDK1.8) 24 面试题:iterator(),Iterator,Iterable关系 25 迭代器中hasNext(),next()的具体实现
  • 26 ListIterator迭代器
  • 27 Set接口介绍
  • 28 HashSet的特点
  • 29 HashSet的简要原理
  • 30 HashSet原理留下的疑问
  • 31 LinkedHashSet的使用
  • 32 比较器的使用
  • 33 TreeSet的使用及原理 34 Map接口中常用方法1 35 Map接口中常用方法2 36 Hashtable,LinkedHashMap的使用
  • 37 TreeMap的使用
  • 38 HashMap的原理简单介绍
  • 39 HashMap中重要属性
  • 40 HashMap的构造器
  • 41 HashMap的put方法
  • 42 HashMap底层数组的扩容
  • 43 HashMap的两个经典面试题
  • 44 HashSet底层原理
  • 45 TreeMap底层源码
  • 46 TreeSet底层源码
  • 47 Collections工具类
  • 05 IO流
  • 01 File类的引入
  • 02 File对文件的操作
  • 03 File对目录的操作
  • 04 IO流的引入 05 FileReader读取文件内容(1) 06 FileReader读取文件内容(2)
  • 07 FileWriter写出数据操作 08 FileReader,FileWriter完成文件复制
  • 09 警告-不要用字符流去操作非文本文件 10 利用try-catch-finally处理异常方式
  • 11 FileInputStream读取文件中内容 12 FileInputStream,FileOutputStream完成非文本文件的复制 13 缓冲字节流(处理流)-BufferedInputStream ,BufferedOutputStream
  • 14 比对非文本文件复制的三种方法的效率 15 缓冲字符流(处理流)-BufferedReader,BufferedWriter完成文本文件的复制 16 转换流-InputStreamReader,OutputStreamWriter 17 转换流-InputStreamReader,OutputStreamWriter实现文本文件的复制
  • 18 System类对IO流的支持
  • 19 练习:键盘录入内容输出到文件中 20 数据流-DataInputStream,DataOutputStream
  • 21 对象流_序列化和反序列化
  • 22 实现Serializable接口
  • 23 serialVersionUID
  • 24 IDEA中配置序列化版本号
  • 25 序列化细节
  • 06 多线程
  • 01 程序,进程,线程
  • 02 单核CPU与多核CPU的任务执行
  • 03 并行和并发
  • 04 创建线程的第一种方式
  • 05 设置读取线程名字
  • 06 习题_买火车票
  • 07 创建线程的第二种方式
  • 08 习题_买火车票
  • 09 创建线程的第三种方式
  • 10 线程的生命周期
  • 11 线程常见方法_设置优先级别
  • 12 线程常见方法_join
  • 13 线程常见方法_sleep
  • 14 线程常见方法_setDaemon
  • 15 线程常见方法_stop() 16 线程的同步_同步代码块(1) 17 线程的同步_同步代码块(2)
  • 18 线程的同步_同步方法
  • 19 线程的同步_Lock锁
  • 20 线程的同步的缺点
  • 21 线程通信的引入 22 生产者消费者分解1 23 生产者消费者分解2 24 生产者消费者分解3
  • 25 Loc锁情况下的线程通信
  • 07 网络编程
  • 01 网络编程的引入 02 InetAddress,InetSocketAddress
  • 03 网络通信原理_套接字的引入
  • 04 TCP通信_单向通信
  • 05 TCP通信_双向通信
  • 06 TCP通信_对象流传送
  • 07 TCP通信_加入完整的处理异常方式
  • 08 TCP通信_多线程接收用户请求
  • 09 UDP通信_单向通信
  • 10 UDP通信_双向通信
  • 11 UDP通信_加入完整的异常处理方式
  • 12 UDP通信_完整正常通信
  • 02 javaSE中阶新版
  • 01 面向对象
  • 01 面向对象_面向过程和面向对象的区别
  • 02 面向对象_类和对象的关系
  • 03 面向对象_面向对象三个阶段
  • 04 面向对象_创建类
  • 05 面向对象_创建对象
  • 06 面向对象_局部变量和成员变量的区别
  • 07 面向对象_构造器
  • 08 面向对象_构造器的重载 09 面向对象_内存分析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类的toString方法 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 面向对象_内部类_局部内部类
  • 02 异常
  • 01 异常_异常的案例引入
  • 02 异常_用if-else处理异常
  • 03 异常_try-catch捕获异常
  • 04 异常_catch中处理异常的方式
  • 05 异常_finally
  • 06 异常_多重catch
  • 07 异常_异常的分类,层次结构
  • 08 异常_throw和throws的区别
  • 09 异常_异常练习
  • 10 重载和重写异常的区别
  • 11 自定义异常
  • 03 常用类
  • 01 包装类的引入
  • 02 包装类常用属性-构造器
  • 03 包装类-自动装箱
  • 04 常用工具类 包装类
  • 05 日期相关_java.util.Date
  • 06 日期相关_java.sql.Date
  • 07 日期相关_SimpleDateFormat
  • 08 日期相关_Calendar
  • 09 日期相关_Calendar练习需求
  • 10 日期相关_Calendar练习完成 11 日期相关_JDK1.8新增日期时间API的原因 12 日期相关_JDK1.8新增LocalDate,LocalTime,LocalDateTime
  • 13 日期相关_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和StringBuffer常用方法简述 26 String,StringBuilder,StringBuffer区别
  • 04 集合
  • 01 什么是算法什么是数据结构
  • 02 紧密结构,跳转结构
  • 03 集合的引入
  • 04 简要集合结构图
  • 05 集合的应用场合
  • 06 Collection接口的常用方法
  • 07 Collection接口的遍历方式
  • 08 List接口 09 ArrayList实现类JDK1.7源码 10 ArrayList实现类JDK1.8源码
  • 11 Vector实现类源码
  • 12 泛型的引入
  • 13 自定义泛型结构_泛型类_泛型接口
  • 14 自定义泛型结构_泛型类_泛型接口细节
  • 15 自定义泛型结构_泛型方法
  • 16 自定义泛型结构_泛型参数存在继承关系的情况
  • 17 自定义泛型结构_通配符
  • 18 自定义泛型结构_通配符使用的细节
  • 19 自定义泛型结构_泛型受限
  • 20 LinkedList实现类的使用
  • 21 LinkedList简要底层原理图
  • 22 模拟LinkedList源码 23 LinkedList源码解析(JDK1.8) 24 面试题:iterator(),Iterator,Iterable关系 25 迭代器中hasNext(),next()的具体实现
  • 26 ListIterator迭代器
  • 27 Set接口介绍
  • 28 HashSet的特点
  • 29 HashSet的简要原理
  • 30 HashSet原理留下的疑问
  • 31 LinkedHashSet的使用
  • 32 比较器的使用
  • 33 TreeSet的使用及原理 34 Map接口中常用方法1 35 Map接口中常用方法2 36 Hashtable,LinkedHashMap的使用
  • 37 TreeMap的使用
  • 38 HashMap的原理简单介绍
  • 39 HashMap中重要属性
  • 40 HashMap的构造器
  • 41 HashMap的put方法
  • 42 HashMap底层数组的扩容
  • 43 HashMap的两个经典面试题
  • 44 HashSet底层原理
  • 45 TreeMap底层源码
  • 46 TreeSet底层源码
  • 47 Collections工具类
  • 05 IO流
  • 01 File类的引入
  • 02 File对文件的操作
  • 03 File对目录的操作
  • 04 IO流的引入 05 FileReader读取文件内容(1) 06 FileReader读取文件内容(2)
  • 07 FileWriter写出数据操作 08 FileReader,FileWriter完成文件复制
  • 09 警告-不要用字符流去操作非文本文件 10 利用try-catch-finally处理异常方式
  • 11 FileInputStream读取文件中内容 12 FileInputStream,FileOutputStream完成非文本文件的复制 13 缓冲字节流(处理流)-BufferedInputStream ,BufferedOutputStream
  • 14 比对非文本文件复制的三种方法的效率 15 缓冲字符流(处理流)-BufferedReader,BufferedWriter完成文本文件的复制 16 转换流-InputStreamReader,OutputStreamWriter 17 转换流-InputStreamReader,OutputStreamWriter实现文本文件的复制
  • 18 System类对IO流的支持
  • 19 练习:键盘录入内容输出到文件中 20 数据流-DataInputStream,DataOutputStream
  • 21 对象流_序列化和反序列化
  • 22 实现Serializable接口
  • 23 serialVersionUID
  • 24 IDEA中配置序列化版本号
  • 25 序列化细节
  • 06 多线程
  • 01 程序,进程,线程
  • 02 单核CPU与多核CPU的任务执行
  • 03 并行和并发
  • 04 创建线程的第一种方式
  • 05 设置读取线程名字
  • 06 习题_买火车票
  • 07 创建线程的第二种方式
  • 08 习题_买火车票
  • 09 创建线程的第三种方式
  • 10 线程的生命周期
  • 11 线程常见方法_设置优先级别
  • 12 线程常见方法_join
  • 13 线程常见方法_sleep
  • 14 线程常见方法_setDaemon
  • 15 线程常见方法_stop() 16 线程的同步_同步代码块(1) 17 线程的同步_同步代码块(2)
  • 18 线程的同步_同步方法
  • 19 线程的同步_Lock锁
  • 20 线程的同步的缺点
  • 21 线程通信的引入 22 生产者消费者分解1 23 生产者消费者分解2 24 生产者消费者分解3
  • 25 Loc锁情况下的线程通信
  • 07 网络编程
  • 01 网络编程的引入 02 InetAddress,InetSocketAddress
  • 03 网络通信原理_套接字的引入
  • 04 TCP通信_单向通信
  • 05 TCP通信_双向通信
  • 06 TCP通信_对象流传送
  • 07 TCP通信_加入完整的处理异常方式
  • 08 TCP通信_多线程接收用户请求
  • 09 UDP通信_单向通信
  • 10 UDP通信_双向通信
  • 11 UDP通信_加入完整的异常处理方式
  • 12 UDP通信_完整正常通信
  • 05 JavaSE进阶实战
  • 01 JavaSE进阶实战
  • 01 Junit 注解 枚举
  • 01 Junit单元测试引入
  • 02 没有Junit的情况下如何测试
  • 03 Junit的使用
  • 04 Junit@Before@After
  • 05 注解的引入
  • 06 注解实例Junit注解
  • 07 注解实例文档注解 08 注解实例JDK内置的3个注解
  • 09 注解实例替代配置文件的注解
  • 10 自定义注解
  • 11 元注解的概念解释
  • 12 元注解Retention
  • 13 元注解Retention补充
  • 14 元注解Target
  • 15 元注解Documented
  • 16 元注解Inherited
  • 17 枚举的引入自定义枚举类 18 JDK1.5后使用enum关键字定义枚举类
  • 19 enum定义枚举类补充
  • 20 Enum类的常用方法
  • 21 枚举类实现接口
  • 22 枚举的应用
  • 02 反射
  • 01 反射的引入
  • 02 反射概念 03 Class类14
  • 04 提供丰富的类
  • 05 获取字节码信息的四种方式
  • 06 可以作为Class类的实例的种类
  • 07 补充上面的丰富的类中的内容
  • 08 获取构造器和创建对象
  • 09 获取属性和对属性进行赋值
  • 10 获取方法和调用方法
  • 11 获取类的接口,所在包,注解
  • 12 关于反射的面试题
  • 03 jdk新特性章节
  • 01 JAVA新特性_课程介绍
  • 02 JAVA新特性_环境准备 03 JAVA新特性_JAVA9概述 04 JAVA新特性_JAVA9钻石操作符 05 JAVA新特性_JAVA9try语句升级 06 JAVA新特性_JAVA9下划线标识符限制 07 JAVA新特性_JAVA9接口私有方法 08 JAVA新特性_JAVA9String底层存储结构 09 JAVA新特性_JAVA9Stream新增API 10 JAVA新特性_JAVA9InputStream新增API 11 JAVA新特性_JAVA9新增创建只读集合of方法 12 JAVA新特性_JAVA9模块化了解 13 JAVA新特性_JAVA9可交互REPL工具jshell 14 JAVA新特性_JAVA10概述 15 JAVA新特性_JAVA10局部变量类型推断 16 JAVA新特性_JAVA10只读集合新增copyOf方法 17 JAVA新特性_JAVA11概述 18 JAVA新特性_JAVA11局部变量类型推断升级 19 JAVA新特性_JAVA11String新增API 20 JAVA新特性_JAVA11OptionalAPI总结 21 JAVA新特性_JAVA11HttpClient 22 JAVA新特性_JAVA11简化编译运行 23 JAVA新特性_JAVA11其他新特性提示 24 JAVA新特性_JAVA12简要概述 25 JAVA新特性_JAVA12Switch表达式预览 26 JAVA新特性_JAVA12数字压缩格式化 27 JAVA新特性_JAVA12String新增transform方法 28 JAVA新特性_JAVA12String新增indent 29 JAVA新特性_JAVA12Files新增mismatch方法 30 JAVA新特性_JAVA12关于GC 31 JAVA新特性_JAVA12其他内容(了解,可自行阅读文档) 32 JAVA新特性_JAVA13极简概述 33 JAVA新特性_JAVA13文本块预览 34 JAVA新特性_JAVA13文本块语法细节 35 JAVA新特性_JAVA13文本块拼接相关细节 36 JAVA新特性_JAVA13重新实现旧版套接字 37 JAVA新特性_JAVA13其他新特性提要 38 JAVA新特性_JAVA14新特性概述 39 JAVA新特性_JAVA14instanceof模式匹配(预览) 40 JAVA新特性_JAVA14Switch表达式(标准) 41 JAVA新特性_JAVA14文本块二次预览 42 JAVA新特性_JAVA14Records记录类型 43 JAVA新特性_JAVA14Records的使用限制(problem) 44 JAVA新特性_JAVA14关于GC的提要 45 JAVA新特性_JAVA14空指针友好提示 46 JAVA新特性_JAVA14其他新特性 47 JAVA新特性_JAVA15简单概述 48 JAVA新特性_JAVA15密封类 49 JAVA新特性_JAVA15隐藏类 50 JAVA新特性_JAVA15instanceof_Records_文本块 51 JAVA新特性_JAVA15ZGC和Shenandoah转正 52 JAVA新特性_JAVA15其他新特性 53 JAVA新特性_JAVA16概述 54 JAVA新特性_JAVA16密封类(二次预览) 55 JAVA新特性_JAVA16模式匹配(标准) 56 JAVA新特性_JAVA16记录(标准) 57 JAVA新特性_JAVA16基于值的类构造警告 58 JAVA新特性_JAVA16其他新特性(可忽略) 59 JAVA新特性_JAVA17简要概述 60 JAVA新特性_JAVA17密封类(标准) 61 JAVA新特性_JAVA17switch模式匹配 62 JAVA新特性_JAVA17其他新特性(了解)
  • 06 项目阶段:初级项目
  • 01 项目阶段:初级项目
  • 01 小鲨鱼记账系统_引入
  • 01 小鲨鱼记账系统_引入
  • 02 小鲨鱼记账系统_项目最终效果演示
  • 01 小鲨鱼记账系统_项目最终效果演示
  • 03 小鲨鱼记账系统_整体结构完成
  • 01 小鲨鱼记账系统_整体结构完成
  • 04 小鲨鱼记账系统_登记收入
  • 01 小鲨鱼记账系统_登记收入
  • 05 小鲨鱼记账系统_登记支出
  • 01 小鲨鱼记账系统_登记支出
  • 06 小鲨鱼记账系统_收支明细错误细节
  • 01 小鲨鱼记账系统_收支明细错误细节
  • 07 小鲨鱼记账系统_退出功能
  • 01 小鲨鱼记账系统_退出功能
  • 08 双色球彩票_需求介绍
  • 01 双色球彩票_需求介绍
  • 09 双色球彩票_涉及技能点
  • 01 双色球彩票_涉及技能点
  • 10 双色球彩票_项目演示
  • 01 双色球彩票_项目演示
  • 11 双色球彩票_菜单展示
  • 01 双色球彩票_菜单展示
  • 12 双色球彩票_购买彩票
  • 01 双色球彩票_购买彩票
  • 13 双色球彩票_开奖整体结构完善
  • 01 双色球彩票_开奖整体结构完善
  • 14 双色球彩票_生成中奖单号细节
  • 01 双色球彩票_生成中奖单号细节
  • 15 双色球彩票_对比号码细节和完善
  • 01 双色球彩票_对比号码细节和完善
  • 16 比萨商店点餐系统_项目需求
  • 01 比萨商店点餐系统_项目需求
  • 17 比萨商店点餐系统_项目结构分析
  • 01 比萨商店点餐系统_项目结构分析
  • 18 比萨商店点餐系统_父类子类创建
  • 01 比萨商店点餐系统_父类子类创建
  • 19 比萨商店点餐系统_测试类逻辑
  • 01 比萨商店点餐系统_测试类逻辑
  • 20 比萨商店点餐系统_工厂类的提取
  • 01 比萨商店点餐系统_工厂类的提取
  • 21 贪吃蛇小游戏_引入
  • 01 贪吃蛇小游戏_引入
  • 22 贪吃蛇小游戏_小蛇行动原理图
  • 01 贪吃蛇小游戏_小蛇行动原理图
  • 23 贪吃蛇小游戏_将图片加载到程序中来
  • 01 贪吃蛇小游戏_将图片加载到程序中来
  • 24 贪吃蛇小游戏_创建窗体
  • 01 贪吃蛇小游戏_创建窗体
  • 25 贪吃蛇小游戏_创建面板
  • 01 贪吃蛇小游戏_创建面板
  • 26 贪吃蛇小游戏_画静态的小蛇
  • 01 贪吃蛇小游戏_画静态的小蛇
  • 27 贪吃蛇小游戏_将蛇头按照行走方向改变
  • 01 贪吃蛇小游戏_将蛇头按照行走方向改变
  • 28 贪吃蛇小游戏_加入监听,空格来控制游戏是否开始
  • 01 贪吃蛇小游戏_加入监听,空格来控制游戏是否开始
  • 29 贪吃蛇小游戏_小蛇向右动起来
  • 01 贪吃蛇小游戏_小蛇向右动起来
  • 30 贪吃蛇小游戏_小蛇上下左右动起来
  • 01 贪吃蛇小游戏_小蛇上下左右动起来
  • 31 贪吃蛇小游戏_画食物吃食物
  • 01 贪吃蛇小游戏_画食物吃食物
  • 32 贪吃蛇小游戏_画积分
  • 01 贪吃蛇小游戏_画积分
  • 33 贪吃蛇小游戏_死亡判定
  • 01 贪吃蛇小游戏_死亡判定
  • 34 贪吃蛇小游戏_游戏打包
  • 01 贪吃蛇小游戏_游戏打包
  • 07 MySQL基础课程
  • 01 MySQL基础课程
  • 01 数据库基本概念
  • 01 数据库基本概念
  • 02 数据库类型和常见的关系型数据库
  • 01 数据库类型和常见的关系型数据库
  • 03 MySQL介绍
  • 01 MySQL介绍
  • 04 MySQL的安装
  • 01 MySQL的安装
  • 05 查看MySQL的安装结果
  • 01 查看MySQL的安装结果
  • 06 MySQL登录,访问,退出操作
  • 01 MySQL登录,访问,退出操作
  • 07 数据库的卸载
  • 01 数据库的卸载 08 使用图形客户端navicat12连接MySQL 01 使用图形客户端navicat12连接MySQL
  • 09 SQL语言入门
  • 01 SQL语言入门
  • 10 创建数据库表
  • 01 创建数据库表
  • 11 数据库表列类型
  • 01 数据库表列类型
  • 12 添加数据
  • 01 添加数据
  • 13 修改,删除数据
  • 01 修改,删除数据
  • 14 修改,删除数据库表
  • 01 修改,删除数据库表
  • 15 非外键约束 01 非外键约束(1) 02 非外键约束(2) 03 非外键约束(3)
  • 16 外键约束
  • 01 外键约束
  • 17 外键策略
  • 01 外键策略
  • 18 DDL和DML的补充
  • 01 DDL和DML的补充
  • 19 DQL##表的准备
  • 01 DQL##表的准备
  • 20 最简单的SQL语句
  • 01 最简单的SQL语句
  • 21 where子句
  • 01 where子句
  • 22 函数的分类
  • 01 函数的分类
  • 23 单行函数 01 单行函数(1) 02 单行函数(2)
  • 24 多行函数
  • 01 多行函数
  • 25 分组group by
  • 01 分组group by
  • 26 having分组后筛选
  • 01 having分组后筛选
  • 27 单表查询总结
  • 01 单表查询总结
  • 28 多表查询语法 01 多表查询语法(1) 02 多表查询语法(2) 03 多表查询语法(3) 04 多表查询语法(4) 29 多表查询2语法 01 多表查询2语法
  • 30 单行子查询
  • 01 单行子查询
  • 31 多行子查询
  • 01 多行子查询
  • 32 相关子查询
  • 01 相关子查询
  • 33 事务及其特征
  • 01 事务及其特征
  • 34 事务并发问题
  • 01 事务并发问题
  • 35 事务隔离级别
  • 01 事务隔离级别
  • 36 视图
  • 01 视图
  • 37 存储过程
  • 01 存储过程
  • 08 Java连接数据库技术-JDBC
  • 01 Java连接数据库技术-JDBC
  • 01 JDBC概念引入
  • 01 JDBC概念引入
  • 02 导入和移除jar文件依赖
  • 01 导入和移除jar文件依赖 03 JDBC初次使用1 01 JDBC初次使用1 04 JDBC初次使用2 01 JDBC初次使用2
  • 05 常见异常分析
  • 01 常见异常分析
  • 06 关于驱动加载方式
  • 01 关于驱动加载方式
  • 07 添加异常捕获处理
  • 01 添加异常捕获处理
  • 08 删除和修改功能
  • 01 删除和修改功能
  • 09 查询操作
  • 01 查询操作
  • 10 实体类封装结果集
  • 01 实体类封装结果集
  • 11 注入攻击演示
  • 01 注入攻击演示
  • 12 防止注入攻击
  • 01 防止注入攻击
  • 13 关于预编译
  • 01 关于预编译 14 PreparedStatement实现CURD批处理 01 PreparedStatement实现CURD批处理
  • 15 批处理
  • 01 批处理
  • 16 JDBC控制事务
  • 01 JDBC控制事务
  • 17 设置回滚点
  • 01 设置回滚点
  • 18 DAO模式引入
  • 01 DAO模式引入
  • 19 DAO模式开发代码
  • 01 DAO模式开发代码
  • 20 员工管理系统A
  • 01 员工管理系统A
  • 21 员工管理系统B
  • 01 员工管理系统B
  • 22 员工管理系统C
  • 01 员工管理系统C 23 封装BaseDao1 01 封装BaseDao1 24 封装BaseDao2 01 封装BaseDao2
  • 25 连接池原理分析
  • 01 连接池原理分析
  • 26 连接池代码实现
  • 01 连接池代码实现
  • 27 配置文件优化连接池
  • 01 配置文件优化连接池 28 log4j简介 01 log4j简介 29 log4j快速上手 01 log4j快速上手 30 log4j输出格式(了解) 01 log4j输出格式(了解)
  • 31 第一范式
  • 01 第一范式
  • 32 第二范式
  • 01 第二范式
  • 33 第三范式
  • 01 第三范式
  • 34 特殊案例分析
  • 01 特殊案例分析
  • 35 一对一_一对多_多对多
  • 01 一对一_一对多_多对多
  • 09 前端技术之HTML
  • 01 前端技术之HTML新版
  • 01 HTML入门 01 01-网络传输的三大基石 02 02-什么是HTML&HTML的标准结构 03 03-VSCode 04 04-HTML快速入门 05 05-本章回顾
  • 02 HTML的常用标签
  • 01 HTML标准结构
  • 02 head中标签 03 body中标签-文本标签01----10秒到33秒需要加入横线 04 body中标签-文本标签02
  • 05 body中标签-多媒体标签
  • 06 body中标签-超链接标签
  • 07 body中标签-铺点
  • 08 body中标签-列表标签
  • 09 body中标签-表格标签
  • 10 本章回顾
  • 03 form表单 01 form表单-get方式请求&post方式请求
  • 02 form表单-get方式与post方式的区别
  • 03 form表单-客例:模拟百度搜索 04 表单项标签-input标签01 05 表单项标签-input标签02 06 表单项标签-下拉列表&文本域&label标签
  • 07 本章回顾
  • 02 前端技术之HTML
  • 01 HTML入门 01 01-网络传输的三大基石 02 02-什么是HTML&HTML的标准结构 03 03-VSCode 04 04-HTML快速入门 05 05-本章回顾
  • 02 HTML的常用标签
  • 01 HTML标准结构
  • 02 head中标签 03 body中标签-文本标签01----10秒到33秒需要加入横线 04 body中标签-文本标签02
  • 05 body中标签-多媒体标签
  • 06 body中标签-超链接标签
  • 07 body中标签-铺点
  • 08 body中标签-列表标签
  • 09 body中标签-表格标签
  • 10 本章回顾
  • 03 form表单 01 form表单-get方式请求&post方式请求
  • 02 form表单-get方式与post方式的区别
  • 03 form表单-客例:模拟百度搜索 04 表单项标签-input标签01 05 表单项标签-input标签02 06 表单项标签-下拉列表&文本域&label标签
  • 07 本章回顾
  • 10 前端技术之CSS
  • 01 前端技术之CSS新版
  • 01 CSS入门
  • 01 为什么要学习CSS&CSS的介绍
  • 02 CSS的书写方式(三种方式) 03 CSS的书写方式(三种方式的优先级&企业使用情况)&CSS的学习重点&本章回顾
  • 02 选择器 01 什么是选择器&通用选择器&基本选择器
  • 02 关系选择器
  • 03 属性选择器
  • 04 伪类选择器
  • 05 案例:百度导航栏
  • 06 本章回顾
  • 03 样式
  • 01 CSS常用字体属性
  • 02 CSS常用文本属性 03 页面布局-浮动(什么是浮动&浮动的语法,浮动原理)
  • 04 页面布局-浮动(代码感受浮动效果,消除浮动影响)
  • 05 页面布局-浮动(浮动初衰效果展示)
  • 06 页面布局-定位(静态定位,相对定位)
  • 07 页面布局-定位(绝对定位,固定定位)
  • 08 页面布局-盒子模型
  • 09 页面布局-综合案例
  • 10 本章回顾
  • 02 前端技术之CSS
  • 01 CSS入门
  • 01 为什么要学习CSS&CSS的介绍
  • 02 CSS的书写方式(三种方式) 03 CSS的书写方式(三种方式的优先级&企业使用情况)&CSS的学习重点&本章回顾
  • 02 选择器 01 什么是选择器&通用选择器&基本选择器
  • 02 关系选择器
  • 03 属性选择器
  • 04 伪类选择器
  • 05 案例:百度导航栏
  • 06 本章回顾
  • 03 样式
  • 01 CSS常用字体属性
  • 02 CSS常用文本属性 03 页面布局-浮动(什么是浮动&浮动的语法,浮动原理)
  • 04 页面布局-浮动(代码感受浮动效果,消除浮动影响)
  • 05 页面布局-浮动(浮动初衰效果展示)
  • 06 页面布局-定位(静态定位,相对定位)
  • 07 页面布局-定位(绝对定位,固定定位)
  • 08 页面布局-盒子模型
  • 09 页面布局-综合案例
  • 10 本章回顾
  • 11 前端技术之JS
  • 01 前端技术之JS新版
  • 01 JavaScript
  • 01 JavaScript的引入
  • 02 JavaScript的三种书写方式 03 核心语法-语法规则&输出方式&变量
  • 04 核心语法-数据类型
  • 05 核心语法-奖型转换
  • 06 核心语法-运算符
  • 07 核心语法-流程控制
  • 08 核心语法-函数
  • 09 核心语法-debug调试工具
  • 10 核心语法-对象(Array对象)
  • 11 核心语法-对象(Date对象) 12 核心语法-对象(Math对象&String对象)
  • 13 核心语法-对象(Global对象)
  • 14 核心语法-对象(自定义对象) 15 核心语法-对象(JSON是什么1) 16 核心语法-对象(JSON是什么2)
  • 17 核心语法-对象(JSON对象)
  • 18 核心语法-事件(什么是事件&事件绑定)
  • 19 核心语法-事件(常见事件)
  • 20 核心语法-小结 02 JavaScript2
  • 01 BOM-BOM和DOM
  • 02 BOM-window对象的常用属性
  • 03 BOM-window对象的常用方法(讲解)
  • 04 BOM-window对象的常用方法(小案例) 05 DOM-什么是DOM&通过DOM解决的问题是什么
  • 06 DOM-获取DOM对象(直接获取)
  • 07 DOM-获取DOM对象(间接获取)
  • 08 DOM-操作文本
  • 09 DOM-操作属性
  • 10 DOM-操作样式
  • 11 案例实操-删除表格中一行 12 案例实操-复选框全选反选全不选----4-39修改
  • 13 案例实操-加金币
  • 14 案例实操-购物产品展示
  • 15 本章回顾
  • 03 Echarts
  • 01 Echarts
  • 02 前端技术之JS
  • 01 JavaScript
  • 01 JavaScript的引入
  • 02 JavaScript的三种书写方式 03 核心语法-语法规则&输出方式&变量
  • 04 核心语法-数据类型
  • 05 核心语法-奖型转换
  • 06 核心语法-运算符
  • 07 核心语法-流程控制
  • 08 核心语法-函数
  • 09 核心语法-debug调试工具
  • 10 核心语法-对象(Array对象)
  • 11 核心语法-对象(Date对象) 12 核心语法-对象(Math对象&String对象)
  • 13 核心语法-对象(Global对象)
  • 14 核心语法-对象(自定义对象) 15 核心语法-对象(JSON是什么1) 16 核心语法-对象(JSON是什么2)
  • 17 核心语法-对象(JSON对象)
  • 18 核心语法-事件(什么是事件&事件绑定)
  • 19 核心语法-事件(常见事件)
  • 20 核心语法-小结 02 JavaScript2
  • 01 BOM-BOM和DOM
  • 02 BOM-window对象的常用属性
  • 03 BOM-window对象的常用方法(讲解)
  • 04 BOM-window对象的常用方法(小案例) 05 DOM-什么是DOM&通过DOM解决的问题是什么
  • 06 DOM-获取DOM对象(直接获取)
  • 07 DOM-获取DOM对象(间接获取)
  • 08 DOM-操作文本
  • 09 DOM-操作属性
  • 10 DOM-操作样式
  • 11 案例实操-删除表格中一行 12 案例实操-复选框全选反选全不选----4-39修改
  • 13 案例实操-加金币
  • 14 案例实操-购物产品展示
  • 15 本章回顾
  • 03 Echarts
  • 01 Echarts
  • 12 前端技术之JQuery
  • 01 javaScript 入门与程序设计
  • 01 JavaScript基础入门
  • 01 JavaScript 简介
  • 02 JavaScript 用途
  • 03 JavaScript 组成
  • 04 书写规范
  • 05 内置函数
  • 06 prompt提示框
  • 07 控制台操作
  • 08 如何理解字面量
  • 09 数字类型字面量
  • 10 数字类型特殊值
  • 11 字符串类型字面量
  • 12 变量基本使用
  • 13 变量注意事项
  • 14 命名标识符规范
  • 15 变量提升
  • 16 类型检测
  • 17 连字符
  • 18 parseInt 与 parseFloat
  • 19 prompt 注意事项
  • 20 Math数学对象
  • 21 数字运算符
  • 22 作业
  • 02 流程控制语句
  • 01 作业讲解
  • 02 数学运算(一)
  • 03 数学运算(二)
  • 04 数学运算(三)
  • 05 比较运算(一)
  • 06 比较运算(二)
  • 07 比较运算(三)
  • 08 比较运算(四)
  • 09 逻辑运算(一)
  • 10 逻辑运算(二)
  • 11 逻辑运算(三)
  • 12 逻辑运算(四)
  • 13 if 语句(一)
  • 14 if 语句(二)
  • 15 if 语句(三)
  • 16 if 语句(四)
  • 17 作业
  • 18 BMI 指数
  • 19 门票查询
  • 20 赋值运算
  • 21 自增运算
  • 22 switch 基础应用(一)
  • 23 switch 基础应用(二)
  • 24 switch 基础应用(三)
  • 25 循环语句(一)
  • 26 循环语句(二)
  • 27 穷举
  • 28 嵌套循环
  • 29 同名变量注意事项
  • 30 累加器
  • 31 水仙花数字
  • 32 质数
  • 33 break
  • 34 continue
  • 35 while
  • 36 do while
  • 03 Function 函数
  • 01 函数认知
  • 02 函数基本使用
  • 03 形参与实参
  • 04 局部变量
  • 05 作用域
  • 06 作用域相关面试题
  • 07 return 关键字
  • 08 函数实战应用(一)
  • 09 函数实战应用(二)
  • 10 函数表达式
  • 11 不同函数定义方式区别
  • 12 回调
  • 13 递归
  • 14 函数自执行
  • 15 数组
  • 16 数组详细使用
  • 17 数组length属性
  • 18 push pop
  • 19 unshift shift
  • 20 join reverse
  • 21 indexOf includes
  • 22 slice splice
  • 23 数组面试题(一)
  • 24 数组面试题(二)
  • 25 数组面试题(三)
  • 26 堆栈空间
  • 27 string length 属性
  • 28 string 大小写转化
  • 29 string search split
  • 30 string substring substr
  • 31 string replace match
  • 32 经典面试(一)
  • 33 经典面试(二)
  • 34 经典面试(三)
  • 35 JSON
  • 04 正则表达式
  • 01 正则表达式概述
  • 02 正则使用技巧(一)
  • 03 正则使用技巧(二)
  • 04 正则使用技巧(三)
  • 05 正则使用技巧(四)
  • 06 正则使用技巧(五)
  • 07 正则使用技巧(六)
  • 08 正则 字符集
  • 09 正则 修饰符
  • 10 正则 边界符
  • 11 正则 预定义类
  • 12 正则 量词
  • 13 正则 分组与汉字
  • 14 arguments
  • 15 闭包
  • 16 经典闭包面试题
  • 05 DOM操作
  • 01 DOM初探
  • 02 DOM方法
  • 03 操作节点属性
  • 04 操作节点文本
  • 05 操作节点样式
  • 06 节点事件
  • 07 攻城狮的信号量思想
  • 08 淘宝网页特效制作
  • 09 手机号码验证
  • 10 鼠标系列事件
  • 11 DOM获取节点全部方法
  • 12 批量添加事件
  • 13 网易云效果
  • 14 淘宝二级菜单
  • 15 event对象
  • 16 鼠标位置
  • 17 拖拽效果
  • 18 放大镜
  • 19 BOM
  • 20 Timer 基本使用
  • 21 运动函数
  • 22 小游戏-浩克行走
  • 06 jQuery应用实践
  • 01 jQuery简介
  • 02 jQuery初体验
  • 03 基本使用
  • 04 选择器
  • 05 jQuery灵活应用
  • 06 匹配节点样式
  • 07 匹配节点属性
  • 08 操作节点文本
  • 09 特性函数上
  • 10 特效函数下
  • 11 事件绑定
  • 12 淡入淡出轮播
  • 13 常用方法
  • 14 jQuery函数库-其余常用方法
  • 15 节点关系
  • 16 jQuery其余节点关系方法
  • 17 折叠卡片
  • 18 animate动画函数
  • 19 animate动画注意事项
  • 20 jQuery解决动画积累问题
  • 21 传统轮播
  • 22 获取节点数据
  • 23 更多节点关系方法
  • 24 百度新闻导航
  • 07 jQuery源码分析
  • 01 jQuery extend 核心功能函数揭秘
  • 02 jQuery Sizzle 选择器
  • 03 jQuery Callbacks入门-原理分析
  • 04 jQuery deferred概念 or 源码解析
  • 05 事件绑定-体系结构-绑定设计
  • 06 事件绑定-自定义设计 or 模拟事件
  • 07 jQuery CSS-addClass原理分析
  • 08 access 函数重载源码分析
  • 02 前端技术之JQuery
  • 01 JavaScript基础入门
  • 01 JavaScript 简介
  • 02 JavaScript 用途
  • 03 JavaScript 组成
  • 04 书写规范
  • 05 内置函数
  • 06 prompt提示框
  • 07 控制台操作
  • 08 如何理解字面量
  • 09 数字类型字面量
  • 10 数字类型特殊值
  • 11 字符串类型字面量
  • 12 变量基本使用
  • 13 变量注意事项
  • 14 命名标识符规范
  • 15 变量提升
  • 16 类型检测
  • 17 连字符
  • 18 parseInt 与 parseFloat
  • 19 prompt 注意事项
  • 20 Math数学对象
  • 21 数字运算符
  • 22 作业
  • 02 流程控制语句
  • 01 作业讲解
  • 02 数学运算(一)
  • 03 数学运算(二)
  • 04 数学运算(三)
  • 05 比较运算(一)
  • 06 比较运算(二)
  • 07 比较运算(三)
  • 08 比较运算(四)
  • 09 逻辑运算(一)
  • 10 逻辑运算(二)
  • 11 逻辑运算(三)
  • 12 逻辑运算(四)
  • 13 if 语句(一)
  • 14 if 语句(二)
  • 15 if 语句(三)
  • 16 if 语句(四)
  • 17 作业
  • 18 BMI 指数
  • 19 门票查询
  • 20 赋值运算
  • 21 自增运算
  • 22 switch 基础应用(一)
  • 23 switch 基础应用(二)
  • 24 switch 基础应用(三)
  • 25 循环语句(一)
  • 26 循环语句(二)
  • 27 穷举
  • 28 嵌套循环
  • 29 同名变量注意事项
  • 30 累加器
  • 31 水仙花数字
  • 32 质数
  • 33 break
  • 34 continue
  • 35 while
  • 36 do while
  • 03 Function 函数
  • 01 函数认知
  • 02 函数基本使用
  • 03 形参与实参
  • 04 局部变量
  • 05 作用域
  • 06 作用域相关面试题
  • 07 return 关键字
  • 08 函数实战应用(一)
  • 09 函数实战应用(二)
  • 10 函数表达式
  • 11 不同函数定义方式区别
  • 12 回调
  • 13 递归
  • 14 函数自执行
  • 15 数组
  • 16 数组详细使用
  • 17 数组length属性
  • 18 push pop
  • 19 unshift shift
  • 20 join reverse
  • 21 indexOf includes
  • 22 slice splice
  • 23 数组面试题(一)
  • 24 数组面试题(二)
  • 25 数组面试题(三)
  • 26 堆栈空间
  • 27 string length 属性
  • 28 string 大小写转化
  • 29 string search split
  • 30 string substring substr
  • 31 string replace match
  • 32 经典面试(一)
  • 33 经典面试(二)
  • 34 经典面试(三)
  • 35 JSON
  • 04 正则表达式
  • 01 正则表达式概述
  • 02 正则使用技巧(一)
  • 03 正则使用技巧(二)
  • 04 正则使用技巧(三)
  • 05 正则使用技巧(四)
  • 06 正则使用技巧(五)
  • 07 正则使用技巧(六)
  • 08 正则 字符集
  • 09 正则 修饰符
  • 10 正则 边界符
  • 11 正则 预定义类
  • 12 正则 量词
  • 13 正则 分组与汉字
  • 14 arguments
  • 15 闭包
  • 16 经典闭包面试题
  • 05 DOM操作
  • 01 DOM初探
  • 02 DOM方法
  • 03 操作节点属性
  • 04 操作节点文本
  • 05 操作节点样式
  • 06 节点事件
  • 07 攻城狮的信号量思想
  • 08 淘宝网页特效制作
  • 09 手机号码验证
  • 10 鼠标系列事件
  • 11 DOM获取节点全部方法
  • 12 批量添加事件
  • 13 网易云效果
  • 14 淘宝二级菜单
  • 15 event对象
  • 16 鼠标位置
  • 17 拖拽效果
  • 18 放大镜
  • 19 BOM
  • 20 Timer 基本使用
  • 21 运动函数
  • 22 小游戏-浩克行走
  • 06 jQuery应用实践
  • 01 jQuery简介
  • 02 jQuery初体验
  • 03 基本使用
  • 04 选择器
  • 05 jQuery灵活应用
  • 06 匹配节点样式
  • 07 匹配节点属性
  • 08 操作节点文本
  • 09 特性函数上
  • 10 特效函数下
  • 11 事件绑定
  • 12 淡入淡出轮播
  • 13 常用方法
  • 14 jQuery函数库-其余常用方法
  • 15 节点关系
  • 16 jQuery其余节点关系方法
  • 17 折叠卡片
  • 18 animate动画函数
  • 19 animate动画注意事项
  • 20 jQuery解决动画积累问题
  • 21 传统轮播
  • 22 获取节点数据
  • 23 更多节点关系方法
  • 24 百度新闻导航
  • 07 jQuery源码分析
  • 01 jQuery extend 核心功能函数揭秘
  • 02 jQuery Sizzle 选择器
  • 03 jQuery Callbacks入门-原理分析
  • 04 jQuery deferred概念 or 源码解析
  • 05 事件绑定-体系结构-绑定设计
  • 06 事件绑定-自定义设计 or 模拟事件
  • 07 jQuery CSS-addClass原理分析
  • 08 access 函数重载源码分析
  • 13 前端技术之Vue框架
  • 01 前端技术之Vue框架
  • 01 Vue第一季基础知识
  • 01 Vue的基本介绍
  • 02 Vue的基本使用
  • 03 Vue的插值语法
  • 04 Vue的常用指令-v-if和v-show
  • 05 Vue的常用指令v-for的基本使用
  • 06 Vue的常用指令-v-text和v-html
  • 07 v-cloak指令
  • 08 Vue的常用指令-v-once
  • 09 Vue的指令-v-pre
  • 10 Vue的指令-v-on
  • 11 Vue的指令-v-bind
  • 12 Vue的指令-v-model
  • 13 Vue的案例-选项卡
  • 14 Vue的案例-调色板
  • 15 Vue的案例-微博发布框
  • 02 Vue第二季基础知识
  • 01 修饰符-事件修饰符(上)
  • 02 修饰符-事件修饰符(下)
  • 03 修饰符-按键修饰符
  • 04 修饰符-系统修饰符
  • 05 修饰符-鼠标按键修饰符
  • 06 修饰符-表单修饰符
  • 07 vue-cli脚手架起步
  • 08 Vue-cli目录结构介绍
  • 09 理解npm执行cli文件过程
  • 10 vue-cli起步文件的介绍
  • 11 Vue的组件
  • 12 Vue的父子组件传值
  • 13 Vue父子组件传值-子修改父
  • 14 Vue组件传值案例-商城评论
  • 14 Servlet和JSP
  • 01 Servlet和JSP新版
  • 01 Servlet入门
  • 01 Servlet入门-学习内容介绍
  • 02 IDEA-IDEA的下载与安装
  • 03 IDEA-IDEA激活
  • 04 IDEA-IDEA的基本设置
  • 05 HTTP-浏览器和服务器的交互流程
  • 06 HTTP-浏览器的书写格式
  • 07 HTTP-HTTP协议的特点
  • 08 HTTP-HTTP协议之URL
  • 09 HTTP-HTTP协议之请求
  • 10 HTTP-HTTP协议之响应
  • 11 Tomcat-Tomcat服务器介绍
  • 12 Tomcat-Tomcat服务器的安装和启动
  • 13 Tomcat-Tomcat的目录结构
  • 14 Tomcat-IDEA编辑器集成Tomcat
  • 15 Servlet-Servlet的引入
  • 16 Servlet-创建Web项目
  • 17 Servlet-Servlet的实现
  • 18 Servlet-Servlet的工作流程
  • 19 Servlet-Servlet的其它实现方式
  • 20 Servlet-Servlet的生命周期 21 Servlet-HttpServletRequest对象-介绍 22 Servlet-HttpServletRequest对象-常用方法和获取请求数据 23 Servlet-HttpServletRequest对象-请求乱码问题 24 Servlet-HttpServletRequest对象-请求转发 25 Servlet-HttpServletRequest对象-HttpServletRequest对象的使用 26 Servlet-HttpServletResponse对象-响应数据 27 Servlet-HttpServletResponse对象-响应乱码问题 28 Servlet-HttpServletResponse对象-重定向
  • 29 Servlet-请求转发与重定向的区别
  • 02 Servlet进阶
  • 01 Servle进阶-学习内容介绍 02 Servlet-Cookie和Session的引1入 03 Servlet-Cookie对象-Cookie的创建、发送、获取 04 Servlet-Cookie对象-Cookie设置到期时间 05 Servlet-Cookie对象-Cookie的注意点 06 Servlet-Cookie对象-Cookie的路径 07 Servlet-HttpSession对象-Session介绍01 08 Servlet-HttpSession对象-Session介绍02 09 Servlet-HttpSession对象-Session的使用 10 Servlet-HttpSession对象-Session的销毁 11 Servlet-ServletContext域或对象
  • 12 Servlet-Servlet三大域对象
  • 13 Servlet-文件上传-前台页面实现
  • 14 Servlet-文件上传-后台实现
  • 15 Servlet-文件下载-超链接下载
  • 16 Servlet-文件下载-后台代码下载
  • 17 过滤器-过滤器介绍
  • 18 过滤器-过滤器实现
  • 19 过滤器-过滤器实例-中文乱码解决索例
  • 20 过滤器-过滤器实例-非法访问拦截案例
  • 21 监听器-监听器的介绍
  • 22 监听器-监听器的使用
  • 23 监听器-监听器实例-在线人数统计
  • 03 JSP
  • 01 JSP--学习内容介绍
  • 02 JSP-JSP的引入和原理
  • 03 JSP-准备工作
  • 04 JSP-注释
  • 05 JSP-Scriptlet
  • 06 JSP-jsp动作标签
  • 07 JSP-page指令标签
  • 08 JSP-include指令标签
  • 09 JSP-JSP九大内置对象 10 JSP-JSP九大内置对象2 11 JSP-JSP九大内置对象3
  • 12 EL-EL表达式的基本语法
  • 13 EL-使用EL表达式获取数据
  • 14 EL-EL表达式中的运算符使用
  • 15 JSTL-JSTL的引入
  • 16 JSTL-JSTL的使用
  • 17 JSTL-条件动作标签
  • 18 JSTL-送代动作标签 19 JSTL-格式化动作标签01 20 JSTL-格式化动作标签02 21 JSTL-格式化动作标签03
  • 22 分层思想案例-需求分析
  • 23 分层思想案例-准备数据库表 24 分层思想案例-代码实现01 25 分层思想案例-代码实现02
  • 26 分层思想索例-MVC分层思想理解
  • 27 分层思想索例-MVC分层代码实现
  • 28 分层思想案例-用户非法访问拦截
  • 02 Servlet和JSP
  • 01 Servlet入门
  • 01 Servlet入门-学习内容介绍
  • 02 IDEA-IDEA的下载与安装
  • 03 IDEA-IDEA激活
  • 04 IDEA-IDEA的基本设置
  • 05 HTTP-浏览器和服务器的交互流程
  • 06 HTTP-浏览器的书写格式
  • 07 HTTP-HTTP协议的特点
  • 08 HTTP-HTTP协议之URL
  • 09 HTTP-HTTP协议之请求
  • 10 HTTP-HTTP协议之响应
  • 11 Tomcat-Tomcat服务器介绍
  • 12 Tomcat-Tomcat服务器的安装和启动
  • 13 Tomcat-Tomcat的目录结构
  • 14 Tomcat-IDEA编辑器集成Tomcat
  • 15 Servlet-Servlet的引入
  • 16 Servlet-创建Web项目
  • 17 Servlet-Servlet的实现
  • 18 Servlet-Servlet的工作流程
  • 19 Servlet-Servlet的其它实现方式
  • 20 Servlet-Servlet的生命周期 21 Servlet-HttpServletRequest对象-介绍 22 Servlet-HttpServletRequest对象-常用方法和获取请求数据 23 Servlet-HttpServletRequest对象-请求乱码问题 24 Servlet-HttpServletRequest对象-请求转发 25 Servlet-HttpServletRequest对象-HttpServletRequest对象的使用 26 Servlet-HttpServletResponse对象-响应数据 27 Servlet-HttpServletResponse对象-响应乱码问题 28 Servlet-HttpServletResponse对象-重定向
  • 29 Servlet-请求转发与重定向的区别
  • 02 Servlet进阶
  • 01 Servle进阶-学习内容介绍 02 Servlet-Cookie和Session的引1入 03 Servlet-Cookie对象-Cookie的创建、发送、获取 04 Servlet-Cookie对象-Cookie设置到期时间 05 Servlet-Cookie对象-Cookie的注意点 06 Servlet-Cookie对象-Cookie的路径 07 Servlet-HttpSession对象-Session介绍01 08 Servlet-HttpSession对象-Session介绍02 09 Servlet-HttpSession对象-Session的使用 10 Servlet-HttpSession对象-Session的销毁 11 Servlet-ServletContext域或对象
  • 12 Servlet-Servlet三大域对象
  • 13 Servlet-文件上传-前台页面实现
  • 14 Servlet-文件上传-后台实现
  • 15 Servlet-文件下载-超链接下载
  • 16 Servlet-文件下载-后台代码下载
  • 17 过滤器-过滤器介绍
  • 18 过滤器-过滤器实现
  • 19 过滤器-过滤器实例-中文乱码解决索例
  • 20 过滤器-过滤器实例-非法访问拦截案例
  • 21 监听器-监听器的介绍
  • 22 监听器-监听器的使用
  • 23 监听器-监听器实例-在线人数统计
  • 03 JSP
  • 01 JSP--学习内容介绍
  • 02 JSP-JSP的引入和原理
  • 03 JSP-准备工作
  • 04 JSP-注释
  • 05 JSP-Scriptlet
  • 06 JSP-jsp动作标签
  • 07 JSP-page指令标签
  • 08 JSP-include指令标签
  • 09 JSP-JSP九大内置对象 10 JSP-JSP九大内置对象2 11 JSP-JSP九大内置对象3
  • 12 EL-EL表达式的基本语法
  • 13 EL-使用EL表达式获取数据
  • 14 EL-EL表达式中的运算符使用
  • 15 JSTL-JSTL的引入
  • 16 JSTL-JSTL的使用
  • 17 JSTL-条件动作标签
  • 18 JSTL-送代动作标签 19 JSTL-格式化动作标签01 20 JSTL-格式化动作标签02 21 JSTL-格式化动作标签03
  • 22 分层思想案例-需求分析
  • 23 分层思想案例-准备数据库表 24 分层思想案例-代码实现01 25 分层思想案例-代码实现02
  • 26 分层思想索例-MVC分层思想理解
  • 27 分层思想索例-MVC分层代码实现
  • 28 分层思想案例-用户非法访问拦截
  • 15 过滤器监听器
  • 01 过滤器监听器
  • 01 过滤器监听器
  • 01 过滤器概念引入
  • 02 过滤器的编写和配置
  • 03 过滤器的生命周期
  • 04 过滤器链的使用
  • 05 过滤器初始化参数配置
  • 06 过滤器中使用注解
  • 07 过滤器处理POST乱码
  • 08 过滤器控制登录
  • 09 监听器概念引入
  • 10 Request监听器
  • 11 功能相似的六个监听器接口 12 Session特殊监听器1 13 Session特殊监听器2
  • 14 案例开发_请求日志记录
  • 15 案例开发_在线人数统计
  • 16 案例开发_服务重启免登录
  • 17 案例开发_监听session钝化和活化
  • 18 分页概念引入
  • 19 分页实现思路
  • 20 分页搭建项目 21 分页实现1 22 分页实现2 23 分页实现3 24 分页实现4
  • 25 带条件分页
  • 26 文件上传下载说明 16 前端技术之3Ajax 01 前端技术之3Ajax
  • 01 Ajax
  • 01 同步和异步交互概念引入
  • 02 异步验证用户名占用问题
  • 03 认识JSON格式
  • 04 JSON格式传递数据
  • 05 jQuery实现异步校验用户名
  • 06 前后端数据格式处理
  • 07 ajax方法属性介绍
  • 08 load方法使用(了解)
  • 09 get.getJson和post方法的使用
  • 10 什么是AJAX跨域
  • 11 跨域的原理
  • 12 JSONP实现跨域
  • 13 getJSON简化跨域请求
  • 14 三级联动项目搭建
  • 15 三级联动显示所有省份
  • 16 三级联动完成
  • 17 团队开发和版本控制工具-GIT
  • 01 团队开发和版本控制工具-GIT
  • 01 Git引入版本控制介绍
  • 01 Git引入版本控制介绍
  • 02 Git简史
  • 01 Git简史
  • 03 Git的安装过程
  • 01 Git的安装过程
  • 04 Git结构
  • 01 Git结构
  • 05 代码托管中心本地库和远程库的交互方式
  • 01 代码托管中心本地库和远程库的交互方式
  • 06 初始化本地仓库
  • 01 初始化本地仓库
  • 07 常用命令add和commit命令
  • 01 常用命令add和commit命令
  • 08 常用命令status命令
  • 01 常用命令status命令
  • 09 常用命令log命令
  • 01 常用命令log命令 10 常用命令log命令2 01 常用命令log命令2
  • 11 常用命令reset
  • 01 常用命令reset 12 常见命令reset的hard,mixed,soft参数 01 常见命令reset的hard,mixed,soft参数
  • 13 常见命令删除文件找回本地库删除的文件
  • 01 常见命令删除文件找回本地库删除的文件
  • 14 常见命令找回暂存区删除的文件
  • 01 常见命令找回暂存区删除的文件
  • 15 常见命令diff命令
  • 01 常见命令diff命令
  • 16 分支什么是分支
  • 01 分支什么是分支
  • 17 分支查看分支,创建分支,切换分支
  • 01 分支查看分支,创建分支,切换分支
  • 18 分支冲突问题解决冲突问题
  • 01 分支冲突问题解决冲突问题
  • 19 注册GitHub账号
  • 01 注册GitHub账号
  • 20 回顾本地库和远程库的交互方式
  • 01 回顾本地库和远程库的交互方式
  • 21 初始化本地库
  • 01 初始化本地库
  • 22 创建GitHub远程库
  • 01 创建GitHub远程库
  • 23 在本地创建远程库地址的别名
  • 01 在本地创建远程库地址的别名
  • 24 推送操作
  • 01 推送操作
  • 25 克隆操作
  • 01 克隆操作
  • 26 邀请加入团队push操作
  • 01 邀请加入团队push操作 27 远程库修改的拉取1 01 远程库修改的拉取1 28 远程库修改的拉取2 01 远程库修改的拉取2
  • 29 协同开发合作时冲突的解决办法
  • 01 协同开发合作时冲突的解决办法
  • 30 回顾跨团队合作交互方式
  • 01 回顾跨团队合作交互方式
  • 31 跨团队合作
  • 01 跨团队合作
  • 32 SSH免密登录
  • 01 SSH免密登录 33 IDEA集成Git初始化本地库添加暂存区提交本地库操作 01 IDEA集成Git初始化本地库添加暂存区提交本地库操作
  • 34 使用idea拉取和推送资源
  • 01 使用idea拉取和推送资源
  • 35 使用Idea克隆远程仓库到本地
  • 01 使用Idea克隆远程仓库到本地
  • 36 使用idea解决冲突如何避免冲突
  • 01 使用idea解决冲突如何避免冲突
  • 18 Maven实战教程
  • 01 Maven实战教程新版
  • 01 Maven实战 01 001.Maven课程整体介绍 02 002.Maven介绍 03 003.Maven下载&环境变量配置 04 004.Maven仓库&settings.xml配置 05 005.低版本IDEA配置Maven(不要跳过) 06 005.新版本IDEA配置Maven 07 006.低版本IDEA构建基础Maven项目(不要跳过) 08 006.新版本IDEA构建基础Maven项目 09 007.IDEA构建Maven的Web项目 10 008.导入依赖和常见问题处理 11 009.依赖的作用域 12 010.依赖的冲突解决-就近原则 13 011.依赖的冲突解决-优先声明原则 14 012.依赖的冲突解决-手动排除依赖 15 013.依赖的冲突解决-声明依赖版本 16 014.Maven指令 17 015.Maven的聚合工程 18 016.Maven的私服介绍 19 017.Maven的下载、安装、启动 20 018.Maven的Nexus私服配置&下载依赖 21 019.Maven的上传依赖到私服
  • 02 Maven实战教程
  • 01 Maven实战 01 001.Maven课程整体介绍 02 002.Maven介绍 03 003.Maven下载&环境变量配置 04 004.Maven仓库&settings.xml配置 05 005.低版本IDEA配置Maven(不要跳过) 06 005.新版本IDEA配置Maven 07 006.低版本IDEA构建基础Maven项目(不要跳过) 08 006.新版本IDEA构建基础Maven项目 09 007.IDEA构建Maven的Web项目 10 008.导入依赖和常见问题处理 11 009.依赖的作用域 12 010.依赖的冲突解决-就近原则 13 011.依赖的冲突解决-优先声明原则 14 012.依赖的冲突解决-手动排除依赖 15 013.依赖的冲突解决-声明依赖版本 16 014.Maven指令 17 015.Maven的聚合工程 18 016.Maven的私服介绍 19 017.Maven的下载、安装、启动 20 018.Maven的Nexus私服配置&下载依赖 21 019.Maven的上传依赖到私服
  • 19 Linux基础命令讲解
  • 01 Linux基础命令讲解
  • 01 Linux简介_VMWare的安装
  • 01 Linux简介_VMWare的安装
  • 02 VMWare的卸载
  • 01 VMWare的卸载
  • 03 Linux系统的安装
  • 01 Linux系统的安装
  • 04 Linux中的目录结构
  • 01 Linux中的目录结构
  • 05 Linux中的路径
  • 01 Linux中的路径 06 Linux中的常用命令_1 01 Linux中的常用命令_1
  • 07 Linux中的常用命令
  • 01 Linux中的常用命令
  • 08 Linux中的常用命令
  • 01 Linux中的常用命令
  • 09 Linux的常用设置_设置时间
  • 01 Linux的常用设置_设置时间
  • 10 Linux的常用设置_开启网络链接
  • 01 Linux的常用设置_开启网络链接
  • 11 Linux的常用设置_修改网络类型
  • 01 Linux的常用设置_修改网络类型
  • 12 Linux中的常用配置_快照与克隆
  • 01 Linux中的常用配置_快照与克隆
  • 13 远程操作Linux的工具XShell
  • 01 远程操作Linux的工具XShell
  • 14 Linux的上传和下载工具_Xftp
  • 01 Linux的上传和下载工具_Xftp
  • 15 Linux中文件的压缩与解压缩
  • 01 Linux中文件的压缩与解压缩
  • 16 在Linux操作系统中安装JDK
  • 01 在Linux操作系统中安装JDK
  • 17 在Linux操作系统中安装Tomcat
  • 01 在Linux操作系统中安装Tomcat 18 CentOS安装MySQL5.7&8.0 01 111.CentOS-7-安装MySQL5.7(上) 02 112.CentOS-7-安装MySQL5.7(下) 03 113.CentOS-7-安装MySQL8.0 19 在Linux操作系统中安装MySQL8 01 在Linux操作系统中安装MySQL8
  • 20 MyBatis
  • 01 MyBatis应用课程
  • 01 MyBatis应用课程 01 01-MyBatis介绍 02 02-MyBatis入门案例(上) 03 03-MyBatis入门案例(中) 04 04-MyBatis入门案例(下) 05 05-MyBatis入门案例优化 06 06-MyBatis基于接口的使用方式 07 07-MyBatis基于接口的补充说明 08 08-MyBatis全局配置文件-基本介绍 09 09-MyBatis全局配置文件-properties 10 10-MyBatis全局配置文件-settings 11 11-MyBatis全局配置文件-typeAlias 12 12-MyBatis全局配置文件-typeHandlers 13 13-MyBatis全局配置文件-其他属性 14 14-MyBatis映射文件-log4j 15 15-MyBatis映射文件-#{}和${} 16 16-MyBatis映射文件-多个参数 17 17-MyBatis映射文件-包装对象 18 18-MyBatis映射文件-resultMap 19 19-MyBatis映射文件-主键回写 20 20-MyBatis动态SQL-介绍 21 21-MyBatis动态SQL-if和where 22 22-MyBatis动态SQL-choose 23 23-MyBatis动态SQL-set 24 24-MyBatis动态SQL-trim 25 25-MyBatis动态SQL-foreach 26 26-MyBatis动态SQL-bind和sql 27 27-MyBatis关联关系-基本介绍 28 28-MyBatis关联关系-1对1 29 29-MyBatis关联关系-1对多 30 30-MyBatis延迟加载 31 31-MyBatis缓存-概念讲解 32 32-MyBatis缓存实现 33 33-MyBatis和Spring的整合 34 34-MyBatis-逆向工程(上) 35 35-MyBatis-逆向工程(下)
  • 02 MyBatis
  • 01 MyBatis应用课程 01 01-MyBatis介绍 02 02-MyBatis入门案例(上) 03 03-MyBatis入门案例(中) 04 04-MyBatis入门案例(下) 05 05-MyBatis入门案例优化 06 06-MyBatis基于接口的使用方式 07 07-MyBatis基于接口的补充说明 08 08-MyBatis全局配置文件-基本介绍 09 09-MyBatis全局配置文件-properties 10 10-MyBatis全局配置文件-settings 11 11-MyBatis全局配置文件-typeAlias 12 12-MyBatis全局配置文件-typeHandlers 13 13-MyBatis全局配置文件-其他属性 14 14-MyBatis映射文件-log4j 15 15-MyBatis映射文件-#{}和${} 16 16-MyBatis映射文件-多个参数 17 17-MyBatis映射文件-包装对象 18 18-MyBatis映射文件-resultMap 19 19-MyBatis映射文件-主键回写 20 20-MyBatis动态SQL-介绍 21 21-MyBatis动态SQL-if和where 22 22-MyBatis动态SQL-choose 23 23-MyBatis动态SQL-set 24 24-MyBatis动态SQL-trim 25 25-MyBatis动态SQL-foreach 26 26-MyBatis动态SQL-bind和sql 27 27-MyBatis关联关系-基本介绍 28 28-MyBatis关联关系-1对1 29 29-MyBatis关联关系-1对多 30 30-MyBatis延迟加载 31 31-MyBatis缓存-概念讲解 32 32-MyBatis缓存实现 33 33-MyBatis和Spring的整合 34 34-MyBatis-逆向工程(上) 35 35-MyBatis-逆向工程(下)
  • 21 Spring 01 Spring6
  • 01 Spring IOC DI - 整合Mybatis 01 001-Spring-学习内容介绍 02 002-Spring-Spring的优势 03 003-Spring-Spring的引入 04 004-Spring-Spring模块介绍 05 005-Spring-IoC DI-IoC DI的好处和使用场景 06 006-Spring-IoC DI-环境准备 07 007-Spring-IoC DI-入门案例代码实现 08 008-Spring-IoC DI-模拟spring容器和bean对象实例化思路分析(了解) 09 009-Spring-IoC DI-模拟spring容器和bean对象实例化代码实现01(了解) 10 010-Spring-IoC DI-模拟spring容器和bean对象实例化代码实现02(了解) 11 011-Spring-IoC DI-模拟spring容器和bean对象实例化代码实现03(了解) 12 012-Spring-IoC DI-bean对象实例化_方式1 13 013-Spring-IoC DI-工厂模式 14 014-Spring-IoC DI-bean对象实例化_方式2_方式3 15 015-Spring-IoC DI-属性注入-构造器注入 16 016-Spring-IoC DI-属性注入-设置注入 17 017-Spring-IoC DI-属性注入-注入方式的选择和p名称空间的使用 18 018-Spring-IoC DI-属性注入-不同属性类型注入 19 019-Spring-IoC DI-属性注入-循环依赖 20 020-Spring-IoC DI-属性注入-自动注入1 21 021-Spring-IoC DI-属性注入-自动注入2 22 022-Spring-IoC DI-bean标签的scope属性 23 023-Spring-IoC DI-bean对象的生命周期 24 024-Spring-登录功能案例1 25 025-Spring-登录功能案例2 26 026-Spring-登录功能案例3 27 027-Spring-登录功能案例4 28 028-Spring-登录功能案例5 29 029-Spring-IoC DI-注解的支持1 30 030-Spring-IoC DI-注解的支持2 31 031-Spring-IoC DI-注解的支持3
  • 02 Spring AOP 01 032-Spring-SpringAOP-学习内容介绍 02 032-Spring-代理模式-静态代理 03 033-Spring-代理模式-JDK动态代理 04 034-Spring-代理模式-CGLIB动态代理 05 035-Spring-Spring AOP_介绍 06 036-Spring-Spring AOP_Schema-based_入门案例_前置通知 07 037-Spring-Spring AOP_Schema-based_思考 08 038-Spring-Spring AOP_Schema-based_后置通知 09 039-Spring-Spring AOP_Schema-based_异常通知 10 040-Spring-Spring AOP_Schema-based_环绕通知 11 041-Spring-Spring AOP_Schema-based_通知方法各参数含义 12 042-Spring-Spring AOP_AspectJ方式_入门案例 13 043-Spring-Spring AOP_AspectJ方式_通知方法有参数怎么处理 14 044-Spring-Spring AOP_AspectJ方式_切点配置的其他方式 15 045-Spring-Spring AOP_AspectJ方式_环绕通知 16 046-Spring-Spring AOP_Schema-based方式和AspectJ方式的区别 17 047-Spring-Spring AOP_注解的支持 18 048-Spring-Spring AOP_注解的支持_小细节
  • 03 Spring JDBC - 事务 01 049-Spring-SpringJDBC-事务-学习内容介绍 02 050-Spring-SpringJDBC-环境搭建 03 051-Spring-SpringJDBC-单元测试入门 04 052-Spring-SpringJDBC-单元测试优化 05 053-Spring-SpringJDBC-单元测试优化2 06 054-Spring-SpringJDBC-持久层账户模块操作-实体类 07 055-Spring-SpringJDBC-持久层账户模块操作-接口和实现类 08 056-Spring-SpringJDBC-持久层账户模块操作-添加账户记录 09 057-Spring-SpringJDBC-持久层账户模块操作-添加记录返回主键 10 058-Spring-SpringJDBC-持久层账户模块操作-批量添加账户记录 11 059-Spring-SpringJDBC-持久层账户模块操作-查询用户的账户总记录数 12 060-Spring-SpringJDBC-持久层账户模块操作-查询指定账户记录详情 13 061-Spring-SpringJDBC-持久层账户模块操作-多条件查询用户账户记录 14 062-Spring-SpringJDBC-持久层账户模块操作-更新账户记录 15 063-Spring-SpringJDBC-持久层账户模块操作-批量更新账户记录 16 064-Spring-SpringJDBC-持久层账户模块操作-删除操作 17 065-Spring-Spring事务-转账场景模拟实现 18 066-Spring-Spring事务-事务处理 19 067-Spring-Spring事务-事务管理器的理解 20 068-Spring-Spring事务-Spring 事务控制xml配置 21 069-Spring-Spring事务-Spring 事务控制配置声明式事务属性介绍 22 070-Spring-Spring事务-Spring 事务控制注解配置
  • 02 Spring
  • 01 Spring IOC DI - 整合Mybatis 01 001-Spring-学习内容介绍 02 002-Spring-Spring的优势 03 003-Spring-Spring的引入 04 004-Spring-Spring模块介绍 05 005-Spring-IoC DI-IoC DI的好处和使用场景 06 006-Spring-IoC DI-环境准备 07 007-Spring-IoC DI-入门案例代码实现 08 008-Spring-IoC DI-模拟spring容器和bean对象实例化思路分析(了解) 09 009-Spring-IoC DI-模拟spring容器和bean对象实例化代码实现01(了解) 10 010-Spring-IoC DI-模拟spring容器和bean对象实例化代码实现02(了解) 11 011-Spring-IoC DI-模拟spring容器和bean对象实例化代码实现03(了解) 12 012-Spring-IoC DI-bean对象实例化_方式1 13 013-Spring-IoC DI-工厂模式 14 014-Spring-IoC DI-bean对象实例化_方式2_方式3 15 015-Spring-IoC DI-属性注入-构造器注入 16 016-Spring-IoC DI-属性注入-设置注入 17 017-Spring-IoC DI-属性注入-注入方式的选择和p名称空间的使用 18 018-Spring-IoC DI-属性注入-不同属性类型注入 19 019-Spring-IoC DI-属性注入-循环依赖 20 020-Spring-IoC DI-属性注入-自动注入1 21 021-Spring-IoC DI-属性注入-自动注入2 22 022-Spring-IoC DI-bean标签的scope属性 23 023-Spring-IoC DI-bean对象的生命周期 24 024-Spring-登录功能案例1 25 025-Spring-登录功能案例2 26 026-Spring-登录功能案例3 27 027-Spring-登录功能案例4 28 028-Spring-登录功能案例5 29 029-Spring-IoC DI-注解的支持1 30 030-Spring-IoC DI-注解的支持2 31 031-Spring-IoC DI-注解的支持3
  • 02 Spring AOP 01 032-Spring-SpringAOP-学习内容介绍 02 032-Spring-代理模式-静态代理 03 033-Spring-代理模式-JDK动态代理 04 034-Spring-代理模式-CGLIB动态代理 05 035-Spring-Spring AOP_介绍 06 036-Spring-Spring AOP_Schema-based_入门案例_前置通知 07 037-Spring-Spring AOP_Schema-based_思考 08 038-Spring-Spring AOP_Schema-based_后置通知 09 039-Spring-Spring AOP_Schema-based_异常通知 10 040-Spring-Spring AOP_Schema-based_环绕通知 11 041-Spring-Spring AOP_Schema-based_通知方法各参数含义 12 042-Spring-Spring AOP_AspectJ方式_入门案例 13 043-Spring-Spring AOP_AspectJ方式_通知方法有参数怎么处理 14 044-Spring-Spring AOP_AspectJ方式_切点配置的其他方式 15 045-Spring-Spring AOP_AspectJ方式_环绕通知 16 046-Spring-Spring AOP_Schema-based方式和AspectJ方式的区别 17 047-Spring-Spring AOP_注解的支持 18 048-Spring-Spring AOP_注解的支持_小细节
  • 03 Spring JDBC - 事务 01 049-Spring-SpringJDBC-事务-学习内容介绍 02 050-Spring-SpringJDBC-环境搭建 03 051-Spring-SpringJDBC-单元测试入门 04 052-Spring-SpringJDBC-单元测试优化 05 053-Spring-SpringJDBC-单元测试优化2 06 054-Spring-SpringJDBC-持久层账户模块操作-实体类 07 055-Spring-SpringJDBC-持久层账户模块操作-接口和实现类 08 056-Spring-SpringJDBC-持久层账户模块操作-添加账户记录 09 057-Spring-SpringJDBC-持久层账户模块操作-添加记录返回主键 10 058-Spring-SpringJDBC-持久层账户模块操作-批量添加账户记录 11 059-Spring-SpringJDBC-持久层账户模块操作-查询用户的账户总记录数 12 060-Spring-SpringJDBC-持久层账户模块操作-查询指定账户记录详情 13 061-Spring-SpringJDBC-持久层账户模块操作-多条件查询用户账户记录 14 062-Spring-SpringJDBC-持久层账户模块操作-更新账户记录 15 063-Spring-SpringJDBC-持久层账户模块操作-批量更新账户记录 16 064-Spring-SpringJDBC-持久层账户模块操作-删除操作 17 065-Spring-Spring事务-转账场景模拟实现 18 066-Spring-Spring事务-事务处理 19 067-Spring-Spring事务-事务管理器的理解 20 068-Spring-Spring事务-Spring 事务控制xml配置 21 069-Spring-Spring事务-Spring 事务控制配置声明式事务属性介绍 22 070-Spring-Spring事务-Spring 事务控制注解配置
  • 22 SpringMVC 01 SpringMVC6 01 01-SpringMVC 01 001-SpringMVC框架-学习内容介绍 02 002-SpringMVC框架-SpringMVC的引入 03 003-SpringMVC框架-SpringMVC的环境搭建 04 004-SpringMVC框架-映射路径 05 005-SpringMVC框架-@RequestMapping注解 06 006-SpringMVC框架-静态资源放行 07 007-SpringMVC框架-接收请求参数-紧耦方式 08 008-SpringMVC框架-接收请求参数-解耦方式 09 009-SpringMVC框架-接收请求参数-@RequestParam 注解的使用 10 010-SpringMVC框架-接收请求参数-使用JavaBean对象作为参数 11 011-SpringMVC框架-接收请求参数-接收日期类型参数 12 012-SpringMVC框架-接收请求参数-接收请求头数据 13 013-SpringMVC框架-请求转发和重定向 14 014-SpringMVC框架-设置作用域的值 15 015-SpringMVC框架-@ResponseBody注解01 16 016-SpringMVC框架-@ResponseBody注解02 17 017-SpringMVC框架-@RestController注解 18 018-SpringMVC框架-@RequestBody注解 19 019-SpringMVC框架-SSM整合01 20 020-SpringMVC框架-SSM整合02 02 02-SpringMVC 01 021-SpringMVC框架-学习内容介绍 02 022-SpringMVC框架-WEB-INF下文件访问方式 03 023-SpringMVC框架-自定义视图解析器 04 024-SpringMVC框架-Restful风格的API接口 05 025-SpringMVC框架-文件上传-前端页面实现 06 026-SpringMVC框架-文件上传-后端代码实现1 07 027-SpringMVC框架-文件上传-后端代码实现2 08 028-SpringMVC框架-文件上传-后端代码实现3 09 029-SpringMVC框架-文件上传-后端代码实现4 10 030-SpringMVC框架-文件上传-完整添加流程1 11 031-SpringMVC框架-文件上传-完整添加流程2 12 032-SpringMVC框架-文件上传-查询全部用户的实现 13 033-SpringMVC框架-文件下载 14 034-SpringMVC框架-拦截器-介绍 15 035-SpringMVC框架-拦截器-拦截器的使用 16 036-SpringMVC框架-拦截器-拦截方法介绍 17 037-SpringMVC框架-拦截器-拦截器配置说明 18 038-SpringMVC框架-拦截器-多个拦截器执行顺序 19 039-SpringMVC框架-异常处理1 20 040-SpringMVC框架-异常处理2 21 041-SpringMVC框架-国际化支持
  • 02 SpringMVC 01 01-SpringMVC 01 001-SpringMVC框架-学习内容介绍 02 002-SpringMVC框架-SpringMVC的引入 03 003-SpringMVC框架-SpringMVC的环境搭建 04 004-SpringMVC框架-映射路径 05 005-SpringMVC框架-@RequestMapping注解 06 006-SpringMVC框架-静态资源放行 07 007-SpringMVC框架-接收请求参数-紧耦方式 08 008-SpringMVC框架-接收请求参数-解耦方式 09 009-SpringMVC框架-接收请求参数-@RequestParam 注解的使用 10 010-SpringMVC框架-接收请求参数-使用JavaBean对象作为参数 11 011-SpringMVC框架-接收请求参数-接收日期类型参数 12 012-SpringMVC框架-接收请求参数-接收请求头数据 13 013-SpringMVC框架-请求转发和重定向 14 014-SpringMVC框架-设置作用域的值 15 015-SpringMVC框架-@ResponseBody注解01 16 016-SpringMVC框架-@ResponseBody注解02 17 017-SpringMVC框架-@RestController注解 18 018-SpringMVC框架-@RequestBody注解 19 019-SpringMVC框架-SSM整合01 20 020-SpringMVC框架-SSM整合02 02 02-SpringMVC 01 021-SpringMVC框架-学习内容介绍 02 022-SpringMVC框架-WEB-INF下文件访问方式 03 023-SpringMVC框架-自定义视图解析器 04 024-SpringMVC框架-Restful风格的API接口 05 025-SpringMVC框架-文件上传-前端页面实现 06 026-SpringMVC框架-文件上传-后端代码实现1 07 027-SpringMVC框架-文件上传-后端代码实现2 08 028-SpringMVC框架-文件上传-后端代码实现3 09 029-SpringMVC框架-文件上传-后端代码实现4 10 030-SpringMVC框架-文件上传-完整添加流程1 11 031-SpringMVC框架-文件上传-完整添加流程2 12 032-SpringMVC框架-文件上传-查询全部用户的实现 13 033-SpringMVC框架-文件下载 14 034-SpringMVC框架-拦截器-介绍 15 035-SpringMVC框架-拦截器-拦截器的使用 16 036-SpringMVC框架-拦截器-拦截方法介绍 17 037-SpringMVC框架-拦截器-拦截器配置说明 18 038-SpringMVC框架-拦截器-多个拦截器执行顺序 19 039-SpringMVC框架-异常处理1 20 040-SpringMVC框架-异常处理2 21 041-SpringMVC框架-国际化支持
  • 23 SpringBoot框架_简单配置的一站式框架 01 SpringBoot3 01 01-SpringBoot 01 001-SpringBoot框架-学习内容介绍 02 002-SpringBoot框架-SpringBoot的引入 03 003-SpringBoot框架-SpringBoot的简介 04 004-SpringBoot框架-SpringBoot的入门案例 05 005-SpringBoot框架-快速构建SpringBoot项目 06 006-SpringBoot框架-两种类型配置文件 07 007-SpringBoot框架-配置文件的执行顺序 08 008-SpringBoot框架-配置文件切换 09 009-SpringBoot框架-Spring Boot项目目录结构 10 010-SpringBoot框架-Spring Boot整合Mybatis 11 011-SpringBoot框架-Spring Boot整合Mybatis2 12 012-SpringBoot框架-Spring Boot整合Druid 13 013-SpringBoot框架-Banner图标 14 014-SpringBoot框架-Spring Boot整合logback 15 015-SpringBoot框架-Spring Boot整合Thymeleaf的介绍 16 016-SpringBoot框架-Spring Boot整合Thymeleaf的步骤 17 017-SpringBoot框架-Thymeleaf语法1 18 018-SpringBoot框架-Thymeleaf语法2 19 019-SpringBoot框架-Thymeleaf语法3 20 020-SpringBoot框架-Spring Boot整合FreeMarker 21 021-SpringBoot框架-SpringBoot整合Mybatis案例01 22 022-SpringBoot框架-SpringBoot整合Mybatis案例02 23 023-SpringBoot框架-SpringBoot整合Mybatis案例03 24 024-SpringBoot框架-SpringBoot整合Mybatis案例04 25 025-SpringBoot框架-SpringBoot整合PageHelper 02 02-SpringBoot 01 026-SpringBoot框架-学习内容介绍 02 027-SpringBoot框架-SpringBoot 应用打包与部署 03 028-SpringBoot框架-API 文档构建工具SpringDoc 04 029-SpringBoot框架-SpringBoot整合Junit 05 030-SpringBoot框架-SpringBoot 应用热部署 06 031-SpringBoot框架-Spring Boot 事务支持 07 032-SpringBoot框架-Spring Boot 异常处理 08 033-SpringBoot框架-SpringBoot Validation 09 034-SpringBoot框架-SpringBoot的bean管理 10 035-SpringBoot框架-SpringBoot中拦截器的使用01 11 036-SpringBoot框架-SpringBoot中拦截器的使用02 12 037-SpringBoot框架-SpringBoot项目favicon 13 038-SpringBoot框架-SpringBoot整合MyBatis-plus01 14 039-SpringBoot框架-SpringBoot整合MyBatis-plus02 15 040-SpringBoot框架-SpringBoot整合MyBatis-plus03 16 041-SpringBoot框架-SpringBoot依赖管理机制(了解) 17 042-SpringBoot框架-SpringBoot自动配置机制(了解)
  • 02 SpringBoot框架_简单配置的一站式框架 01 01-SpringBoot 01 001-SpringBoot框架-学习内容介绍 02 002-SpringBoot框架-SpringBoot的引入 03 003-SpringBoot框架-SpringBoot的简介 04 004-SpringBoot框架-SpringBoot的入门案例 05 005-SpringBoot框架-快速构建SpringBoot项目 06 006-SpringBoot框架-两种类型配置文件 07 007-SpringBoot框架-配置文件的执行顺序 08 008-SpringBoot框架-配置文件切换 09 009-SpringBoot框架-Spring Boot项目目录结构 10 010-SpringBoot框架-Spring Boot整合Mybatis 11 011-SpringBoot框架-Spring Boot整合Mybatis2 12 012-SpringBoot框架-Spring Boot整合Druid 13 013-SpringBoot框架-Banner图标 14 014-SpringBoot框架-Spring Boot整合logback 15 015-SpringBoot框架-Spring Boot整合Thymeleaf的介绍 16 016-SpringBoot框架-Spring Boot整合Thymeleaf的步骤 17 017-SpringBoot框架-Thymeleaf语法1 18 018-SpringBoot框架-Thymeleaf语法2 19 019-SpringBoot框架-Thymeleaf语法3 20 020-SpringBoot框架-Spring Boot整合FreeMarker 21 021-SpringBoot框架-SpringBoot整合Mybatis案例01 22 022-SpringBoot框架-SpringBoot整合Mybatis案例02 23 023-SpringBoot框架-SpringBoot整合Mybatis案例03 24 024-SpringBoot框架-SpringBoot整合Mybatis案例04 25 025-SpringBoot框架-SpringBoot整合PageHelper 02 02-SpringBoot 01 026-SpringBoot框架-学习内容介绍 02 027-SpringBoot框架-SpringBoot 应用打包与部署 03 028-SpringBoot框架-API 文档构建工具SpringDoc 04 029-SpringBoot框架-SpringBoot整合Junit 05 030-SpringBoot框架-SpringBoot 应用热部署 06 031-SpringBoot框架-Spring Boot 事务支持 07 032-SpringBoot框架-Spring Boot 异常处理 08 033-SpringBoot框架-SpringBoot Validation 09 034-SpringBoot框架-SpringBoot的bean管理 10 035-SpringBoot框架-SpringBoot中拦截器的使用01 11 036-SpringBoot框架-SpringBoot中拦截器的使用02 12 037-SpringBoot框架-SpringBoot项目favicon 13 038-SpringBoot框架-SpringBoot整合MyBatis-plus01 14 039-SpringBoot框架-SpringBoot整合MyBatis-plus02 15 040-SpringBoot框架-SpringBoot整合MyBatis-plus03 16 041-SpringBoot框架-SpringBoot依赖管理机制(了解) 17 042-SpringBoot框架-SpringBoot自动配置机制(了解)
  • 24 【MCA】合家云项目服务平台
  • 01 合家云项目服务平台 01 合家云项目实战1 01 合家云项目实战1 02 合家云项目实战2 01 合家云项目实战2 03 合家云项目实战3 01 合家云项目实战3 04 合家云项目实战4 01 合家云项目实战4 05 合家云项目实战5 01 合家云项目实战5 06 合家云项目实战6 01 合家云项目实战6
  • 25 Linux
  • 01 Linux
  • 01 Linux
  • 01 安装VMWare workstation
  • 02 Linux系统安装步骤
  • 03 配置虚拟机的网络服务
  • 04 基于虚拟机的快照克隆多台虚拟机的方法
  • 05 xhell、xftp工具
  • 06 linux内外部命令的判断方式以及命令的执行流程
  • 07 linux查看命令帮助文档
  • 08 bash shell定义变量以及进程简单管理
  • 09 hash优化命令查询时间的原理
  • 10 介绍Linux文件系统
  • 11 文件系统相关的命令-df du ls
  • 12 文件系统相关的命令-cd cp mv mkdir等命令
  • 13 文件系统相关的命令-rm ln软连接等命令
  • 14 文件系统相关的命令-stat touch命令
  • 15 文本操作相关的命令-more less tail命令
  • 16 文本操作相关的命令-管道的使用
  • 17 vi文本编辑器的编辑模式
  • 18 vi文本编辑器的输入模式+末行模式切换
  • 19 vi文本编辑器末行模式的操作
  • 20 补充vi文本编辑器末行模式的操作
  • 21 Linux中正则表达式的简单使用
  • 22 Linux正则表达式练习题
  • 23 Linux正则表达式-反向引用简化正则表达式
  • 24 Linux文本处理命令-cut sort wc
  • 25 Linux行编辑器-sed的使用方式
  • 26 Linux sed命令修改各种配置文件案例
  • 27 Linux强大的文本分析工具awk入门
  • 28 Linux强大的文本分析工具awk脚本
  • 29 Linux用户与权限
  • 30 Linux用户与权限实操
  • 31 Linux软件安装与卸载
  • 32 Linux rpm软件安装卸载相关的操作
  • 33 Yum安装与配置
  • 34 配置本地Yum源
  • 03 大数据架构底层技术体系
  • 01 JVM调优
  • 01 JVM调优
  • 01 JVM调优(一)
  • 01 �γ̹滮 02 JVM基础1 03 JVM基础2
  • 04 Class文件格式 05 Class文件解读1 06 Class文件解读2 07 Class文件解读3 08 1课后作业 09 2课前复习
  • 10 类加载器
  • 02 JVM调优(二)
  • 01 双亲委派
  • 02 父加载器
  • 03 类加载器范围 04 自定义类加载器1 05 自定义类加载器2
  • 06 加密
  • 07 编译器
  • 08 JVM的懒加载模式 09 2课后总结
  • 03 JVM调优(三) 01 3课前复习
  • 02 初始化
  • 03 单例模式 双重检查
  • 04 硬件层数据一致性
  • 05 缓存行 伪共享
  • 06 乱序问题
  • 07 乱序证明
  • 08 硬件级别保证有序 09 3课后总结
  • 04 JVM调优(四) 01 4课前复习
  • 02 volatile实现细节
  • 03 synchronized实现细节
  • 04 排序规范
  • 05 对象的创建过程
  • 06 对象在内存中的存储布局
  • 07 对象的大小
  • 08 对象头具体包括什么 09 4课程总结
  • 10 Runtime Data Area
  • 11 栈帧
  • 12 栈的执行流程
  • 05 JVM调优(五)
  • 01 invoke指令 02 4课后总结
  • 03 垃圾
  • 04 GC常用垃圾清除算法
  • 05 堆内存逻辑分区
  • 06 栈上分配
  • 07 对象何时进入老年代
  • 08 关于年轻代老年代的两个问题
  • 09 常见的垃圾回收器
  • 10 CMS
  • 11 CMS的问题 12 预习+6课后总结 13 7课前
  • 06 JVM调优(六)
  • 01 JVM常用命令行参数
  • 02 GC日志详解
  • 03 调优前的基础概念
  • 04 什么是调优 05 调优1_预规划
  • 06 预规划案例 07 调优2优化JVM运行环境(慢,卡顿)
  • 07 JVM调优(七) 01 预习+7课后总结 02 8课前复习 03 jvm调优案例1_风险评控
  • 04 top命令观察到问题
  • 05 jstack定位线程状况
  • 06 定位OOM问题 07 面试问题12分钟jmap讲混了详情参考第068集 08 8课后总结 09 8更正(jmap两个命令讲混了) 10 9课前复习
  • 08 JVM调优(八)
  • 01 arthas
  • 02 分析dump文件
  • 03 arthas的反编译和热替换 04 OOM案例汇总1 05 OOM案例汇总2 06 OOM案例汇总3 07 9课后预习 08 10�γ̹滮
  • 09 CMS复习 10 G1特点1
  • 09 JVM调优(九) 01 G1特点2
  • 02 并发标记算法 03 10课后总结
  • 04 RSet与赋值效率 05 11�γ̹滮
  • 06 CMS日志分析 07 G1日志分析
  • 08 GC常用参数
  • 09 Parallel常用参数
  • 10 CMS常用参数
  • 10 JVM调优(十) 01 G1常用参数 02 11课后复习
  • 03 纤程
  • 02 IO精讲
  • 01 IO精讲
  • 01 虚拟文件系统,文件描述符,IO重定向
  • 01 操作系统宏观介绍
  • 02 虚拟文件系统
  • 03 文件描述符nodeid,脏读
  • 04 socket pipeline
  • 05 linux的基本使用
  • 06 PageCache 02 内核中PageCache、mmap作用、java文件系统io、nio、内存中缓冲区作用
  • 01 PageCache kernel
  • 02 磁盘IO
  • 03 总结
  • 03 Socket编程BIO及TCP参数
  • 01 TCPIP
  • 02 tcp内核数据遗失
  • 03 tcpip参数
  • 04 网络IO变化模型 04 C10K问题及NIO精讲和IO模型性能压测 01 C10K
  • 02 拓扑结构
  • 03 Linux速度慢的原因 04 答疑1 05 连接数超时102184的原因 06 答疑2
  • 07 github移库
  • 05 网络编程之多路复用器及Epoll精讲
  • 01 多路复用器的引用
  • 02 同步异步阻塞非阻塞
  • 03 多路复用器
  • 04 中断处理
  • 05 解决问题
  • 06 epoll
  • 07 epoll vs select poll
  • 08 java底层selector
  • 06 网络编程java API 实战多路复用器开发
  • 01 回顾演示
  • 02 三次握手、四次分手
  • 03 poll演示
  • 04 epoll演示
  • 05 懒加载
  • 06 写事件
  • 07 模型
  • 08 答疑
  • 07 全手写急速理解Netty模型及IO模型应用实战
  • 01 SelectorThread-IO基本架构
  • 02 MainThread整体步骤
  • 03 创建IO Thread组队列
  • 04 混杂模式
  • 05 全局模型实现
  • 06 回答问题
  • 08 Netty之IO模型开发本质手写部分实现推导篇
  • 01 bytebuf介绍
  • 02 nio客户端
  • 03 nio服务端
  • 04 channel详解 09 全手写基于Netty的RPC框架自定义协议,连接池
  • 01 rpc通信demo
  • 02 客户端响应
  • 03 响应处理器
  • 10 全手写基于Netty的RPC框架 协议编解码问题 粘包拆包与内核关系
  • 01 上节回顾
  • 02 解码decode
  • 03 nioEventGroup
  • 04 netty演示NioEventGroup过程
  • 11 全手写基于Netty的RPC框架 provider端简单dispatcher实现RPC调用全流程
  • 01 rpc过程回顾
  • 02 netty线程介绍
  • 03 课堂答疑netty eventLoop
  • 04 io密集型和内核
  • 12 全手写基于Netty的RPC框架 简单重构框架分层及RPC传输的本质及有无状态的RPC区别
  • 01 知识点概念讲解
  • 02 rpc封装过程
  • 03 rpc过程梳理
  • 04 问题之并发量可达到多大
  • 05 rpc流层分析
  • 06 课后答疑 13 自定义HTTP协议解析和HTTPserver调用实现
  • 01 课前概述
  • 02 服务端完成接收和返回
  • 03 通过netty建立io连接
  • 04 netty客户端实现
  • 05 课堂小结
  • 03 多线程与高并发实战
  • 01 多线程与高并发之并发编程完整版
  • 01 一、线程的基础 01 001.并发编程课程详细介绍 02 002.线程的基础概念 03 003.基础概念-进程与线程 04 004.基础概念-多线程 05 005.基础概念-串行、并行、并发 06 006.基础概念-同步异步&阻塞非阻塞 07 007.线程的三种创建方式 08 008.线程的使用-线程的状态 09 009.线程的使用-线程常用方法-获取当前线程 10 010.线程的使用-线程常用方法-设置线程名称 11 011.线程的使用-线程常用方法-线程的优先级 12 012.线程的使用-线程常用方法-线程的让步 13 013.线程的使用-线程常用方法-线程的休眠 14 014.线程的使用-线程常用方法-线程的强占 15 015.线程的使用-线程常用方法-守护线程 16 016.线程的使用-线程常用方法-线程的等待和唤醒 17 017.线程的使用-结束线程-stop方法 18 018.线程的使用-结束线程-破坏死循环 19 019.线程的使用-结束线程-interrupt
  • 02 二、并发编程的三大特性 01 020.并发编程的三大特性-原子性 02 021.并发编程的三大特性-原子性-synchronized保证原子性 03 022.并发编程的三大特性-原子性-CAS保证原子性 04 023.并发编程的三大特性-原子性-CAS缺点和问题 05 024.并发编程的三大特性-原子性-Lock锁 06 025.并发编程的三大特性-原子性-ThreadLocal 07 026.并发编程的三大特性-可见性-什么是可见性问题 08 027.并发编程的三大特性-可见性-volatile 09 028.并发编程的三大特性-可见性-synchronized 10 029.并发编程的三大特性-可见性-lock 11 030.并发编程的三大特性-可见性-final 12 031.并发编程的三大特性-有序性-什么是乱序执行 13 032.并发编程的三大特性-有序性-as-if-serial 14 033.并发编程的三大特性-有序性-happens-before 15 034.并发编程的三大特性-有序性-volatile
  • 03 三、锁 01 035.锁-锁的整体内容 02 036.锁-锁的分类-可重入锁、不可重入锁 03 037.锁-锁的分类-乐观锁、悲观锁 04 038.锁-锁的分类-公平锁、非公平锁 05 039.锁-锁的分类-互斥锁、共享锁 06 040.锁-synchronized-类锁、对象锁、 07 041.锁-synchronized-synchronized的优化 08 042.锁-synchronized-synchronized实现原理 09 043.锁-synchronized-synchronized锁升级 10 044.锁-synchronized-重量锁底层ObjectMonitor 11 045.锁-ReentrantLock-ReentrantLock和synchronized的区别 12 046.锁-ReentrantLock-AQS概述 13 047.锁-ReentrantLock-加锁流程概述 14 048.锁-ReentrantLock-加锁源码分析-lock方法 15 049.锁-ReentrantLock-加锁源码分析-acquire方法 16 050.锁-ReentrantLock-加锁源码分析-tryAcquire方法 17 051.锁-ReentrantLock-加锁源码分析-addWaiter方法 18 052.锁-ReentrantLock-加锁源码分析-acquireQueued方法 19 053.锁-ReentrantLock-加锁源码分析-tryLock()方法 20 054.锁-ReentrantLock-加锁源码分析-tryLock(time.unit)方法 21 055.锁-ReentrantLock-加锁源码分析-cancelAcquire方法 22 056.锁-ReentrantLock-加锁源码分析-lockInterruptibly方法 23 057.锁-ReentrantLock-释放锁流程概述 24 058.锁-ReentrantLock-释放锁源码分析 25 225.锁-AQS常见问题-为啥head是伪节点 26 226.锁-AQS常见问题-为啥用双向链表 27 218.锁-ConditionObject-介绍&应用 28 219.锁-ConditionObject-构建方式&核心属性 29 220.锁-ConditionObject-await方法分析(前置分析) 30 221.锁-ConditionObject-signal方法分析 31 222.锁-ConditionObject-await方法分析(后置分析) 32 223.锁-ConditionObject-Conditiond的awaitNanos&signalAll方法分析 33 059.锁-ReentrantReadWriteLock-为什么要出现读写锁 34 060.锁-ReentrantReadWriteLock-为什么要出现读写锁 35 061锁-ReentrantReadWriteLock-写锁加锁流程分析 36 062锁-ReentrantReadWriteLock-写锁加锁源码分析 37 063.锁-ReentrantReadWriteLock-写锁释放锁分析 38 064.锁-ReentrantReadWriteLock-读锁加锁入门分析 39 065.锁-ReentrantReadWriteLock-读锁加锁源码入门分析 40 066.锁-ReentrantReadWriteLock-读锁重入流程分析 41 067.锁-ReentrantReadWriteLock-读锁重入源码分析 42 068.锁-ReentrantReadWriteLock-读锁竞争的循环源码分析 43 069.锁-ReentrantReadWriteLock-读锁获取锁资源的后续唤醒操作 44 070.锁-ReentrantReadWriteLock-读锁释放锁流程以及源码分析 45 071.锁-关于死锁课程位置
  • 04 四、阻塞队列 01 072.阻塞队列-基础概念-生产者消费者概念 02 073.阻塞队列-基础概念-JUC阻塞队列的存取方法 03 074.阻塞队列-ArrayBlockingQueue-基本使用 04 075.阻塞队列-ArrayBlockingQueue-生产者方法-add&offer 05 076.阻塞队列-ArrayBlockingQueue-生产者方法-offer(time,unit)&put 06 077.阻塞队列-ArrayBlockingQueue-消费者方法-remove&poll方法 07 078.阻塞队列-ArrayBlockingQueue-消费者方法-poll(time,unit)&take&虚假唤醒 08 079.阻塞队列-LinkedBlockingQueue-实现原理 09 080.阻塞队列-LinkedBlockingQueue-生产者-add&offer方法 10 081.阻塞队列-LinkedBlockingQueue-生产者-offer(time,unit)&put方法 11 082.阻塞队列-LinkedBlockingQueue-消费者remove&poll()方法 12 083.阻塞队列-LinkedBlockingQueue-消费者poll(time,unit)&take方法 13 084.阻塞队列-PriorityBlockingQueue-介绍 14 085.阻塞队列-PriorityBlockingQueue-二叉堆介绍 15 086.阻塞队列-PriorityBlockingQueue-核心属性 16 087.阻塞队列-PriorityBlockingQueue-写源码分析-offer流程 17 088.阻塞队列-PriorityBlockingQueue-写源码分析-扩容 18 089.阻塞队列-PriorityBlockingQueue-写源码分析-添加数据保证结构 19 090.阻塞队列-PriorityBlockingQueue-读源码分析-获取数据流程 20 091.阻塞队列-PriorityBlockingQueue-读源码分析-dequeue核心流程 21 092.阻塞队列-PriorityBlockingQueue-读源码分析-保证二叉堆结构 22 093.阻塞队列-DelayQueue-介绍&应用 23 094.阻塞队列-DelayQueue-核心属性 24 095.阻塞队列-DelayQueue-写入数据流程 25 096.阻塞队列-DelayQueue-读取数据流程-remove&poll 26 097.阻塞队列-DelayQueue-读取数据流程-poll(time,unit) 27 098.阻塞队列-DelayQueue-读取数据流程-take 28 098.阻塞队列-SynchronousQueue-介绍 29 099.阻塞队列-SynchronousQueue-核心属性特点 30 100.阻塞队列-SynchronousQueue-TransferQueue源码-QNode 31 101.阻塞队列-SynchronousQueue-TransferQueue源码-transfer方法 32 224.阻塞队列-SynchronousQueue-TransferQueue源码-transfer方法流程图
  • 05 五、线程池 01 099-线程池-线程池整体内容介绍 02 100-线程池-什么是线程池 03 101-线程池-JDK自带的构建线程池方式-固定长度线程池 04 102-线程池-JDK自带的构建线程池方式-单例线程池mp4 05 103-线程池-JDK自带的构建线程池方式-缓存线程池 06 104-线程池-JDK自带的构建线程池方式-定时任务线程池 07 105-线程池-JDK自带的构建线程池方式-工作窃取线程池 08 106-线程池-ThreadPoolExecutor-为什么要自定义线程池 09 107-线程池-ThreadPoolExecutor-线程池使用 10 108-线程池-ThreadPoolExecutor-源码-核心属性 11 109-线程池-ThreadPoolExecutor-源码-有参构造 12 110-线程池-ThreadPoolExecutor-源码-execute 13 111-线程池-ThreadPoolExecutor-源码-addWorker(上) 14 112-线程池-ThreadPoolExecutor-源码-addWorker(下) 15 113-线程池-ThreadPoolExecutor-源码-Worker类 16 114-线程池-ThreadPoolExecutor-源码-runWorker(上) 17 115-线程池-ThreadPoolExecutor-源码-runWorker(下) 18 116-线程池-ThreadPoolExecutor-源码-getTask 19 117-线程池-ThreadPoolExecutor-源码-shutdownNow方法 20 118-线程池-ThreadPoolExecutor-源码-shutdown方法 21 119-线程池-ThreadPoolExecutor-源码-线程池的核心参数到底如何设置 22 120-线程池-ThreadPoolExecutor-源码-核心执行图 23 121-线程池-定时任务线程池-介绍 24 122-线程池-定时任务线程池-应用 25 123-线程池-定时任务线程池-源码-核心属性和类 26 124-线程池-定时任务线程池-源码-schedule方法 27 125-线程池-定时任务线程池-源码-At和With方法&任务的run方法
  • 06 六、并发集合 01 126.并发集合-整体课程介绍 02 127.并发集合-ConcurrentHashMap-基础知识扫盲 03 128.并发集合-ConcurrentHashMap-put方法 04 129.并发集合-ConcurrentHashMap-putVal方法-散列算法 05 130.并发集合-ConcurrentHashMap-putVal方法-插入数据(无Hash冲突) 06 131.并发集合-ConcurrentHashMap-putVal方法-初始化数组 07 132.并发集合-ConcurrentHashMap-putVal方法-插入数据(挂链表-一) 08 133.并发集合-ConcurrentHashMap-putVal方法-插入数据(挂链表-二) 09 134.并发集合-ConcurrentHashMap-扩容操作-treeifyBin触发扩容 10 135.并发集合-ConcurrentHashMap-扩容操作-tryPreSize(上) 11 136.并发集合-ConcurrentHashMap-扩容操作-tryPreSize(中) 12 137.并发集合-ConcurrentHashMap-扩容操作-tryPreSize(下) 13 138.并发集合-ConcurrentHashMap-扩容操作-transfer方法(一) 14 139.并发集合-ConcurrentHashMap-扩容操作-transfer方法(二) 15 140.并发集合-ConcurrentHashMap-扩容操作-transfer方法(三) 16 141.并发集合-ConcurrentHashMap-扩容操作-transfer方法(四) 17 142.并发集合-ConcurrentHashMap-扩容操作-transfer方法(五) 18 143.并发集合-ConcurrentHashMap-扩容操作-helpTransfer方法 19 144.并发集合-ConcurrentHashMap-红黑树简单介绍 20 145.并发集合-ConcurrentHashMap-封装TreeNode和双向链表 21 146.并发集合-ConcurrentHashMap-TreeBin有参构造-双向链表链表转红黑树 22 147.并发集合-ConcurrentHashMap-balanceInsertion方法-保证红黑树平衡以及特性 23 148.并发集合-ConcurrentHashMap-putTreeVal-插入节点到红黑树 24 149.并发集合-ConcurrentHashMap-TreeBin的锁操作 25 150.并发集合-ConcurrentHashMap-红黑树迁移操作 26 151.并发集合-ConcurrentHashMap-get方法-查询数据的入口 27 152.并发集合-ConcurrentHashMap-ForwardingNode&ReservationNode的find方法 28 153.并发集合-ConcurrentHashMap-TreeBin的find方法 29 154.并发集合-ConcurrentHashMap-红黑树的查询方法 30 155.并发集合-ConcurrentHashMap-compute方法使用 31 156.并发集合-ConcurrentHashMap-compute方法源码分析 32 157.并发集合-ConcurrentHashMap-compute方法BUG以及IfPresent&IfAbsent区别 33 158.并发集合-ConcurrentHashMap-replace方法 34 159.并发集合-ConcurrentHashMap-merge方法 35 160.并发集合-ConcurrentHashMap的addCount方法(LongAdder) 36 161.并发集合-ConcurrentHashMap的addCount方法(CounterCell) 37 162.并发集合-ConcurrentHashMap的addCount方法(计数前置操作) 38 163.并发集合-ConcurrentHashMap的addCount方法(fullAddCount操作) 39 164.并发集合-ConcurrentHashMap的addCount方法(扩容的判断) 40 165.并发集合-ConcurrentHashMap的size方法 41 224.JDK1.7的HashMap的环形链表 42 210.并发集合-CopyOnWriteArrayList课程内容 43 211.并发集合-CopyOnWriteArrayList介绍 44 212.并发集合-CopyOnWriteArrayList核心属性&方法 45 213.并发集合-CopyOnWriteArrayList读操作 46 214.并发集合-CopyOnWriteArrayList写操作 47 215.并发集合-CopyOnWriteArrayList移除数据 48 216.并发集合-CopyOnWriteArrayList覆盖数据&清空集合 49 217.并发集合-CopyOnWriteArrayList迭代器
  • 07 七、JUC并发工具 01 166-JUC并发工具-整体课程介绍 02 167-JUC并发工具-CountDownLatch-介绍 03 168-JUC并发工具-CountDownLatch-应用 04 169-JUC并发工具-CountDownLatch-源码(核心属性分析) 05 170-JUC并发工具-CountDownLatch-源码(方法分析) 06 171-JUC并发工具-CyclicBarrier-介绍 07 172-JUC并发工具-CyclicBarrier-应用 08 173-JUC并发工具-CyclicBarrier-源码(核心属性) 09 174-JUC并发工具-CyclicBarrier-源码(核心方法) 10 175-JUC并发工具-Semaphore-介绍 11 176-JUC并发工具-Semaphore-应用 12 177-JUC并发工具-Semaphore-源码(结构分析) 13 178-JUC并发工具-Semaphore-源码(非公平获取资源) 14 179-JUC并发工具-Semaphore-源码(非公平获取其他方法) 15 180-JUC并发工具-Semaphore-源码(公平方式) 16 181-JUC并发工具-Semaphore-源码(释放资源) 17 182-JUC并发工具-Semaphore-1.5版本BUG 18 183-JUC并发工具-Semaphore-1.8版本处理mp4
  • 08 八、异步编程 01 184-异步编程-FutureTask-介绍 02 185-异步编程-FutureTask-应用 03 186-异步编程-FutureTask-源码-核心属性 04 187-异步编程-FutureTask-源码-run方法 05 188-异步编程-FutureTask-源码-set&setException 06 189-异步编程-FutureTask-源码-cancel 07 190-异步编程-FutureTask-源码-get 08 191-异步编程-FutureTask-源码-finishCompletion 09 192-异步编程-CompletableFuture-介绍 10 193-异步编程-CompletableFuture-应用-基础函数认知 11 194-异步编程-CompletableFuture-应用-supplyAsync 12 195-异步编程-CompletableFuture-应用-runAsync 13 196-异步编程-CompletableFuture-应用-thenApply 14 197-异步编程-CompletableFuture-应用-thenAccept 15 198-异步编程-CompletableFuture-应用-thenRun 16 199-异步编程-CompletableFuture-应用-thenCombine 17 200-异步编程-CompletableFuture-应用-applyToEither 18 201-异步编程-CompletableFuture-应用-exceptionally 19 202-异步编程-CompletableFuture-应用-whenComplete,handle 20 203-异步编程-CompletableFuture-应用-allOf,anyOf 21 204-异步编程-CompletableFuture-源码-执行当前方法 22 205-异步编程-CompletableFuture-源码-任务编排的存储&执行方式 23 206-异步编程-CompletableFuture-源码-任务编排流程 24 207-异步编程-CompletableFuture-源码-后置任务执行时机(一) 25 208-异步编程-CompletableFuture-源码-后置任务执行时机(二) 26 209-异步编程-CompletableFuture-核心执行流程图
  • 02 多线程与高并发实战
  • 01 一、线程的基础 01 001.并发编程课程详细介绍 02 002.线程的基础概念 03 003.基础概念-进程与线程 04 004.基础概念-多线程 05 005.基础概念-串行、并行、并发 06 006.基础概念-同步异步&阻塞非阻塞 07 007.线程的三种创建方式 08 008.线程的使用-线程的状态 09 009.线程的使用-线程常用方法-获取当前线程 10 010.线程的使用-线程常用方法-设置线程名称 11 011.线程的使用-线程常用方法-线程的优先级 12 012.线程的使用-线程常用方法-线程的让步 13 013.线程的使用-线程常用方法-线程的休眠 14 014.线程的使用-线程常用方法-线程的强占 15 015.线程的使用-线程常用方法-守护线程 16 016.线程的使用-线程常用方法-线程的等待和唤醒 17 017.线程的使用-结束线程-stop方法 18 018.线程的使用-结束线程-破坏死循环 19 019.线程的使用-结束线程-interrupt
  • 02 二、并发编程的三大特性 01 020.并发编程的三大特性-原子性 02 021.并发编程的三大特性-原子性-synchronized保证原子性 03 022.并发编程的三大特性-原子性-CAS保证原子性 04 023.并发编程的三大特性-原子性-CAS缺点和问题 05 024.并发编程的三大特性-原子性-Lock锁 06 025.并发编程的三大特性-原子性-ThreadLocal 07 026.并发编程的三大特性-可见性-什么是可见性问题 08 027.并发编程的三大特性-可见性-volatile 09 028.并发编程的三大特性-可见性-synchronized 10 029.并发编程的三大特性-可见性-lock 11 030.并发编程的三大特性-可见性-final 12 031.并发编程的三大特性-有序性-什么是乱序执行 13 032.并发编程的三大特性-有序性-as-if-serial 14 033.并发编程的三大特性-有序性-happens-before 15 034.并发编程的三大特性-有序性-volatile
  • 03 三、锁 01 035.锁-锁的整体内容 02 036.锁-锁的分类-可重入锁、不可重入锁 03 037.锁-锁的分类-乐观锁、悲观锁 04 038.锁-锁的分类-公平锁、非公平锁 05 039.锁-锁的分类-互斥锁、共享锁 06 040.锁-synchronized-类锁、对象锁、 07 041.锁-synchronized-synchronized的优化 08 042.锁-synchronized-synchronized实现原理 09 043.锁-synchronized-synchronized锁升级 10 044.锁-synchronized-重量锁底层ObjectMonitor 11 045.锁-ReentrantLock-ReentrantLock和synchronized的区别 12 046.锁-ReentrantLock-AQS概述 13 047.锁-ReentrantLock-加锁流程概述 14 048.锁-ReentrantLock-加锁源码分析-lock方法 15 049.锁-ReentrantLock-加锁源码分析-acquire方法 16 050.锁-ReentrantLock-加锁源码分析-tryAcquire方法 17 051.锁-ReentrantLock-加锁源码分析-addWaiter方法 18 052.锁-ReentrantLock-加锁源码分析-acquireQueued方法 19 053.锁-ReentrantLock-加锁源码分析-tryLock()方法 20 054.锁-ReentrantLock-加锁源码分析-tryLock(time.unit)方法 21 055.锁-ReentrantLock-加锁源码分析-cancelAcquire方法 22 056.锁-ReentrantLock-加锁源码分析-lockInterruptibly方法 23 057.锁-ReentrantLock-释放锁流程概述 24 058.锁-ReentrantLock-释放锁源码分析 25 225.锁-AQS常见问题-为啥head是伪节点 26 226.锁-AQS常见问题-为啥用双向链表 27 218.锁-ConditionObject-介绍&应用 28 219.锁-ConditionObject-构建方式&核心属性 29 220.锁-ConditionObject-await方法分析(前置分析) 30 221.锁-ConditionObject-signal方法分析 31 222.锁-ConditionObject-await方法分析(后置分析) 32 223.锁-ConditionObject-Conditiond的awaitNanos&signalAll方法分析 33 059.锁-ReentrantReadWriteLock-为什么要出现读写锁 34 060.锁-ReentrantReadWriteLock-为什么要出现读写锁 35 061锁-ReentrantReadWriteLock-写锁加锁流程分析 36 062锁-ReentrantReadWriteLock-写锁加锁源码分析 37 063.锁-ReentrantReadWriteLock-写锁释放锁分析 38 064.锁-ReentrantReadWriteLock-读锁加锁入门分析 39 065.锁-ReentrantReadWriteLock-读锁加锁源码入门分析 40 066.锁-ReentrantReadWriteLock-读锁重入流程分析 41 067.锁-ReentrantReadWriteLock-读锁重入源码分析 42 068.锁-ReentrantReadWriteLock-读锁竞争的循环源码分析 43 069.锁-ReentrantReadWriteLock-读锁获取锁资源的后续唤醒操作 44 070.锁-ReentrantReadWriteLock-读锁释放锁流程以及源码分析 45 071.锁-关于死锁课程位置
  • 04 四、阻塞队列 01 072.阻塞队列-基础概念-生产者消费者概念 02 073.阻塞队列-基础概念-JUC阻塞队列的存取方法 03 074.阻塞队列-ArrayBlockingQueue-基本使用 04 075.阻塞队列-ArrayBlockingQueue-生产者方法-add&offer 05 076.阻塞队列-ArrayBlockingQueue-生产者方法-offer(time,unit)&put 06 077.阻塞队列-ArrayBlockingQueue-消费者方法-remove&poll方法 07 078.阻塞队列-ArrayBlockingQueue-消费者方法-poll(time,unit)&take&虚假唤醒 08 079.阻塞队列-LinkedBlockingQueue-实现原理 09 080.阻塞队列-LinkedBlockingQueue-生产者-add&offer方法 10 081.阻塞队列-LinkedBlockingQueue-生产者-offer(time,unit)&put方法 11 082.阻塞队列-LinkedBlockingQueue-消费者remove&poll()方法 12 083.阻塞队列-LinkedBlockingQueue-消费者poll(time,unit)&take方法 13 084.阻塞队列-PriorityBlockingQueue-介绍 14 085.阻塞队列-PriorityBlockingQueue-二叉堆介绍 15 086.阻塞队列-PriorityBlockingQueue-核心属性 16 087.阻塞队列-PriorityBlockingQueue-写源码分析-offer流程 17 088.阻塞队列-PriorityBlockingQueue-写源码分析-扩容 18 089.阻塞队列-PriorityBlockingQueue-写源码分析-添加数据保证结构 19 090.阻塞队列-PriorityBlockingQueue-读源码分析-获取数据流程 20 091.阻塞队列-PriorityBlockingQueue-读源码分析-dequeue核心流程 21 092.阻塞队列-PriorityBlockingQueue-读源码分析-保证二叉堆结构 22 093.阻塞队列-DelayQueue-介绍&应用 23 094.阻塞队列-DelayQueue-核心属性 24 095.阻塞队列-DelayQueue-写入数据流程 25 096.阻塞队列-DelayQueue-读取数据流程-remove&poll 26 097.阻塞队列-DelayQueue-读取数据流程-poll(time,unit) 27 098.阻塞队列-DelayQueue-读取数据流程-take 28 098.阻塞队列-SynchronousQueue-介绍 29 099.阻塞队列-SynchronousQueue-核心属性特点 30 100.阻塞队列-SynchronousQueue-TransferQueue源码-QNode 31 101.阻塞队列-SynchronousQueue-TransferQueue源码-transfer方法 32 224.阻塞队列-SynchronousQueue-TransferQueue源码-transfer方法流程图
  • 05 五、线程池 01 099-线程池-线程池整体内容介绍 02 100-线程池-什么是线程池 03 101-线程池-JDK自带的构建线程池方式-固定长度线程池 04 102-线程池-JDK自带的构建线程池方式-单例线程池mp4 05 103-线程池-JDK自带的构建线程池方式-缓存线程池 06 104-线程池-JDK自带的构建线程池方式-定时任务线程池 07 105-线程池-JDK自带的构建线程池方式-工作窃取线程池 08 106-线程池-ThreadPoolExecutor-为什么要自定义线程池 09 107-线程池-ThreadPoolExecutor-线程池使用 10 108-线程池-ThreadPoolExecutor-源码-核心属性 11 109-线程池-ThreadPoolExecutor-源码-有参构造 12 110-线程池-ThreadPoolExecutor-源码-execute 13 111-线程池-ThreadPoolExecutor-源码-addWorker(上) 14 112-线程池-ThreadPoolExecutor-源码-addWorker(下) 15 113-线程池-ThreadPoolExecutor-源码-Worker类 16 114-线程池-ThreadPoolExecutor-源码-runWorker(上) 17 115-线程池-ThreadPoolExecutor-源码-runWorker(下) 18 116-线程池-ThreadPoolExecutor-源码-getTask 19 117-线程池-ThreadPoolExecutor-源码-shutdownNow方法 20 118-线程池-ThreadPoolExecutor-源码-shutdown方法 21 119-线程池-ThreadPoolExecutor-源码-线程池的核心参数到底如何设置 22 120-线程池-ThreadPoolExecutor-源码-核心执行图 23 121-线程池-定时任务线程池-介绍 24 122-线程池-定时任务线程池-应用 25 123-线程池-定时任务线程池-源码-核心属性和类 26 124-线程池-定时任务线程池-源码-schedule方法 27 125-线程池-定时任务线程池-源码-At和With方法&任务的run方法
  • 06 六、并发集合 01 126.并发集合-整体课程介绍 02 127.并发集合-ConcurrentHashMap-基础知识扫盲 03 128.并发集合-ConcurrentHashMap-put方法 04 129.并发集合-ConcurrentHashMap-putVal方法-散列算法 05 130.并发集合-ConcurrentHashMap-putVal方法-插入数据(无Hash冲突) 06 131.并发集合-ConcurrentHashMap-putVal方法-初始化数组 07 132.并发集合-ConcurrentHashMap-putVal方法-插入数据(挂链表-一) 08 133.并发集合-ConcurrentHashMap-putVal方法-插入数据(挂链表-二) 09 134.并发集合-ConcurrentHashMap-扩容操作-treeifyBin触发扩容 10 135.并发集合-ConcurrentHashMap-扩容操作-tryPreSize(上) 11 136.并发集合-ConcurrentHashMap-扩容操作-tryPreSize(中) 12 137.并发集合-ConcurrentHashMap-扩容操作-tryPreSize(下) 13 138.并发集合-ConcurrentHashMap-扩容操作-transfer方法(一) 14 139.并发集合-ConcurrentHashMap-扩容操作-transfer方法(二) 15 140.并发集合-ConcurrentHashMap-扩容操作-transfer方法(三) 16 141.并发集合-ConcurrentHashMap-扩容操作-transfer方法(四) 17 142.并发集合-ConcurrentHashMap-扩容操作-transfer方法(五) 18 143.并发集合-ConcurrentHashMap-扩容操作-helpTransfer方法 19 144.并发集合-ConcurrentHashMap-红黑树简单介绍 20 145.并发集合-ConcurrentHashMap-封装TreeNode和双向链表 21 146.并发集合-ConcurrentHashMap-TreeBin有参构造-双向链表链表转红黑树 22 147.并发集合-ConcurrentHashMap-balanceInsertion方法-保证红黑树平衡以及特性 23 148.并发集合-ConcurrentHashMap-putTreeVal-插入节点到红黑树 24 149.并发集合-ConcurrentHashMap-TreeBin的锁操作 25 150.并发集合-ConcurrentHashMap-红黑树迁移操作 26 151.并发集合-ConcurrentHashMap-get方法-查询数据的入口 27 152.并发集合-ConcurrentHashMap-ForwardingNode&ReservationNode的find方法 28 153.并发集合-ConcurrentHashMap-TreeBin的find方法 29 154.并发集合-ConcurrentHashMap-红黑树的查询方法 30 155.并发集合-ConcurrentHashMap-compute方法使用 31 156.并发集合-ConcurrentHashMap-compute方法源码分析 32 157.并发集合-ConcurrentHashMap-compute方法BUG以及IfPresent&IfAbsent区别 33 158.并发集合-ConcurrentHashMap-replace方法 34 159.并发集合-ConcurrentHashMap-merge方法 35 160.并发集合-ConcurrentHashMap的addCount方法(LongAdder) 36 161.并发集合-ConcurrentHashMap的addCount方法(CounterCell) 37 162.并发集合-ConcurrentHashMap的addCount方法(计数前置操作) 38 163.并发集合-ConcurrentHashMap的addCount方法(fullAddCount操作) 39 164.并发集合-ConcurrentHashMap的addCount方法(扩容的判断) 40 165.并发集合-ConcurrentHashMap的size方法 41 224.JDK1.7的HashMap的环形链表 42 210.并发集合-CopyOnWriteArrayList课程内容 43 211.并发集合-CopyOnWriteArrayList介绍 44 212.并发集合-CopyOnWriteArrayList核心属性&方法 45 213.并发集合-CopyOnWriteArrayList读操作 46 214.并发集合-CopyOnWriteArrayList写操作 47 215.并发集合-CopyOnWriteArrayList移除数据 48 216.并发集合-CopyOnWriteArrayList覆盖数据&清空集合 49 217.并发集合-CopyOnWriteArrayList迭代器
  • 07 七、JUC并发工具 01 166-JUC并发工具-整体课程介绍 02 167-JUC并发工具-CountDownLatch-介绍 03 168-JUC并发工具-CountDownLatch-应用 04 169-JUC并发工具-CountDownLatch-源码(核心属性分析) 05 170-JUC并发工具-CountDownLatch-源码(方法分析) 06 171-JUC并发工具-CyclicBarrier-介绍 07 172-JUC并发工具-CyclicBarrier-应用 08 173-JUC并发工具-CyclicBarrier-源码(核心属性) 09 174-JUC并发工具-CyclicBarrier-源码(核心方法) 10 175-JUC并发工具-Semaphore-介绍 11 176-JUC并发工具-Semaphore-应用 12 177-JUC并发工具-Semaphore-源码(结构分析) 13 178-JUC并发工具-Semaphore-源码(非公平获取资源) 14 179-JUC并发工具-Semaphore-源码(非公平获取其他方法) 15 180-JUC并发工具-Semaphore-源码(公平方式) 16 181-JUC并发工具-Semaphore-源码(释放资源) 17 182-JUC并发工具-Semaphore-1.5版本BUG 18 183-JUC并发工具-Semaphore-1.8版本处理mp4
  • 08 八、异步编程 01 184-异步编程-FutureTask-介绍 02 185-异步编程-FutureTask-应用 03 186-异步编程-FutureTask-源码-核心属性 04 187-异步编程-FutureTask-源码-run方法 05 188-异步编程-FutureTask-源码-set&setException 06 189-异步编程-FutureTask-源码-cancel 07 190-异步编程-FutureTask-源码-get 08 191-异步编程-FutureTask-源码-finishCompletion 09 192-异步编程-CompletableFuture-介绍 10 193-异步编程-CompletableFuture-应用-基础函数认知 11 194-异步编程-CompletableFuture-应用-supplyAsync 12 195-异步编程-CompletableFuture-应用-runAsync 13 196-异步编程-CompletableFuture-应用-thenApply 14 197-异步编程-CompletableFuture-应用-thenAccept 15 198-异步编程-CompletableFuture-应用-thenRun 16 199-异步编程-CompletableFuture-应用-thenCombine 17 200-异步编程-CompletableFuture-应用-applyToEither 18 201-异步编程-CompletableFuture-应用-exceptionally 19 202-异步编程-CompletableFuture-应用-whenComplete,handle 20 203-异步编程-CompletableFuture-应用-allOf,anyOf 21 204-异步编程-CompletableFuture-源码-执行当前方法 22 205-异步编程-CompletableFuture-源码-任务编排的存储&执行方式 23 206-异步编程-CompletableFuture-源码-任务编排流程 24 207-异步编程-CompletableFuture-源码-后置任务执行时机(一) 25 208-异步编程-CompletableFuture-源码-后置任务执行时机(二) 26 209-异步编程-CompletableFuture-核心执行流程图
  • 03 高并发解决方案之协程
  • 01 线程基础知识
  • 01 多线程内容特点以及学习方法
  • 02 从一则招聘谈起
  • 03 线程的历史-CPU性能压榨的血泪史
  • 04 大厂必问_什么是进程线程纤程
  • 05 从底层角度理解什么是进程
  • 06 从通俗角度理解什么是线程
  • 07 从底层角度理解什么是线程
  • 08 什么是线程的切换
  • 09 单核CPU设定多线程是否有意义 10 线程数是不是越大越好_1 11 线程数是不是越大越好_2 12 线程数设多少最合适_1 13 线程数设多少最合适_2 14 线程数设多少最合适_3 15 线程数设多少最合适_4 16 线程数设多少最合适_5 17 线程数设多少最合适_6
  • 18 阶段小结 02 面试题:创建线程的5种方法 01 创建线程的5种方法开篇
  • 02 Thread_Runnable_Lambda
  • 03 使用ThreadPool
  • 04 线程池和Callable
  • 05 运用FutureTask
  • 06 阶段总结
  • 03 线程状态
  • 01 线程状态开篇 02 6种线程状态的简介
  • 03 线程状态迁移简介
  • 04 NEW_RUNNABLE_TERMINATED
  • 05 WAITING_TIMEDWAITING
  • 06 BLOCKED 07 线程状态在Lock和synchronized的区别
  • 08 park之后的线程状态
  • 09 线程状态阶段总结
  • 04 线程打断inerrupt
  • 01 线程的interruption开篇 02 线程打断3方法 03 interrupt_and_isInterrupted 04 interrupt_and_interrupted
  • 05 interrupt_and_sleep
  • 06 interrupt_and_wait 07 interrupt_and_synchronized
  • 08 interrupt_and_lock 09 interrupt_and_lockInterruptibly
  • 10 interrupt_阶段总结
  • 05 线程的结束
  • 01 问题:如何优雅的结束一个正在运行的线程
  • 02 使用stop方法结束线程
  • 03 为什么不建议使用stop方法
  • 04 suspend_resume
  • 05 为什么不建议使用suspend_resume
  • 06 volatile结束线程
  • 07 interrupt结束线程
  • 08 阶段总结
  • 06 并发编程三大特性简介
  • 01 并发编程三大特性开篇
  • 07 并发编程之可见性
  • 01 从一个程序谈起
  • 02 可见性的基本概念
  • 03 用volatile保障可见性 04 04_某些语句触发内存缓存同步刷新
  • 05 volatile修饰引用类型
  • 06 三级缓存
  • 07 缓存行的基本概念 08 通过程序认识缓存一致性_01 09 通过程序认识缓存一致性_02
  • 10 认识Disruptor中缓存行对齐的写法
  • 11 认识Contended
  • 12 认识硬件层面的缓存一致性 13 为什么缓存一行是64字节
  • 14 阶段小结
  • 08 并发编程之有序性
  • 01 并发编程之有序性_问题的提出
  • 02 乱序的验证
  • 03 乱序的分析
  • 04 为何会存在乱序
  • 05 乱序的原则 06 通过一个小程序认识可见性和有序性_01 07 通过一个小程序认识可见性和有序性_02 08 对象的半初始化状态_01 09 对象的半初始化状态_02 10 this对象逸出_01 11 this对象逸出_02 12 this对象逸出_03 13 this对象逸出_04 14 链接到美团7连问
  • 15 阶段小结
  • 16 happens-before原则
  • 17 CPU用屏障指令阻止乱序
  • 18 JVM要求实现的四种屏障
  • 19 用volatile禁止指令重排
  • 20 volatile在hotspot中的实现
  • 21 有序性总结
  • 09 并发编程之原子性
  • 01 从一个小程序认识原子性的概念(一)
  • 02 从一个小程序认识原子性的概念(二)
  • 03 底层原子性和JVM原子性(一)
  • 04 底层原子性和JVM原子性(二)
  • 05 用上锁保证原子性
  • 06 上锁的本质(一)
  • 07 上锁的本质(二)
  • 08 上锁的本质(三)
  • 09 上锁的本质(四)
  • 10 一些同步的基本概念_锁的粒度
  • 11 阶段小结
  • 12 悲观锁与乐观锁
  • 13 CAS的概念解析
  • 14 CAS的ABA问题
  • 15 CAS的底层原子性保障
  • 16 通过Atomic类深入认识CAS
  • 17 深入Hotspot代码深入理解CAS
  • 18 答疑与阶段小结
  • 19 乐观锁与悲观锁的效率谁更高
  • 20 synchronized和三大特性
  • 10 synchronized锁升级深入详解
  • 01 synchronized锁升级深入详解
  • 11 多线程与高并发(一)
  • 01 �γ̹滮
  • 02 线程的概念
  • 03 线程的启动方式 04 线程的3个方法
  • 05 线程的状态
  • 06 锁的概念
  • 07 锁的特性
  • 08 设计小程序验证锁的问题
  • 09 锁的可重入属性
  • 10 异常跟锁
  • 12 多线程与高并发(二)
  • 01 锁的底层实现 02 1课后总结 03 2课前复习
  • 04 Volatile保证线程可见性
  • 05 Volatile禁止指令重排序
  • 06 Volatile不能保证原子性
  • 07 synchronized优化 08 1课程简单回顾 09 CAS(1) 10 CAS(2) 11 2课后总结
  • 13 多线程与高并发(三) 01 3课前复习
  • 02 LongAdder
  • 03 间接性复习
  • 04 ReentrantLock
  • 05 CountDownLatch
  • 06 CyclicBarrier
  • 07 Phaser
  • 08 ReadWriteLock
  • 09 Semaphore
  • 14 多线程与高并发(四)
  • 01 Exchanger 02 4课前复习和课程规划
  • 03 LockSupport 04 面试题一(1)_volatile 05 面试题一(2)_wait,notify 06 面试题一(3)_CountDownLatch 07 面试题一(4)_Semaphore,其他思路 08 面试题二(1)_synchronized 09 面试题二(2)_CAS
  • 10 读源码的方法
  • 15 多线程与高并发(五)
  • 01 ReentrantLock源码
  • 02 AQS源码 03 4作业 04 5课前复习
  • 05 AQS源码复习
  • 06 AQS源码复习
  • 07 ThreadLocal
  • 08 强引用
  • 09 软引用
  • 10 弱引用
  • 11 虚引用 12 5课后总结和下节课预习
  • 16 多线程与高并发(六) 01 6课前规划
  • 02 容器概览
  • 03 ConcurrentHashMap的发展
  • 04 Vector到Queue的发展
  • 05 经常在多线程情况 下使用的容器1 06 经常在多线程情况下使用的容器2 07 6复习
  • 08 阻塞队列中比较特殊的几个队列 09 6课后总结
  • 17 多线程与高并发(七)
  • 01 面试题_复习
  • 02 面试题_复习
  • 03 线程池几个常用类的拓展
  • 04 CompletableFuture
  • 05 线程池参数
  • 06 默认拒绝策略应用场景
  • 07 SingleThreadPool
  • 08 CachedPool
  • 09 FixedThreadPool
  • 18 多线程与高并发(八)
  • 01 ScheduledPool
  • 02 并发和并行对比
  • 03 手敲一个定义拒绝策略的例子 04 8课前复习
  • 05 ThreadPoolExecutor源码解析
  • 06 ThreadPoolExecutor源码总结
  • 07 WorkStealingPool
  • 08 ForkJoinPool
  • 09 两个Pool的区别 10 流式API和8课后总结
  • 19 多线程与高并发(九) 01 9课前导读和JMH创建
  • 02 JMH测试实操
  • 03 Disruptor的核心
  • 04 Disruptor开发步骤 05 Disruptor示例程序_Main01 06 Disruptor示例程序_Main02 07 Disruptor示例程序_Main03
  • 08 ProducerType
  • 09 等待策略
  • 10 消费者的指定和异常处理
  • 11 Disruptor总结
  • 04 Hadoop生态技术体系
  • 01 分布式协调服务zooKeeper 01 分布式协调服务Zookeeper2022
  • 01 Zookeeper实战教程 01 01-为什么要使用Zookeeper 02 02-Zookeeper介绍 03 03-Zookeeper的集群环境准备 04 04-集群环境搭建(上) 05 05-集群环境搭建(下) 06 06-集群选举策略介绍 07 07-环境变量配置和客户端连接 08 08-客户端-常用命令(上) 09 09-客户端-常用命令(下) 10 10-JavaAPI操作(上) 11 11-JavaAPI操作(下)
  • 02 分布式协调服务zooKeeper
  • 01 Zookeeper实战教程 01 01-为什么要使用Zookeeper 02 02-Zookeeper介绍 03 03-Zookeeper的集群环境准备 04 04-集群环境搭建(上) 05 05-集群环境搭建(下) 06 06-集群选举策略介绍 07 07-环境变量配置和客户端连接 08 08-客户端-常用命令(上) 09 09-客户端-常用命令(下) 10 10-JavaAPI操作(上) 11 11-JavaAPI操作(下)
  • 02 Hadoop 分布式文件系统HDFS 01 Hadoop之分布式文件系统HDFS-【单独录播版】
10 第十章 - HDFS 源码 01 100-HDFS源码介绍 02 101-HDFS RPC通信原理 03 102-HDFS RPC通信案例 04 103-HDFS NameNode启动源码-启动HttpServer及加载fsimage 05 104-HDFS NameNode启动源码 - RpcServer创建及启动 06 105-HDFS NameNode启动源码 - NameNode启动流程 07 106-HDFS DataNode启动源码 - 启动 DataNode Rpc服务 08 107-HDFS DataNode启动源码 - 获取NameNode代理准备 09 108-HDFS DataNode启动源码 - DN向NN汇报并心跳 10 109-dataXceiverServer及ipcServer服务启动 11 110-HDFS 数据上传源码-DFSClient初始化 12 111-HDFS DataNode启动源码 - 创建目录及DataStreamer线程启动 13 112-HDFS DataNode启动源码 - 客户端写入数据到集群 14 113-HDFS DataNode写入数据副本策略 15 114-HDFS DataNode数据写入 16 115-HDFS 数据读取源码-01 17 116-HDFS 数据读取源码-02 18 117-HDFS 源码总结1 条
  • 02 Hadoop分布式文件系统-【过渡版】
10 第十章 - HDFS 源码 01 100-HDFS源码介绍 02 101-HDFS RPC通信原理 03 102-HDFS RPC通信案例 04 103-HDFS NameNode启动源码-启动HttpServer及加载fsimage 05 104-HDFS NameNode启动源码 - RpcServer创建及启动 06 105-HDFS NameNode启动源码 - NameNode启动流程 07 106-HDFS DataNode启动源码 - 启动 DataNode Rpc服务 08 107-HDFS DataNode启动源码 - 获取NameNode代理准备 09 108-HDFS DataNode启动源码 - DN向NN汇报并心跳 10 109-dataXceiverServer及ipcServer服务启动 11 110-HDFS 数据上传源码-DFSClient初始化 12 111-HDFS DataNode启动源码 - 创建目录及DataStreamer线程启动 13 112-HDFS DataNode启动源码 - 客户端写入数据到集群 14 113-HDFS DataNode写入数据副本策略 15 114-HDFS DataNode数据写入 16 115-HDFS 数据读取源码-01 17 116-HDFS 数据读取源码-02 18 117-HDFS 源码总结1 条
  • 03 Hadoop 分布式文件系统HDFS
02 第二章 MR 计算框架 与 Yarn资源调度框架 01 01-MapReduce-什么是MapReduce 02 02-MapReduce-MapReduce原理-01 03 03-MapReduce-MapReduce原理-02 04 04-MapReduce基于Yarn运行原理 05 05-Yarn集群搭建与启动17 条
  • 03 Hadoop 分布式计算框架MapReduce
  • 01 MapReduce【单独录播版】
  • 01 MapReduce介绍
  • 01 课程资料介绍 02 01-MapRedcue-总体介绍 03 02-MapReduce-MR概念及优缺点 04 03-MapReduce-MR编程思想-01 05 04-MapReduce-MR编程思想-02 06 05-MapReduce-MR处理数据流程 07 06-MapReduce-注意点 08 07-MapReduce-MapReduce介绍总结
  • 02 MapReduce使用及原理 01 08-MapReduce快速入门-环境准备 02 09-MapReduce WordCount-Mapper编写 03 10-MapReduce WordCount-Reducer编写 04 11-MapReduce WordCount-Driver编写 05 12-MapReduce 自定义序列化 06 13-MapReduce 自定义序列化案例实现-01 07 14-MapReduce 自定义序列化案例实现-02 08 15-MapReduce 自定义序列化案例实现-03 09 16-MapReduce 自定义序列化案例实现-04 10 17-MapReduce 自定义序列化案例实现-05 11 18-MapReduce Shuffle过程 12 19-MapReduce Partition 分区 13 20-MapReduce Partition分区案例 14 21-MapReduce 全局排序案例实现-01 15 22-MapReduce 全局排序案例实现-02 16 23-MapReduce 全局排序案例及二次排序 17 24-MapReduce 分区内排序及案例 18 25-MapReduce Combiner操作及案例 19 26-MapReduce 自定义分组比较器-案例需求 20 27-MapReduce 不使用分组比较器实现需求-对象及分区器创建 21 28-MapReduce 不使用分组比较器实现需求 - Mapper&Reducer实现 22 29-MapReduce 不使用分组比较器实现需求 - 运行结果分析 23 30-MapReduce Reduce端分组比较器案例实现 24 31-MapReduce 自定义输出格式-01 25 32-MapReduce 自定义输出格式-02 26 33-MapReduce 自定义输出格式-03 27 34-MapReduce Join 实现思路 28 35-MapReduce Join 案例 - Mapper实现 29 36-MapReduce Join案例 - Reducer实现 30 36补充-MapReduce Join案例补充 31 37-MapRedcue MapJoin 及案例 32 38-MapReduce 压缩格式及使用介绍 33 39-MapReduce 压缩格式代码案例 34 40-MapRedcue 使用及原理总结
  • 03 MapReduce源码 01 41-MapReduce 源码-内容介绍 02 42-MapReduce 源码-Job提交流程 03 43-MapReduce 源码 - Split切分源码 04 44-MapReduce 源码 - MapTask运行 05 45-MapReduce 源码 - MapTask输出 06 46-MapReduce 源码 - Reduce Task运行 07 47-MapReduce 源码 总结
  • 02 Hadoop 分布式计算框架MapReduce
  • 01 MapReduce介绍
  • 01 课程资料介绍 02 01-MapRedcue-总体介绍 03 02-MapReduce-MR概念及优缺点 04 03-MapReduce-MR编程思想-01 05 04-MapReduce-MR编程思想-02 06 05-MapReduce-MR处理数据流程 07 06-MapReduce-注意点 08 07-MapReduce-MapReduce介绍总结
  • 02 MapReduce使用及原理 01 08-MapReduce快速入门-环境准备 02 09-MapReduce WordCount-Mapper编写 03 10-MapReduce WordCount-Reducer编写 04 11-MapReduce WordCount-Driver编写 05 12-MapReduce 自定义序列化 06 13-MapReduce 自定义序列化案例实现-01 07 14-MapReduce 自定义序列化案例实现-02 08 15-MapReduce 自定义序列化案例实现-03 09 16-MapReduce 自定义序列化案例实现-04 10 17-MapReduce 自定义序列化案例实现-05 11 18-MapReduce Shuffle过程 12 19-MapReduce Partition 分区 13 20-MapReduce Partition分区案例 14 21-MapReduce 全局排序案例实现-01 15 22-MapReduce 全局排序案例实现-02 16 23-MapReduce 全局排序案例及二次排序 17 24-MapReduce 分区内排序及案例 18 25-MapReduce Combiner操作及案例 19 26-MapReduce 自定义分组比较器-案例需求 20 27-MapReduce 不使用分组比较器实现需求-对象及分区器创建 21 28-MapReduce 不使用分组比较器实现需求 - Mapper&Reducer实现 22 29-MapReduce 不使用分组比较器实现需求 - 运行结果分析 23 30-MapReduce Reduce端分组比较器案例实现 24 31-MapReduce 自定义输出格式-01 25 32-MapReduce 自定义输出格式-02 26 33-MapReduce 自定义输出格式-03 27 34-MapReduce Join 实现思路 28 35-MapReduce Join 案例 - Mapper实现 29 36-MapReduce Join案例 - Reducer实现 30 36补充-MapReduce Join案例补充 31 37-MapRedcue MapJoin 及案例 32 38-MapReduce 压缩格式及使用介绍 33 39-MapReduce 压缩格式代码案例 34 40-MapRedcue 使用及原理总结
  • 03 MapReduce源码 01 41-MapReduce 源码-内容介绍 02 42-MapReduce 源码-Job提交流程 03 43-MapReduce 源码 - Split切分源码 04 44-MapReduce 源码 - MapTask运行 05 45-MapReduce 源码 - MapTask输出 06 46-MapReduce 源码 - Reduce Task运行 07 47-MapReduce 源码 总结
  • 04 Hadoop分布式资源调度框架Yarn
  • 01 Hadoop分布式资源调度框架Yarn
  • 01 Yarn资源调度框架 01 01-Yarn - Hadoop1.x架构及缺点 02 02-Yarn - Yarn资源管理平台 03 03-Yarn - Yarn任务运行流程 04 04-Yarn - Yarn HA集群搭建启动 05 05-Yarn - Hadoop 角色单独启动停止 06 06-Yarn - 自带wordcount案例基于Yarn运行 07 07-Yarn - 自己编写MR 任务基于Yarn运行 08 08-Yarn - 第一章节总结
  • 02 Yarn命令及配置 01 09-Yarn - 第二章节介绍 02 10-Yarn - Hadoop-安装lzo及lzop工具 03 11-Yarn - Hadoop-lzo搭建-maven安装 04 12-Yarn - Hadoop-lzo搭建-编译安装 05 13-Yarn - Hadoop-lzo搭建-Hadoop环境配置lzo 06 14-Yarn - Hadoop MR Lzo压缩格式测试 07 15-Yarn - MapReduce HistoryServer历史日志服务器 08 16-Yarn - Hadoop生态端口总结 09 17-Yarn - Yarn 常用命令 - 01 10 18-Yarn - Yarn 常用命令-02 11 19-Yarn - Yarn 资源相关参数 12 20-Yarn - Yarn 其他参数 13 21-Yarn Scheduler - FIFO 调度器及案例测试 14 22-Yarn Scheduler - Capacity 调度器及资源分配策略 15 23-Yarn Scheduler - Capacity 调度器多队列配置 16 24-Yarn Scheduler - Capacity 调度器任务提交测试 17 25-Yarn Scheduler - Fair 调度器介绍 18 26-Yarn Scheduler - Fair 调度器提交任务测试 19 27-Yarn Scheduler - Fair 调度器配置 20 28-Yarn三种调度器对比 21 29-Yarn 章节总结
  • 05 分布式数据仓库 Hive
  • 01 Hive数据仓库工具-【单独录播版】
01 第一章 Hive架构及搭建1 条
  • 01 关于资料问题 02 01-Hive架构及搭建-什么是Hive 03 02-Hive架构及搭建-数据仓库与数据库区别 04 03-Hive架构及搭建-Hive架构 05 04-Hive架构及搭建-MySQL8搭建及配置 06 05-Hive架构及搭建 - Hive搭建方式 07 06-Hive架构及搭建 - 直连MySQL数据库模式-01 08 07-Hive架构及搭建 - 直连MySQL数据库模式-02 09 08-Hive架构及搭建 - Hive 远程服务器模式 10 09-Hive架构及搭建 - Beeline连接Hive 11 10-Hive架构及搭建 - DataGrip连接Hive 12 11-Hive架构及搭建- 章节总结
06 第六章 Hive源码 01 138-Hive 源码 - 源码总览 02 139-Hive源码 - beeline入口类确定 03 140-Hive源码 - Beeline main方法执行 04 141-Hive源码-向HiveServer2提交SQL 05 142-Hive源码 - SQLOperation runInternal方法 06 143-Hive源码 - SQL转换ASTNode对象 07 144-Hive源码 - AST转换TaskTree流程 08 145-Hive源码 - Driver提交MR 任务1 条
  • 02 分布式数据仓库Hive-【过渡版】
01 第一章 Hive架构及搭建1 条
  • 01 关于资料问题 02 01-Hive架构及搭建-什么是Hive 03 02-Hive架构及搭建-数据仓库与数据库区别 04 03-Hive架构及搭建-Hive架构 05 04-Hive架构及搭建-MySQL8搭建及配置 06 05-Hive架构及搭建 - Hive搭建方式 07 06-Hive架构及搭建 - 直连MySQL数据库模式-01 08 07-Hive架构及搭建 - 直连MySQL数据库模式-02 09 08-Hive架构及搭建 - Hive 远程服务器模式 10 09-Hive架构及搭建 - Beeline连接Hive 11 10-Hive架构及搭建 - DataGrip连接Hive 12 11-Hive架构及搭建- 章节总结
06 第六章 Hive源码 01 138-Hive 源码 - 源码总览 02 139-Hive源码 - beeline入口类确定 03 140-Hive源码 - Beeline main方法执行 04 141-Hive源码-向HiveServer2提交SQL 05 142-Hive源码 - SQLOperation runInternal方法 06 143-Hive源码 - SQL转换ASTNode对象 07 144-Hive源码 - AST转换TaskTree流程 08 145-Hive源码 - Driver提交MR 任务1 条
  • 03 分布式数据仓库 Hive
01 第一章 分布式数据仓库Hive 01 01-Hive是什么为什么需要Hive 02 02-Hive架构原理 03 03-Hive搭建模式介绍 04 04-MySQL搭建 05 05-Hive直连方式搭建 06 06-Hive直连方式初始化及测试 07 07-Hive远端连接配置及使用测试 08 08-Hive基本语句及数据类型 09 09-Hive建表语句 10 10-Hive建表加载数据01 11 11-Hive建表加载数据02 12 12-Hive 内部表及外部表-01 13 13-Hive 内部表及外部表-02 14 14-Hive 内部表及外部表-03 15 15-Hive 单分区 16 16-Hive 双分区 17 17-Hive 添加分区 18 18-Hive 删除分区 19 19-Hive 修复分区 20 20-Hive 基于已有表建表及删除表数据 21 21-Hive 多种方式向Hive表中插入数据 22 22-Hive SerDe解释及使用 23 23-连接Hive的方式及Cli与JDBC方式连接区别 24 24-配置HiveServer2说明 25 25-使用本地内嵌方式通过beeline连接Hive 26 26-使用远端方式通过beeline连接Hive 27 27-Hive关系运算符与算术运算符操作 28 28-Hive逻辑操作及复杂类型函数操作 29 29-Hive数据函数&收集函数&类型转换函数使用 30 30-Hive日期函数操作 31 31-Hive条件函数及字符串函数操作 32 32-Hive聚合函数及生成函数操作 33 33-使用Python自定义Hive UDF函数-01 34 34-使用Python自定义Hive UDF函数-02 35 35-使用Python自定义Hive UDF函数-03 36 36-Hive案例之Sturct表创建使用 37 37-Hive案例之基站信息统计 38 38-Hive案例之WordCount统计 39 39-Hive案例之统计不相交数据 40 40-Hive案例之统计分值结果 41 41-Hive 参数设置方式及Hive命令记录 42 42-Hive 动态分区及优化参数 43 43-Hive分桶表 44 44-Hive 分桶表加载数据其他方式 45 45-Hive 分区分桶表及加载数据 46 46-Hive Lateral view及实战案例 47 47-Hive 视图及使用 48 48-Hive索引-了解内容 49 49-Hive命令行及脚本方式运行 50 50-python通过JDBC方式连接Hive 51 51-Hive Web GUI接口 52 52-Hive 权限介绍及权限配置 53 53-Hive jdbc登录测试角色 54 54-Hive 给用户或者角色授权角色权限 55 55-Hive 给用户或者角色授权操作库表权 56 56-Hive优化之Fetch抓取与本地模式运行 57 57-Hive优化之并行模式 58 58-Hive优化之严格模式与非严格模式 59 59-Hive优化之Hive排序Order by & sort by 60 60-Hive优化之Hive排序distribute by & cluster by 61 61-Hive优化之分区剪裁、列剪裁 62 62-Hive优化之推测执行 63 63-Hive优化之Hive小表join大表优化 64 64-Hive优化之Hive大表join大表优化 65 65-Hive优化之Map side 预聚合 66 66-Hive优化之Count(distinct)优化及避免笛卡尔积 67 67-Hive优化之合理设置Map与Reduce task数量 68 68-Hive Hiveserver2 HA高可用搭建及测试2 条
  • 06 分布式数据库HBase
  • 01 分布式数据库HBase【单独录播版】
03 第三章 HBase高级使用 01 49-HBase 高级使用章节介绍 02 50-HBase 优化 - RowKey设计 03 51-HBase 优化 - 列族和列设计 04 52-HBase优化 - 布隆过滤器设置 05 53-HBase优化 - Region预分区优化 06 54-HBase优化 - 参数优化 07 55-HBase优化 - 批量写 08 56-HBase优化 - Scan设置批量缓存条数 09 57-HBase优化 - 使用数据压缩 10 58-HBase优化 - BulkLoading 优化 -01 11 59-HBase优化 - BulkLoading 优化 -02 12 60-Hive整合HBase - 整合语句及配置 13 61-Hive整合HBase - HBase已存在表整合 14 62-Hive整合HBase - HBase不存在表整合 15 63-HBase 协处理器 - 协处理器原理及案例 16 64-HBase 协处理器 - 协处理器案例测试 17 65-HBase 高级使用章节总结1 条
  • 02 分布式数据库HBase
03 第三章 HBase高级使用 01 49-HBase 高级使用章节介绍 02 50-HBase 优化 - RowKey设计 03 51-HBase 优化 - 列族和列设计 04 52-HBase优化 - 布隆过滤器设置 05 53-HBase优化 - Region预分区优化 06 54-HBase优化 - 参数优化 07 55-HBase优化 - 批量写 08 56-HBase优化 - Scan设置批量缓存条数 09 57-HBase优化 - 使用数据压缩 10 58-HBase优化 - BulkLoading 优化 -01 11 59-HBase优化 - BulkLoading 优化 -02 12 60-Hive整合HBase - 整合语句及配置 13 61-Hive整合HBase - HBase已存在表整合 14 62-Hive整合HBase - HBase不存在表整合 15 63-HBase 协处理器 - 协处理器原理及案例 16 64-HBase 协处理器 - 协处理器案例测试 17 65-HBase 高级使用章节总结1070 条
  • 03 分布式数据库HBase-【过渡版】
  • 01 HBase架构介绍、数据模型
  • 01 之前的遗留知识点
  • 02 HBase前置知识
  • 03 Hadoop生态系统
  • 04 HBase简介:非关系型数据库知识面扩展
  • 05 HBase数据模型
  • 06 HBase的ROW KEY
  • 07 HBase的Column Family列族& qualifier列
  • 08 HBase的Timestamp时间戳
  • 09 HBase的Cell单元格
  • 10 问题答疑 11 HBase架构介绍1
  • 12 HBase架构 13 HBase架构介绍2
  • 14 HBase架构
  • 15 Client和zookeeper
  • 16 Master和RegionServer
  • 17 Region和Memstore 与storefile
  • 18 HRegion
  • 19 HBase架构工作原理图解
  • 02 HBase伪分布式及完全分布式安装、HBase 基本命令
  • 01 课前答疑
  • 02 HBase的基本搭建的准备
  • 03 CentOS环境搭建HBase
  • 04 HBase的使用和语法 05 HBase的使用和语法2
  • 06 Hbase的架构原理 07 HBase的使用和语法3,以及休息时的问题答疑
  • 08 问题答疑
  • 09 Hive使用的一些问题
  • 10 HBase的分布式和伪分布式
  • 11 HBase的分布式和伪分布式的配置 12 HBase的分布式和伪分布式的配置2 13 HBase的分布式和伪分布式的配置3
  • 14 编写javaAPI
  • 15 编写javaAPI步骤一
  • 16 获取连接
  • 17 创建表
  • 18 使用java操作Hive
  • 03 HBase Java API、Protocol Buffer简单介绍
  • 01 上节课遗留问题
  • 02 apache phoenix
  • 03 编写javaAPI之insert
  • 04 编写javaAPI之get
  • 05 获得表中所有的记录 06 获得表中所有的记录2
  • 07 获取通话记录 08 获取通话记录2
  • 09 查询某个用户所有的主叫电话
  • 10 过滤器
  • 11 Protobuf简介和相关配置
  • 12 编写javaAPI做准备
  • 13 编写javaAPI
  • 14 编写javaAPI二
  • 15 编写javaAPI三 04 HBase与MapReduce整合、Hbase表设计
  • 01 课前答疑
  • 02 HBase MapReduce 03 hdfs读取数据2.将数据的结果存储到hbase1 04 从hdfs读取数据2.将数据的结果存储到hbase2
  • 05 InputFormat,OutputFormat
  • 06 根据题目实现表设计 07 根据题目实现表设计2 08 根据题目实现表设计3 09 根据题目实现表设计4 10 根据题目实现表设计5
  • 11 Rowkey设计
  • 12 Rowkey设计原则:越短越好提高效率
  • 13 Rowkey设计原子:散列原则-实现负载均衡
  • 14 Rowkey设计原则:唯一原则-字典序排序存储
  • 15 举例讲解:Rowkey设计原则
  • 05 Hbase优化及LSM树
  • 01 列族设计需要规避的问题
  • 02 不要在一张表里定义太多的column family
  • 03 列族设计:in menmory,Max Version,Time to Live,Compaction,
  • 04 minor compaction的一些参数
  • 05 HBase写操作
  • 06 HBase读表优化
  • 07 HBase LSM树存储结构
  • 08 LSM的设计思想和原理 09 LSM的设计思想和原理2
  • 10 HBase读取数据详细解释
  • 11 构建StoreFileScanner 12 过滤淘汰StoreFileScanner和Seekrowkey
  • 13 StoreFileScanner合并构建最小堆
  • 14 为什么这些Scanner需要由小到大排序
  • 15 不同KeyValue之间如何进行大小比较 16 scan查询1 17 scan查询2
  • 07 Redis缓存数据库 01 redis6.x源码 01 redis6.x源码(2022) 01 redis6.x新老特性讲解
  • 02 redis基本类型源码原理
  • 03 redis集群技术实现进阶 04 redis集群技术实现进阶2
  • 05 redis调优分析和配置项分析
  • 06 redisson源码分析分布式锁实现原理 07 redisson源码分析分布式锁实现原理2 08 redis+mysql双写一致性1 09 redis+mysql双写一致性2 02 2021新版redis6.x及redisson 01 redis6.x源码(2022) 01 redis6.x新老特性讲解
  • 02 redis基本类型源码原理
  • 03 redis集群技术实现进阶 04 redis集群技术实现进阶2
  • 05 redis调优分析和配置项分析
  • 06 redisson源码分析分布式锁实现原理 07 redisson源码分析分布式锁实现原理2 08 redis+mysql双写一致性1 09 redis+mysql双写一致性2
  • 03 Redis缓存数据库 01 redis6.x新老特性讲解
  • 01 学这节课的前置知识
  • 02 课程安排、流程
  • 03 源码工具
  • 04 redis单线程流程
  • 05 server点c中main方法
  • 06 acceptTcpHandler方法 07 createSocketAcceptHandler方法
  • 08 InitServerLast方法
  • 09 配置文件
  • 10 reactor响应器模型
  • 11 aeMain方法
  • 02 redis基本类型源码原理
  • 01 回顾知识点
  • 02 aeProcessEvents方法
  • 03 beforSleep方法
  • 04 aeApiPoll方法 05 createSocketAcceptHandler方法
  • 06 aeProcessEvents方法 07 readQueryFromClient方法(1) 08 readQueryFromClient方法(2)
  • 09 总结和答疑
  • 03 redis集群技术实现进阶
  • 01 initServer方法
  • 02 redisDb方法
  • 03 dict方法
  • 04 dictEntry方法
  • 05 redisDb执行流程
  • 06 redis数据类型
  • 07 readQueryFromClient方法
  • 08 client方法 09 sds(1) 10 sds(2) 11 sds(3) 12 readQueryFromClient方法(1) 13 readQueryFromClient方法(2)
  • 04 redis集群技术实现进阶
  • 01 pricessMultibulkBuffer方法
  • 02 createObject方法
  • 03 server
  • 04 createStringObject方法 05 createEmbeddedStringObject方法
  • 06 obj_encoding_rew
  • 07 obj_encoding_int 08 obj_list和obj_set和obj_hash和obj_zset
  • 09 t_string
  • 10 db
  • 11 dict
  • 12 内存布局
  • 13 流程线
  • 14 正负向索引
  • 15 entry实现是最复杂的
  • 05 redis调优分析和配置项分析
  • 01 ziplist
  • 02 entry
  • 03 entry之间的跳跃
  • 04 prevlen
  • 05 encoding
  • 06 zlentry方法
  • 07 ziplist
  • 08 t_hash
  • 09 t_set
  • 10 t_list
  • 11 答疑
  • 06 redisson源码分析分布式锁实现原理
  • 01 t_zset
  • 02 zskiplist方法 03 zslInsert方法(1) 04 zslInsert方法(2)
  • 05 回顾知识点
  • 06 readQueryFromClient方法
  • 07 feedAppendOnlyFile方法
  • 08 serverCron方法 09 rewriteAppendOnlyFileBackground方法(1) 10 rewriteAppendOnlyFileBackground方法(2) 11 rewriteAppendOnlyFileBackground方法(3) 12 rewriteAppendOnlyFileBackground方法(4) 13 rewriteAppendOnlyFileBackground方法(5)
  • 07 redisson源码分析分布式锁实现原理
  • 01 全量同步
  • 02 增量
  • 03 feedAppendOnlyFile方法
  • 04 repLicationFeedSlaves方法
  • 05 replicaofCommand方法
  • 06 syncWithMaster方法 07 slaveTryPartialResynchronization方法
  • 08 redis+mysql双写一致性 01 slaveTryPartialResynchronization方法
  • 02 REPL_STATE_TRANSFER方法
  • 03 syncWithMaster
  • 04 readSyncBulkPayload方法
  • 05 struct_rio方法
  • 06 syncCommand方法
  • 07 rdbsaveToSlavesSockets方法
  • 08 rdbPipeReadHandLer方法
  • 09 rdbSaveBackground方法
  • 09 redis+mysql双写一致性
  • 01 课程简介
  • 02 课程介绍
  • 03 阻塞
  • 04 发布订阅
  • 05 事务 06 malloc(1) 07 malloc(2)
  • 10 事务、内存、阻塞、发布订阅源码
  • 01 课程安排
  • 02 需求和程序介绍 03 如果把数据库当中的某一个itemid中的nums减成0做法
  • 04 初始化数据
  • 05 random秒杀请求
  • 06 使用mysql扣减数据 和 扣减数据靠redis实现
  • 07 decrNum实现
  • 08 decrNumRedis方法 09 提升性能实现方法(1) 10 提升性能实现方法(2) 11 提升性能实现方法(3) 12 追加本地缓存实现方法(1) 13 追加本地缓存实现方法(2)
  • 14 单个商品一个线程,多个商品多个线程实现方式
  • 15 答疑
  • 11 应用及源码分析
  • 01 扣减库存
  • 02 cache-aside缓存旁路
  • 03 数据一致性
  • 04 状态
  • 05 解决方案
  • 06 解决方案中BUG的解决方法
  • 07 防止lost重复提交
  • 08 felldstat正确性
  • 08 大型电商日志离线分析系统
  • 01 大型电商日志离线分析系统 01 Hadoop项目-需求介绍及数据源产生流程需求介绍及数据流图
  • 01 课前答疑
  • 02 文档需求分析
  • 03 需求总述和用户基本信息分析模块
  • 04 浏览器信息分析模块和地域信息分析模块 05 用户访问深度分析模块,外链数据分析模块,订单数据分析模块和事件分析
  • 06 问题答疑
  • 07 根据需求分析工作流程 08 根据需求分析工作流程2 09 根据需求分析工作流程3
  • 10 js sdk执行工作流
  • 11 事件类型分析
  • 12 前端js输出日志
  • 13 问题答疑
  • 14 Nginx安装
  • 15 Nginx配置 16 Nginx配置2 02 Hadoop项目-java端和js端数据产生代码讲解及flume简单介绍
  • 01 js和java数据源
  • 02 工作流程
  • 03 js数据源代码解析
  • 04 js数据源代码解析 05 js数据源代码解析2 06 js数据源代码解析3
  • 07 配置ngx_http-log module模块
  • 08 配置ngx_http-log module模块2
  • 09 java向Nginx发送数据 10 java向Nginx发送数据2
  • 11 Apache Flume概述
  • 12 Flume的配置
  • 13 Flume的使用
  • 14 两台flume分析
  • 15 两台flume配置 16 两台flume配置2 17 两台flume配置3
  • 18 flume的Multiplexing the flow和tee命令
  • 19 kafka和flume 03 Hadoop项目-Flume讲解及数据清洗模块准备工作
  • 01 Flume集群概述
  • 02 监控当前文件和目录 03 监控当前文件和目录2
  • 04 FlumeChannels
  • 05 Flume Sink源
  • 06 HDFS参数讲解
  • 07 往HDFS里写入数据
  • 08 配置HDFS
  • 09 数据源从ETL清洗到HBase 10 根据jp搜索ip信息文件,得到IPLocation结构,所搜索的ip参数从类成员ip中得到 11 根据jp搜索ip信息文件,得到IPLocation结构,所搜索的ip参数从类成员ip中得到2
  • 12 枚举类
  • 13 数据清洗 14 数据清洗2 15 数据清洗3 16 数据清洗4
  • 17 问题答疑 04 Hadoop项目-数据清洗代码分析、hive与hbase整合、指标分析思路
  • 01 数据清理 02 数据清理2 03 数据清理3 04 数据清理4 05 数据清理5 06 数据清理6
  • 07 HBase和Hive的整合
  • 08 HBase和Hive的整合的配置
  • 09 结合官方案例使用HBase和Hive的整合
  • 10 根据需求文档进行需求分析 11 根据需求文档进行需求分析2 12 根据需求文档进行需求分析3 13 根据需求文档进行需求分析4 14 根据需求文档进行需求分析5
  • 15 最优化的质量和大小
  • 05 Hadoop项目-手敲用户新增指标模块代码
  • 01 表设计
  • 02 每个维度的代码逻辑分析
  • 03 自定义的计算新用户的mapper类 04 自定义的计算新用户的mapper类2 05 读取的是hbase中的result,将数据变成K-V格式的数据 06 读取的是hbase中的result,将数据变成K-V格式的数据2
  • 07 进行维度组合
  • 08 将相同ker的数据汇紧到一起 09 将相同ker的数据汇紧到一起2
  • 10 向mysql插入数据
  • 11 设置从hbase获取数据的规则 12 设置从hbase获取数据的规则2
  • 13 压测服务 14 压测服务2 15 压测服务3
  • 16 总结和思路 06 Hadoop项目-MR输出数据到mysql的输出格式化类、sqoop的简单介绍
  • 01 OutputFormat:输出格式化类 02 定义每条数据的输出格式,一条数据就是reducer任务每次执行write方法输出的数据
  • 03 自定义具体数据输出writer 04 自定义具体数据输出writer2 05 自定义具体数据输出writer3
  • 06 重新实现活跃用户 07 重新实现活跃用户2
  • 08 Apache Sqoop概述
  • 09 Apache Sqoop安装
  • 10 使用Apache Sqoop
  • 11 sqoop的使用 12 sqoop的使用2 13 sqoop的使用3 14 sqoop的使用4
  • 07 Hadoop项目-Hive SQL分析用户浏览深度代码讲解及脚本编写
  • 01 sqoop的使用概述
  • 02 sqoop使用
  • 03 导入到HBase
  • 04 在存储的时候的一些问题
  • 05 需求分析 06 需求分析2
  • 07 需求实现 08 需求实现2
  • 09 问题答疑
  • 10 项目基础脚本分析
  • 11 流程图分析 12 流程图分析2
  • 13 问题答疑 14 问题答疑2
  • 09 Cloudera Manager 集群平台管理
  • 01 Cloudera Manager 集群平台管理
  • 01 Cloudera Manager CDH平台01
  • 01 大数据集群搭建及管理问题
  • 02 CDH简介 03 安装基础环境(1) 04 安装基础环境(2) 05 安装基础环境(3)
  • 02 Cloudera Manager CDH平台02
  • 01 Cloudera Manager安装(1)
  • 02 Cloudera Manager安装(2) 03 基于CM平台安装CDH(1) 04 基于CM平台安装CDH(2) 05 基于CM平台安装CDH(3)
  • 03 Cloudera Manager CDH平台03
  • 01 Hue介绍及安装 02 Hue的使用(1) 03 Hue的使用(2)
  • 04 impala介绍
  • 05 impala架构
  • 06 impala优劣及与Hive异同
  • 07 impala安装与使用
  • 08 impala Shell命令
  • 10 集群管理工具Ambari
  • 01 集群管理工具Ambari
  • 01 Ambari集群架构原理详解 01 01-Ambari - Ambari课程总体介绍 02 02-Ambari - 什么是Ambari 03 03-Ambari - Ambari & HDP
  • 02 Ambari企业级部署实践 01 04-Ambari - VM搭建Centos7-1 02 05-Ambari - VM搭建Centos7-2 03 06-Ambari - Ambari各节点环境准备-1 04 07-Ambari - Ambari各节点环境准备-2 05 08-Ambari - Ambari各节点配置jdk及搭建mysql 06 09-Ambari - Ambari本地yum源配置 07 10-Ambari - Ambari Server及Agent安装 08 11-Ambari - Ambari HDP配置及集群部署
  • 03 Ambari平台使用 01 12-Ambari - Ambari WebUI介绍 02 13-Ambari - HDFS 开启HA 03 14-Ambari - Ambari集群组件使用测试 04 15-Ambari - Ambari集群安装Spark服务 05 16-Ambari - 附录-Ambari源码编译环境准备 06 17-Ambari - 附录-Ambari源码编译
  • 05 ELK Stack生态技术体系
  • 01 Elasticsearch核心知识篇
  • 01 Elasticsearch核心知识篇
  • 01 课程简介
  • 01 课程介绍
  • 02 环境安装
  • 01 安装Elasticsearch
  • 02 安装Kibana
  • 03 安装Elasticsearch-Head插件
  • 04 集群的健康值检查
  • 05 本章小结
  • 03 核心概念
  • 01 ES 概念
  • 02 节点
  • 03 角色
  • 04 分片
  • 05 集群
  • 06 索引和文档
  • 04 索引的CRUD
  • 01 索引的CRUD
  • 05 Mapping
  • 01 Mapping 介绍
  • 02 字段数据类型
  • 03 两种映射类型
  • 04 映射参数
  • 05 Text 和 Keyword 类型
  • 06 映射模板
  • 06 搜索和查询
  • 01 本章内容介绍
  • 02 ES的查询上下文、评分、元数据
  • 03 Query String
  • 04 全文检索:match
  • 05 精准查询:term
  • 06 过滤器:filter
  • 07 组合查询:bool query
  • 07 分词器
  • 01 文档正常化:normalization
  • 02 字符过滤器:character filter
  • 03 令牌过滤器:token filter
  • 04 分词器:tokenizer
  • 05 自定义分词器
  • 06 中文分词器
  • 07 基于远程词库的热更新
  • 08 基于MySQL的热更新
  • 08 聚合查询
  • 01 本章内容介绍 02 三种聚合分类:Bucket、Metrics、Pipeline
  • 03 代码+案例演示三种不同的聚合
  • 04 嵌套聚合:基于聚合结果的聚合
  • 05 基于查询结果的聚合和基于聚合结果的查询
  • 06 聚合排序
  • 07 常用的聚合函数
  • 09 脚本查询
  • 01 本章内容介绍
  • 02 Scripting基本概念
  • 03 Scripting的CRUD
  • 04 参数化脚本
  • 05 Scripts模板
  • 06 函数式编程
  • 07 本章课程小结及知识点补充
  • 10 索引的批量操作
  • 01 基于_mget的批量查询
  • 02 文档的四种操作类型
  • 03 基于_bulk的增删改
  • 11 模糊查询和智能搜索推荐
  • 01 关于课程使用ES的版本升级
  • 02 本章内容介绍
  • 03 prefix:前缀搜索
  • 04 wildcard:通配符
  • 05 regexp:正则表达式
  • 06 fuzzy:模糊查询
  • 07 match_phrase_prefix:短语前缀
  • 08 前缀、中缀和后缀搜索的优化方案
  • 12 搜索推荐
  • 01 Term Suggester
  • 02 phrase suggester
  • 03 completion suggester
  • 04 context suggester1
  • 05 context suggester 2
  • 13 数据建模
  • 01 嵌套类型查询:Nested
  • 02 父子级关系查询:Join
  • 03 Elasticsearch数据建模
  • 14 ES客户端
  • 01 本章内容介绍
  • 02 Java API和Transport Client
  • 03 基于Java API的CRUD
  • 04 基于Java API的多条件查找
  • 05 基于Java API的聚合查询
  • 06 Java REST Client
  • 07 Java REST Client的基础使用
  • 08 封装RestClient
  • 09 嗅探器:Sniffer
  • 10 总结性学习:使用ESClient处理常用操作
  • 15 Spring Data Elasticsearch
  • 01 Spring Data Elasticsearch
  • 02 Elasticsearch高手进阶篇
  • 01 Elasticsearch高手进阶篇
  • 01 课程简介 01
  • 01 课程介绍
  • 02 分布式原理
  • 01 单机和分布式
  • 02 集群环境选择
  • 03 分布式的重要概念 04 ES的常见模块-1 05 ES的常见模块-2
  • 06 分片的创建策略
  • 07 集群级和索引级配置
  • 08 分片的基本分配策略
  • 09 分片分配感知策略
  • 10 强制感知策略
  • 11 容灾机制
  • 12 选举过程中两个重要角色
  • 13 高可用系统的架构设计
  • 14 Master选举的必要前置认知
  • 15 选举临时ActiveMaster节点
  • 16 选举完成
  • 17 节点失效监测
  • 18 脑裂问题
  • 03 深度分页问题以及解决方案
  • 01 什么是深度分页
  • 02 深度分页的危害
  • 03 避免使用深度分页
  • 04 Scroll Search
  • 05 Search After
  • 06 实战环境解决深度分页的思路
  • 04 倒排索引底层原理
  • 01 倒排索引的核心原理
  • 02 倒排表的压缩算法-FOR
  • 03 倒排表的压缩算法-RoaringBitmap
  • 04 Trie前缀树原理
  • 05 FST模型的构建原理 06 FST在Luncene中的构建过程和原理-1 07 FST在Lucene中的构建过程和原理-2
  • 08 .tip和.tim文件的内部存储结构
  • 09 FST在源码中的写入和遍历过程
  • 05 高级检索 01 多字段检索-1 02 多字段检索-2
  • 03 搜索模板
  • 04 Term Vector
  • 05 高亮查询
  • 06 地理位置检索:两种数据类型
  • 07 地理位置检索 - 基于Geo_Point检索
  • 08 地理位置检索 - 基于Geo_Shape的位置存储
  • 09 地理位置检索 - 基于Geo_Shape检索
  • 06 高级聚合
  • 01 正排索引
  • 02 三角选择原则
  • 03 Cardinality
  • 04 深度优先(DFS)和广度优先(BFS)
  • 07 相关度评分算法
  • 01 相关度评分
  • 02 TF-IDF:Similarity
  • 03 TF-IDF:空间向量模型
  • 04 TF-IDF:评分函数 05 BM25-1 06 BM25-2
  • 07 Shard Local IDF
  • 08 控制评分的几种方式
  • 08 ES并发问题
  • 01 ES并发控制
  • 09 ES读写原理及调优
  • 01 文档写入流程
  • 02 ES数据写入原理
  • 03 写入调优
  • 04 查询调优
  • 03 Elasticsearch运维与安全
  • 01 Elasticsearch运维调优篇
  • 01 课程介绍
  • 01 课程介绍
  • 02 构建生产集群
  • 01 基础环境安装 02 基于2+1部署小规模HA集群
  • 03 部署Kibana
  • 04 冷热集群架构部署
  • 03 索引管理
  • 01 常见故障诊断API指令
  • 02 索引压缩
  • 03 索引的常见操作
  • 04 索引别名
  • 05 滚动索引
  • 06 索引模板
  • 07 索引的生命周期管理
  • 08 数据流
  • 04 集群安全
  • 01 集群安全-版本支持性
  • 02 集群安全-最低等级安全配置
  • 03 集群安全-基础安全认证
  • 04 集群安全-配置HTTPS访问
  • 05 权限管理
  • 06 快照
  • 04 Elasticsearch项目实战篇
  • 01 Elasticsearch项目实战篇
  • 01 疫情地图
  • 01 项目介绍
  • 02 需求分析
  • 03 索引结构设计
  • 04 功能实现
  • 02 ELK日志系统
  • 01 概述
  • 02 Why ELK
  • 03 Logstash介绍
  • 04 Beats介绍
  • 05 Kibana介绍
  • 06 启动Logstash服务
  • 07 为什么要使用标准化输入输出插件
  • 08 部署Filebeat
  • 09 Filebeat+Logstash+ES
  • 10 Multiline messages
  • 11 Filter
  • 12 事件
  • 13 基于Filebeat采集Nginx日志
  • 14 基于Filebeat采集Syslog
  • 15 数据的可视化操作
  • 03 搜索引擎项目开发
  • 01 课程介绍
  • 02 搜索引擎分类
  • 03 搜索引擎的设计要素
  • 04 全文检索和精准查询的实战意义
  • 05 语义分析
  • 06 技术选型与架构设计
  • 07 数据库设计
  • 06 Spark生态技术体系
  • 01 Scala 分布式语言
  • 01 Scala分布式语言-【单独录播版】
  • 01 初识Scala 01 00-课程资料查看 02 01-Scala课程总体介绍 03 02-Scala语言介绍及特点 04 03-Window配置Scala 05 04-Idea配置Scala 06 05-Scala类型介绍 07 06-Scala类型转换及type关键字 08 07-初识Scala总结
  • 02 Scala基本操作 01 08-Scala变量和常量声明 02 09-Scala类定义与使用 03 10-Scala Class类使用 04 11-Scala Object对象使用 05 12-Scala伴生类及伴生对象 06 13-if条件控制 07 14-while及do while控制 08 15-for循环使用 09 16-Break中断循环 10 17-可变与不可变字符串操作 11 18-字符串比较操作 12 19-字符串格式化输出
  • 03 Scala方法与函数 01 20-Scala方法与函数 - 方法定义使用 02 21-Scala方法与函数 - 函数定义及使用 03 22-Scala 递归方法 04 23-Scala 参数有默认值的方法 05 24-Scala 匿名函数 06 25-Scala 不定长参数方法 07 26-Scala 嵌套方法 08 27-Scala 偏应用表达式 09 28-Scala 高阶函数-一 10 29-Scala 高阶函数-二 11 30-Scala 闭包特性 12 31-Scala 柯里化函数
  • 04 Scala集合相关 01 32-Scala集合相关-总览 02 33-Scala集合相关 - Array创建与遍历 03 34-Scala集合相关 - Array方法-可变-互转 04 35-Scala集合相关 - List列表创建-遍历-方法 05 36-Scala集合相关 - List列表可变-互转 06 37-Scala集合相关 - Set操作 07 38-Scala集合相关 - Map操作 08 39-Scala集合相关 - Scala集合转换成Java集合操作 09 40-Scala集合相关 - Java集合转换成Scala集合 10 41-Scala集合相关 - Scala元组操作 11 42-Scala集合相关 - 迭代器处理数据模式 12 43-Scala集合相关 - 集合方式统计WordCount 13 44-Scala集合相关 - 迭代器方式统计WordCount
  • 05 Scala其他特性 01 45-Scala 类成员访问权限 02 46-Scala 抽象类使用 03 47-Scala Trait特质特性 - 使用案例1 04 48-Scala Trait特质特性 - 使用案例2 05 49-Scala Trait特质特性 - 使用案例3 06 50-Scala Trait特质特性 - 动态混入及案例 07 51-Scala Trait特质特性 - 自身类型及抽象类&接口对比 08 52-Scala Lazy 懒加载 09 53-Scala 样例类使用 10 54-Scala 包对象 11 55-Scala 模式匹配-使用案例 12 56-Scala 模式匹配-模式守卫 13 57-Scala 偏函数 14 58-Scala 枚举值 15 59-Scala 异常机制 - 异常捕获 16 60-Scala 异常机制 - 自定义异常
  • 06 Scala高级 01 61-Scala高级 - 解构赋值 02 62-Scala高阶 - 隐式转换之隐式值和隐式参数 03 63-Scala高级 - 隐式转换之隐式转换函数 04 64-Scala高级 - 隐式转换之隐式类 05 65-Scala泛型 - 基本使用及案例 06 66-Scala泛型 - 泛型类型界定 07 67-Scala泛型 - 协变与逆变之泛型协变及案例 08 68-Scala泛型 - 协变与逆变之泛型逆变及案例 09 69-Scala并发编程 - Actor模型与Akka框架 10 70-Scala并发编程 - 给Actor发送消息案例 11 71-Scala并发编程 - 本地Actor之间通信案例 12 72-Scala并发编程 - Actor跨网络之间通信案例
  • 02 Scala 分布式语言
  • 01 初识Scala 01 00-课程资料查看 02 01-Scala课程总体介绍 03 02-Scala语言介绍及特点 04 03-Window配置Scala 05 04-Idea配置Scala 06 05-Scala类型介绍 07 06-Scala类型转换及type关键字 08 07-初识Scala总结
  • 02 Scala基本操作 01 08-Scala变量和常量声明 02 09-Scala类定义与使用 03 10-Scala Class类使用 04 11-Scala Object对象使用 05 12-Scala伴生类及伴生对象 06 13-if条件控制 07 14-while及do while控制 08 15-for循环使用 09 16-Break中断循环 10 17-可变与不可变字符串操作 11 18-字符串比较操作 12 19-字符串格式化输出
  • 03 Scala方法与函数 01 20-Scala方法与函数 - 方法定义使用 02 21-Scala方法与函数 - 函数定义及使用 03 22-Scala 递归方法 04 23-Scala 参数有默认值的方法 05 24-Scala 匿名函数 06 25-Scala 不定长参数方法 07 26-Scala 嵌套方法 08 27-Scala 偏应用表达式 09 28-Scala 高阶函数-一 10 29-Scala 高阶函数-二 11 30-Scala 闭包特性 12 31-Scala 柯里化函数
  • 04 Scala集合相关 01 32-Scala集合相关-总览 02 33-Scala集合相关 - Array创建与遍历 03 34-Scala集合相关 - Array方法-可变-互转 04 35-Scala集合相关 - List列表创建-遍历-方法 05 36-Scala集合相关 - List列表可变-互转 06 37-Scala集合相关 - Set操作 07 38-Scala集合相关 - Map操作 08 39-Scala集合相关 - Scala集合转换成Java集合操作 09 40-Scala集合相关 - Java集合转换成Scala集合 10 41-Scala集合相关 - Scala元组操作 11 42-Scala集合相关 - 迭代器处理数据模式 12 43-Scala集合相关 - 集合方式统计WordCount 13 44-Scala集合相关 - 迭代器方式统计WordCount
  • 05 Scala其他特性 01 45-Scala 类成员访问权限 02 46-Scala 抽象类使用 03 47-Scala Trait特质特性 - 使用案例1 04 48-Scala Trait特质特性 - 使用案例2 05 49-Scala Trait特质特性 - 使用案例3 06 50-Scala Trait特质特性 - 动态混入及案例 07 51-Scala Trait特质特性 - 自身类型及抽象类&接口对比 08 52-Scala Lazy 懒加载 09 53-Scala 样例类使用 10 54-Scala 包对象 11 55-Scala 模式匹配-使用案例 12 56-Scala 模式匹配-模式守卫 13 57-Scala 偏函数 14 58-Scala 枚举值 15 59-Scala 异常机制 - 异常捕获 16 60-Scala 异常机制 - 自定义异常
  • 06 Scala高级 01 61-Scala高级 - 解构赋值 02 62-Scala高阶 - 隐式转换之隐式值和隐式参数 03 63-Scala高级 - 隐式转换之隐式转换函数 04 64-Scala高级 - 隐式转换之隐式类 05 65-Scala泛型 - 基本使用及案例 06 66-Scala泛型 - 泛型类型界定 07 67-Scala泛型 - 协变与逆变之泛型协变及案例 08 68-Scala泛型 - 协变与逆变之泛型逆变及案例 09 69-Scala并发编程 - Actor模型与Akka框架 10 70-Scala并发编程 - 给Actor发送消息案例 11 71-Scala并发编程 - 本地Actor之间通信案例 12 72-Scala并发编程 - Actor跨网络之间通信案例
  • 02 Spark分布式计算框架
  • 01 Spark分布式计算框架 01 spark-core、复习hadoop生态、梳理术语、hadoopRDD 源码分析 01 回顾(1) 02 回顾(2)
  • 03 单词统计
  • 04 sparkUI解读
  • 05 打印结果
  • 06 打印顺序调换
  • 07 代码讲解
  • 08 编程模型RDD介绍
  • 09 a list of dependencies on other RDDs
  • 10 a Partitioner for key-value RDDS
  • 11 接下来安排
  • 12 Spark WORDCOUNT源码解析
  • 13 图解Spark WORDCOUNT源码解析
  • 14 getPartitions解读
  • 15 computer(p)解读
  • 16 flatMap及作业 02 spark-core、wordcount案例源码分析、图解
  • 01 回顾 02 flatMap方法解读(1) 03 flatMap方法解读(2)
  • 04 compute方法
  • 05 map解读
  • 06 reduceBykey解读
  • 07 shuffledRDD解读
  • 08 prev deps解读
  • 09 getDependcies解读
  • 10 shuffleManger解读
  • 11 pipeline解读
  • 12 LineAge解读
  • 13 MapparitionsRDD解读
  • 14 spark学术理论
  • 15 依赖关系
  • 16 api学习 03 spark-core、集合操作API、pvuv分析、RDD源码分析
  • 01 回顾
  • 02 数据集原理解读
  • 03 数据集合并
  • 04 图解数据集合并
  • 05 cartesian解读
  • 06 总结
  • 07 回答问题
  • 08 intersection解读
  • 09 subtract解读
  • 10 parallelize解读
  • 11 join解读
  • 12 cogroup解读up及总结
  • 13 整体流程解读
  • 14 总结数据集操作
  • 15 排序 16 根据数据计算个网站的pv,uv,显示top5
  • 17 pv实现
  • 18 uv实现
  • 19 作业 04 spark-core、聚合计算API、combineByKey、分区调优
  • 01 spark整体安排
  • 02 回顾 03 聚合方法1 04 聚合方法2
  • 05 均值复杂度
  • 06 调优 07 面向分区操作(1) 08 面向分区操作(2)
  • 09 面向分区操作迭代器
  • 10 另一种方式
  • 11 回答问题 12 repartition调coalesce触发shuffle调整分区数量
  • 13 分区变多的情况
  • 14 分区变少的情况 05 spark-core、二次排序、分组取TopN、算子综合应用
  • 01 算子综合应用
  • 02 解决代码中的问题
  • 03 去重
  • 04 排序
  • 05 问题介绍
  • 06 解决问题
  • 07 最终代码
  • 08 代码再次升级逻辑
  • 09 总结刚才的代码
  • 10 举例分析 06 spark-core、集群框架图解、角色功能介绍、官网学习 、搭建
  • 01 回顾
  • 02 集群搭建
  • 03 集群搭建spark逻辑
  • 04 DAG
  • 05 task以线程的形式跑在Executor种
  • 06 spark整体流程
  • 07 回顾task及回答问题
  • 08 spark官网
  • 09 spark部署
  • 10 加入单机逻辑
  • 11 官网学习 12 集群部署搭建(1) 13 集群部署搭建(2) 07 spark-core、history服务、standaloneHA、资源调度参数
  • 01 github集成到ide
  • 02 github中spark源代码同步到ide
  • 03 回顾
  • 04 总结昨天内容
  • 05 高可用
  • 06 第二台master
  • 07 解决主bug
  • 08 spark master理论
  • 09 history服务
  • 10 standaloneHA
  • 11 spark-submit
  • 12 官方例子源码讲解
  • 13 运行jar包
  • 14 整理笔记 15 资源调度参数(1) 16 资源调度参数(2) 08 spark-core、基于yarn的集群搭建、配置、资源调度参数、优化jars
  • 01 Yarn引入
  • 02 yarn部署
  • 03 yarn配置 04 yarn-site与mapred-site.xml
  • 05 hadoop部署
  • 06 history部署
  • 07 日志部署
  • 08 spark-shell演示
  • 09 资源调度参数
  • 10 答疑及解决调度问题
  • 11 笔记及答疑
  • 12 优化jars 09 spark-core-源码、RpcEnv、standaloneMaster启动分析
  • 01 前置准备
  • 02 RPC引入
  • 03 RPC基本介绍 04 start-all与start-master.sh 05 apache.spark.deploy.master.Master源码
  • 06 rpcEnv NettyRpcEnv源码
  • 07 图解源码
  • 08 传输服务
  • 09 Dispatcher引入
  • 10 Dispatcher讲解
  • 11 Dispatcher讲解与Rest风格 12 Dispatcher讲解-注册,获取,inbox,onstart 10 spark-core-源码、Worker启动、sparksubmit提交、Driver启动
  • 01 回顾
  • 02 补全流程图
  • 03 Worker启动讲解
  • 04 Worker启动与sparksubmit提交引入
  • 05 sparksubmit提交讲解
  • 06 clien,driver源码讲解
  • 07 总结master,worker,client关系
  • 08 master,driver,worker源码讲解
  • 09 DriverWrapper讲解
  • 10 SparkContext源码讲解
  • 11 SparkContext源码讲解
  • 12 Standalone源码讲解 11 spark-core-源码、Application注册、Executor资源申请
  • 01 回顾
  • 02 查看Master.scala
  • 03 资源调度
  • 04 资源逻辑
  • 05 资源算法
  • 06 演示资源分配
  • 07 回答学生问题
  • 08 看是否分配资源
  • 09 worker多个executor 10 CoarseGrainedExecutorBackend
  • 11 小图结构总结 12 spark-core-源码、sparkContext、DAGScheduler、stage划分
  • 01 回答学生问题
  • 02 回顾 03 stage1 04 stage2
  • 05 调用rdd执行start 06 源码图解1 07 源码图解2
  • 08 举个例子
  • 09 补充 13 spark-core-源码、TaskScheduler、Executor运行Task、SparkEnv
  • 01 回顾上节内容 02 源码DAGScheduler1 03 源码DAGScheduler2
  • 04 任务的调度 05 源码DAGScheduler3 06 源码分析:计算框架1 07 源码分析:计算框架2 08 源码分析:计算框架3
  • 09 spark的一些细节 14 spark-core-源码、MemoryManager、BlockManager 01 源码sprkEnv1 02 源码sprkEnv2 03 MemoryManager1 04 MemoryManager2
  • 05 内存 06 源码sprkEnv3
  • 07 扩展 08 源码sprkEnv4 09 sprk源码SortShuffleManager1 10 sprk源码SortShuffleManager2 15 spark-core-源码、Dependency、SortShuffleManager 01 sprk源码SortShuffle-handle1 02 sprk源码SortShuffl-ehandle2 03 sprk源码SortShuffl-ehandle3 04 sprk源码SortShuffl-ehandle4
  • 05 task
  • 06 解决复习前几节的伏笔 07 sprk源码SortShufflewriter1 08 sprk源码SortShufflewriter2
  • 09 Java常识object又浪费空间嫌疑
  • 10 查看源码 16 spark-core-源码、SortShuffleWriter、内存缓冲区buffer
  • 01 回顾 02 sprk源码SortShufflewriter1 03 sprk源码SortShufflewriter2 04 sprk源码SortShufflewriter3 05 sprk源码SortShufflewriter4 06 内存缓冲区1 07 内存缓冲区2
  • 08 快速过一边刚学的内容
  • 09 回答学生问题及解析 17 spark-core-源码、SortShuffleWriter、内存缓冲区buffer
  • 01 回顾
  • 02 引导UnsafeShuffleWriter 03 分析类UnsafeShuffleWriter1 04 分析类UnsafeShuffleWriter2 05 分析ShuffleExternalSorter方法1 06 分析ShuffleExternalSorter方法2
  • 07 executor.jvm 08 分析ShuffleExternalSorter3
  • 09 MemoryConsumer
  • 10 MemoryBlock
  • 11 MemoryManager 12 分析ShuffleExternalSorter方法3
  • 13 课后分析 18 spark-core-源码、UnsafeShuffleWriter、Tungsten、Unsafe、堆外
  • 01 回顾 02 分析ShuffleExternalSorter方法1
  • 03 TaskMemoryManager
  • 04 堆上分配 05 分析ShuffleExternalSorter方法2
  • 06 堆外分配
  • 07 Unsafe及解决学生问题
  • 08 过一遍图
  • 09 走一边UnsafeShuffleWriter
  • 10 一些注意的点 19 spark-core-源码、ShuffleReader、Tracker、Scheduler完整调度
  • 01 回顾
  • 02 pipeline迭代器嵌套iterator
  • 03 src - iter reader
  • 04 shuffle reader
  • 05 read方法
  • 06 shuffle reader
  • 07 blocksByAddress
  • 08 SplitLocalRemoteBlocks 09 fetchUpToMaxBytes1 10 fetchUpToMaxBytes2
  • 11 results
  • 12 recorditer 13 aggregatediter1 14 aggregatediter2
  • 15 read 20 spark-core-源码、RDD持久化、检查点、广播变量、累加器1
  • 01 回顾
  • 02 spark的shuffle 系统dep 03 lessone7_rdd control1 04 lessone7_rdd control2 05 lessone7_rdd control3
  • 06 梳理持久化
  • 07 RDD:def iterator
  • 08 检查点
  • 09 回答学生问题 21 spark-core-源码、RDD持久化、检查点、广播变量、累加器2
  • 01 hello spark
  • 02 案例演示
  • 03 图解闭包
  • 04 taskbinary
  • 05 编程模型之rdd
  • 06 源码探究
  • 07 向Driver反向注册
  • 08 Executor
  • 22 spark-sql、大数据中的SQL组成原理
  • 01 hdfs和hbase模型
  • 02 table结构化
  • 03 元数据
  • 04 优化
  • 05 Driver
  • 06 metestore
  • 07 课后答疑 23 spark-sql、datafram到dataset开发
  • 01 课前概述
  • 02 代码演示
  • 03 元数据structType
  • 04 工具类方法
  • 05 bean类型的rdd
  • 06 数据RDD
  • 07 课后答疑 24 spark-sql、整合hive的metastore搭建企业级数仓1
  • 01 上节回顾
  • 02 官网介绍 03 案例代码1 04 案例代码2
  • 05 理解数据库概念
  • 06 spark和sql 25 spark-sql、整合hive的metastore搭建企业级数仓2
  • 01 hive拓扑图
  • 02 构建数仓
  • 03 建表操作
  • 04 问题解答
  • 05 暴露服务形式
  • 06 课后答疑 26 spark-sql、复杂sql、函数、自定义函数、开窗over函数、OLAP
  • 01 分组排序统计
  • 02 编写方法过程
  • 03 高并发解决方案
  • 04 olap讲解
  • 05 sql编写
  • 06 spark sql源码分析 27 spark-sql-源码、sql解析、dataset到rdd的执行计划
  • 01 准备工作
  • 02 hadoopFsRelation生成过程
  • 03 queryExecution
  • 04 withAction
  • 05 sparkSession核心流程梳理
  • 06 sparkSql编写
  • 07 课后答疑 28 spark-sql-源码、antlr4的sql解析、AST语法树的逻辑到物理转换
  • 01 上节回顾
  • 02 解释器和编译器
  • 03 解释器使用过程
  • 04 语法流程
  • 05 sparkSql源代码案例
  • 06 答疑问题 29 spark-sql-源码、逻辑计划、优化器、物理计划、转换RDD
  • 01 回顾
  • 02 逻辑计划
  • 03 验证
  • 04 逻辑树转换
  • 05 优化器
  • 06 优化器要做的事情
  • 07 逻辑到物理的转换
  • 08 父与子的概念
  • 09 补充
  • 10 什么叫执行
  • 11 转换操作
  • 12 dad
  • 13 ataset 30 spark-streaming、流式计算之微批计算原理及standalone 01 扩展1 02 扩展2
  • 03 语义
  • 04 spark streaming微批的计算行式 05 receiverer接收机1 06 receiverer接收机2
  • 07 产生数据 08 receiverer接收机3 09 receiverer2模拟 31 spark-streaming、api、ha、检查点、窗口等机制
  • 01 回顾
  • 02 spark-streaming API
  • 03 window机制参数 04 每秒看见历史5秒的统计 05 转换操作途径1 06 转换操作途径2
  • 07 作用域-广播变量
  • 08 作用域氛围三个级别 32 spark-streaming、整合MQ-kafka开发
  • 01 回顾
  • 02 有状态计算
  • 03 窗口移动过程中可以每次重新计算窗口数据 ,加上进来的减去出去的
  • 04 回答问题及回顾过程
  • 05 窗口有状态调优计算
  • 06 使用mapWithStat()来全量有状态计算
  • 07 整合MQ-kafka
  • 08 什么是kafka 33 spark-streaming、源码分析、流式微批任务的调度原理
  • 01 回顾及今日安排
  • 02 集成kafka
  • 03 spark-streaming producer代码实现
  • 04 spark-streaming consumer代码实现(1)
  • 05 spark-streaming consumer代码实现(2)
  • 06 运行时手动提交offset到mysql
  • 07 总结
  • 08 补全流程图
  • 34 spark-streaming
  • 01 回顾 02 spark-kafka-consumer代码实现(1) 03 spark-kafka-consumer代码实现(2)
  • 04 流程图
  • 05 业务代码后
  • 06 讲解细节问题
  • 07 维护持久化到
  • 08 总结
  • 02 Spark分布式计算框-单独录播版 01 spark-core、复习hadoop生态、梳理术语、hadoopRDD 源码分析 01 回顾(1) 02 回顾(2)
  • 03 单词统计
  • 04 sparkUI解读
  • 05 打印结果
  • 06 打印顺序调换
  • 07 代码讲解
  • 08 编程模型RDD介绍
  • 09 a list of dependencies on other RDDs
  • 10 a Partitioner for key-value RDDS
  • 11 接下来安排
  • 12 Spark WORDCOUNT源码解析
  • 13 图解Spark WORDCOUNT源码解析
  • 14 getPartitions解读
  • 15 computer(p)解读
  • 16 flatMap及作业 02 spark-core、wordcount案例源码分析、图解
  • 01 回顾 02 flatMap方法解读(1) 03 flatMap方法解读(2)
  • 04 compute方法
  • 05 map解读
  • 06 reduceBykey解读
  • 07 shuffledRDD解读
  • 08 prev deps解读
  • 09 getDependcies解读
  • 10 shuffleManger解读
  • 11 pipeline解读
  • 12 LineAge解读
  • 13 MapparitionsRDD解读
  • 14 spark学术理论
  • 15 依赖关系
  • 16 api学习 03 spark-core、集合操作API、pvuv分析、RDD源码分析
  • 01 回顾
  • 02 数据集原理解读
  • 03 数据集合并
  • 04 图解数据集合并
  • 05 cartesian解读
  • 06 总结
  • 07 回答问题
  • 08 intersection解读
  • 09 subtract解读
  • 10 parallelize解读
  • 11 join解读
  • 12 cogroup解读up及总结
  • 13 整体流程解读
  • 14 总结数据集操作
  • 15 排序 16 根据数据计算个网站的pv,uv,显示top5
  • 17 pv实现
  • 18 uv实现
  • 19 作业 04 spark-core、聚合计算API、combineByKey、分区调优
  • 01 spark整体安排
  • 02 回顾 03 聚合方法1 04 聚合方法2
  • 05 均值复杂度
  • 06 调优 07 面向分区操作(1) 08 面向分区操作(2)
  • 09 面向分区操作迭代器
  • 10 另一种方式
  • 11 回答问题 12 repartition调coalesce触发shuffle调整分区数量
  • 13 分区变多的情况
  • 14 分区变少的情况 05 spark-core、二次排序、分组取TopN、算子综合应用
  • 01 算子综合应用
  • 02 解决代码中的问题
  • 03 去重
  • 04 排序
  • 05 问题介绍
  • 06 解决问题
  • 07 最终代码
  • 08 代码再次升级逻辑
  • 09 总结刚才的代码
  • 10 举例分析 06 spark-core、集群框架图解、角色功能介绍、官网学习 、搭建
  • 01 回顾
  • 02 集群搭建
  • 03 集群搭建spark逻辑
  • 04 DAG
  • 05 task以线程的形式跑在Executor种
  • 06 spark整体流程
  • 07 回顾task及回答问题
  • 08 spark官网
  • 09 spark部署
  • 10 加入单机逻辑
  • 11 官网学习 12 集群部署搭建(1) 13 集群部署搭建(2) 07 spark-core、history服务、standaloneHA、资源调度参数
  • 01 github集成到ide
  • 02 github中spark源代码同步到ide
  • 03 回顾
  • 04 总结昨天内容
  • 05 高可用
  • 06 第二台master
  • 07 解决主bug
  • 08 spark master理论
  • 09 history服务
  • 10 standaloneHA
  • 11 spark-submit
  • 12 官方例子源码讲解
  • 13 运行jar包
  • 14 整理笔记 15 资源调度参数(1) 16 资源调度参数(2) 08 spark-core、基于yarn的集群搭建、配置、资源调度参数、优化jars
  • 01 Yarn引入
  • 02 yarn部署
  • 03 yarn配置 04 yarn-site与mapred-site.xml
  • 05 hadoop部署
  • 06 history部署
  • 07 日志部署
  • 08 spark-shell演示
  • 09 资源调度参数
  • 10 答疑及解决调度问题
  • 11 笔记及答疑
  • 12 优化jars 09 spark-core-源码、RpcEnv、standaloneMaster启动分析
  • 01 前置准备
  • 02 RPC引入
  • 03 RPC基本介绍 04 start-all与start-master.sh 05 apache.spark.deploy.master.Master源码
  • 06 rpcEnv NettyRpcEnv源码
  • 07 图解源码
  • 08 传输服务
  • 09 Dispatcher引入
  • 10 Dispatcher讲解
  • 11 Dispatcher讲解与Rest风格 12 Dispatcher讲解-注册,获取,inbox,onstart 10 spark-core-源码、Worker启动、sparksubmit提交、Driver启动
  • 01 回顾
  • 02 补全流程图
  • 03 Worker启动讲解
  • 04 Worker启动与sparksubmit提交引入
  • 05 sparksubmit提交讲解
  • 06 clien,driver源码讲解
  • 07 总结master,worker,client关系
  • 08 master,driver,worker源码讲解
  • 09 DriverWrapper讲解
  • 10 SparkContext源码讲解
  • 11 SparkContext源码讲解
  • 12 Standalone源码讲解 11 spark-core-源码、Application注册、Executor资源申请
  • 01 回顾
  • 02 查看Master.scala
  • 03 资源调度
  • 04 资源逻辑
  • 05 资源算法
  • 06 演示资源分配
  • 07 回答学生问题
  • 08 看是否分配资源
  • 09 worker多个executor 10 CoarseGrainedExecutorBackend
  • 11 小图结构总结 12 spark-core-源码、sparkContext、DAGScheduler、stage划分
  • 01 回答学生问题
  • 02 回顾 03 stage1 04 stage2
  • 05 调用rdd执行start 06 源码图解1 07 源码图解2
  • 08 举个例子
  • 09 补充 13 spark-core-源码、TaskScheduler、Executor运行Task、SparkEnv
  • 01 回顾上节内容 02 源码DAGScheduler1 03 源码DAGScheduler2
  • 04 任务的调度 05 源码DAGScheduler3 06 源码分析:计算框架1 07 源码分析:计算框架2 08 源码分析:计算框架3
  • 09 spark的一些细节 14 spark-core-源码、MemoryManager、BlockManager 01 源码sprkEnv1 02 源码sprkEnv2 03 MemoryManager1 04 MemoryManager2
  • 05 内存 06 源码sprkEnv3
  • 07 扩展 08 源码sprkEnv4 09 sprk源码SortShuffleManager1 10 sprk源码SortShuffleManager2 15 spark-core-源码、Dependency、SortShuffleManager 01 sprk源码SortShuffle-handle1 02 sprk源码SortShuffl-ehandle2 03 sprk源码SortShuffl-ehandle3 04 sprk源码SortShuffl-ehandle4
  • 05 task
  • 06 解决复习前几节的伏笔 07 sprk源码SortShufflewriter1 08 sprk源码SortShufflewriter2
  • 09 Java常识object又浪费空间嫌疑
  • 10 查看源码 16 spark-core-源码、SortShuffleWriter、内存缓冲区buffer
  • 01 回顾 02 sprk源码SortShufflewriter1 03 sprk源码SortShufflewriter2 04 sprk源码SortShufflewriter3 05 sprk源码SortShufflewriter4 06 内存缓冲区1 07 内存缓冲区2
  • 08 快速过一边刚学的内容
  • 09 回答学生问题及解析 17 spark-core-源码、SortShuffleWriter、内存缓冲区buffer
  • 01 回顾
  • 02 引导UnsafeShuffleWriter 03 分析类UnsafeShuffleWriter1 04 分析类UnsafeShuffleWriter2 05 分析ShuffleExternalSorter方法1 06 分析ShuffleExternalSorter方法2
  • 07 executor.jvm 08 分析ShuffleExternalSorter3
  • 09 MemoryConsumer
  • 10 MemoryBlock
  • 11 MemoryManager 12 分析ShuffleExternalSorter方法3
  • 13 课后分析 18 spark-core-源码、UnsafeShuffleWriter、Tungsten、Unsafe、堆外
  • 01 回顾 02 分析ShuffleExternalSorter方法1
  • 03 TaskMemoryManager
  • 04 堆上分配 05 分析ShuffleExternalSorter方法2
  • 06 堆外分配
  • 07 Unsafe及解决学生问题
  • 08 过一遍图
  • 09 走一边UnsafeShuffleWriter
  • 10 一些注意的点 19 spark-core-源码、ShuffleReader、Tracker、Scheduler完整调度
  • 01 回顾
  • 02 pipeline迭代器嵌套iterator
  • 03 src - iter reader
  • 04 shuffle reader
  • 05 read方法
  • 06 shuffle reader
  • 07 blocksByAddress
  • 08 SplitLocalRemoteBlocks 09 fetchUpToMaxBytes1 10 fetchUpToMaxBytes2
  • 11 results
  • 12 recorditer 13 aggregatediter1 14 aggregatediter2
  • 15 read 20 spark-core-源码、RDD持久化、检查点、广播变量、累加器1
  • 01 回顾
  • 02 spark的shuffle 系统dep 03 lessone7_rdd control1 04 lessone7_rdd control2 05 lessone7_rdd control3
  • 06 梳理持久化
  • 07 RDD:def iterator
  • 08 检查点
  • 09 回答学生问题 21 spark-core-源码、RDD持久化、检查点、广播变量、累加器2
  • 01 hello spark
  • 02 案例演示
  • 03 图解闭包
  • 04 taskbinary
  • 05 编程模型之rdd
  • 06 源码探究
  • 07 向Driver反向注册
  • 08 Executor
  • 22 spark-sql、大数据中的SQL组成原理
  • 01 hdfs和hbase模型
  • 02 table结构化
  • 03 元数据
  • 04 优化
  • 05 Driver
  • 06 metestore
  • 07 课后答疑 23 spark-sql、datafram到dataset开发
  • 01 课前概述
  • 02 代码演示
  • 03 元数据structType
  • 04 工具类方法
  • 05 bean类型的rdd
  • 06 数据RDD
  • 07 课后答疑 24 spark-sql、整合hive的metastore搭建企业级数仓1
  • 01 上节回顾
  • 02 官网介绍 03 案例代码1 04 案例代码2
  • 05 理解数据库概念
  • 06 spark和sql 25 spark-sql、整合hive的metastore搭建企业级数仓2
  • 01 hive拓扑图
  • 02 构建数仓
  • 03 建表操作
  • 04 问题解答
  • 05 暴露服务形式
  • 06 课后答疑 26 spark-sql、复杂sql、函数、自定义函数、开窗over函数、OLAP
  • 01 分组排序统计
  • 02 编写方法过程
  • 03 高并发解决方案
  • 04 olap讲解
  • 05 sql编写
  • 06 spark sql源码分析 27 spark-sql-源码、sql解析、dataset到rdd的执行计划
  • 01 准备工作
  • 02 hadoopFsRelation生成过程
  • 03 queryExecution
  • 04 withAction
  • 05 sparkSession核心流程梳理
  • 06 sparkSql编写
  • 07 课后答疑 28 spark-sql-源码、antlr4的sql解析、AST语法树的逻辑到物理转换
  • 01 上节回顾
  • 02 解释器和编译器
  • 03 解释器使用过程
  • 04 语法流程
  • 05 sparkSql源代码案例
  • 06 答疑问题 29 spark-sql-源码、逻辑计划、优化器、物理计划、转换RDD
  • 01 回顾
  • 02 逻辑计划
  • 03 验证
  • 04 逻辑树转换
  • 05 优化器
  • 06 优化器要做的事情
  • 07 逻辑到物理的转换
  • 08 父与子的概念
  • 09 补充
  • 10 什么叫执行
  • 11 转换操作
  • 12 dad
  • 13 ataset 30 spark-streaming、流式计算之微批计算原理及standalone 01 扩展1 02 扩展2
  • 03 语义
  • 04 spark streaming微批的计算行式 05 receiverer接收机1 06 receiverer接收机2
  • 07 产生数据 08 receiverer接收机3 09 receiverer2模拟 31 spark-streaming、api、ha、检查点、窗口等机制
  • 01 回顾
  • 02 spark-streaming API
  • 03 window机制参数 04 每秒看见历史5秒的统计 05 转换操作途径1 06 转换操作途径2
  • 07 作用域-广播变量
  • 08 作用域氛围三个级别 32 spark-streaming、整合MQ-kafka开发
  • 01 回顾
  • 02 有状态计算
  • 03 窗口移动过程中可以每次重新计算窗口数据 ,加上进来的减去出去的
  • 04 回答问题及回顾过程
  • 05 窗口有状态调优计算
  • 06 使用mapWithStat()来全量有状态计算
  • 07 整合MQ-kafka
  • 08 什么是kafka 33 spark-streaming、源码分析、流式微批任务的调度原理
  • 01 回顾及今日安排
  • 02 集成kafka
  • 03 spark-streaming producer代码实现
  • 04 spark-streaming consumer代码实现(1)
  • 05 spark-streaming consumer代码实现(2)
  • 06 运行时手动提交offset到mysql
  • 07 总结
  • 08 补全流程图
  • 34 spark-streaming
  • 01 回顾 02 spark-kafka-consumer代码实现(1) 03 spark-kafka-consumer代码实现(2)
  • 04 流程图
  • 05 业务代码后
  • 06 讲解细节问题
  • 07 维护持久化到
  • 08 总结
  • 03 StructuredStreaming结构化流
  • 01 StructuredStreaming结构化流
  • 01 Structured Streaming 概述 01 01-Structured Streaming 结构化流课程内容 02 02-SparkStreaming 处理流式数据弊端 03 03-Structured Streaming 概念及特点 04 04-Structured Streaming 编程模型
  • 02 Structured Streaming 应用 01 05-Structured Streaming 读取Socket数据并写出 02 06-Structured Streaming WordCount案例及输出模式测试 03 07-Structured Streaming Java版本WordCount及注意点 04 08-Structured Streaming Stream Table API 05 09-Structured Streaming Triggers 06 10-Structured Streaming Continuous连续处理
  • 03 Structured Streaming Source与Sink 01 11-Sturctured Streaming InputSource之监控Text文件 02 12-Sturctured Streaming InputSource之监控CSV文件 03 13-Structured Streaming InputSource之监控Json文件 04 14-Structured Streaming Rate Source 05 15-Structured Streaming Checkpoint设置及目录介绍 06 16-Structured Streaming outputSink之File Sink 07 17-Structured Streaming outputSink之Memory Sink 08 18-Structured Streaming outputSink之foreachBatch Scala代码 09 19-Structured Streaming outputSink之foreachBatch Java代码 10 20-Structured Streaming outputSink之foreach Scala代码 11 21-Structured Streaming outputSink之foreach Java代码
  • 04 Structured Streaming API与窗口操作 01 22-Structured Streaming 结构化流 DataFrame API scala代码操作 02 23-Structured Streaming 结构化流 DataFrame API Java代码操作 03 24-Structured Streaming 结构化流 Dataset API scala操作 04 25-Structured Streaming 结构化流 Dataset API Java操作 05 26-Structured Streaming 基于事件时间的窗口操作 06 27-Structured Streaming 基于事件时间的窗口Scala代码 07 28-Structured Streaming 基于事件时间的窗口Java代码及注意点 08 29-Structured Streaming 基于事件时间的窗口划分规则 09 30-Structured Streaming Watermarking机制 10 31-Structured Streaming Watermarking设置方式及Complete输出测试 11 32-Structured Streaming Watermarking Update输出测试 12 33-Structured Streaming Watermarking Append输出测试 13 34-Structured Streaming Watermarking 使用注意点 14 35-Structured Streaming 窗口分类 15 36-Structured Streaming Session会话窗口代码 16 37-Structured Streaming 动态生成Session会话窗口
  • 05 Structured Streaming Join操作及流去重 01 38-Structured Streaming Stream与Static Join操作-01 02 39-Structured Streaming Stream与Static Join操作-02 03 40-Structured Streaming Stream与Stream join操作 04 41-Structured Streaming 代码获取输出Watermark 05 42-Structured Streaming Stream与Stream Join类型及注意点 06 43-Structured Streaming 流去重及代码实现 07 44-Structured Streaming 注意点
  • 06 Structured Streaming 与Kafka 整合 01 45-Structured Streaming Kafka Source Scala代码 02 46-Structured Streaming Kafka Source Java代码及总结 03 47-Structured Streaming Kafka Sink Scala代码 04 48-Structured Streaming Kafak Sink Java代码及总结 05 49-Structured Streaming 整合Kafka 不支持配置项 06 50-Structured Streaming 综合案例之数据准备 07 51-Structured Streaming 综合案例之代码编写 08 52-Structured Streaming 综合案例之代码测试及缓存 09 53-Structured Streaming 课程总结
  • 04 AirFlow分布式任务调度框架
  • 01 AirFlow分布式任务调度框架
05 第五章-Airflow 分布式集群原理、搭建及HA测试 01 28-Airflow任务流调度工具-Airflow分布式集群知识扩展 02 29-Airflow任务流调度工具-Airflow集群搭建环境准备 03 30-Airflow任务流调度工具-Airflow分布式集群搭建 04 31-Airflow任务流调度工具-Airflow集群配置及Scheduler HA 配置 05 32-Airflow任务流调度工具-Airflow集群启动 06 33-Airflow任务流调度工具-Airflow集群HA 测试351 条
  • 05 消息中间件-Kafka实战
  • 01 分布式流处理服务—Apache Kafka 01 Kafka章节1-(Kafka概述、介绍)01 01 Kafka章节1-(Kafka概述、介绍)01 02 Kafka章节1-(架构和概念)02 01 Kafka章节1-(架构和概念)02 03 Kafka章节1-(分区&日志)03 01 Kafka章节1-(分区&日志)03 04 Kafka章节1-(生产者&消费组)04 01 Kafka章节1-(生产者&消费组)04 05 Kafka章节1-(顺序写入&ZeroCopy)05 01 Kafka章节1-(顺序写入&ZeroCopy)05 06 Kafka章节2-(Zookeeper单机安装)01 01 Kafka章节2-(Zookeeper单机安装)01 07 Kafka章节2-(Kafka单机配置)02 01 Kafka章节2-(Kafka单机配置)02 08 Kafka章节2-(Kafka集群配置)03 01 Kafka章节2-(Kafka集群配置)03 09 Kafka章节2-(KafkaTopic管理)04 01 Kafka章节2-(KafkaTopic管理)04 10 kafka章节3-(Topic管理API)01 01 kafka章节3-(Topic管理API)01 11 Kafka章节3-(生产者&消费者)02 01 Kafka章节3-(生产者&消费者)02 12 Kafka章节3-(自定义分区)03 01 Kafka章节3-(自定义分区)03 13 Kafka章节3-(序列化&拦截器)04 01 Kafka章节3-(序列化&拦截器)04 14 kafka章节4-(offset自动控制)01 01 kafka章节4-(offset自动控制)01 15 kafka章节4-(Ackes&Retires)02 01 kafka章节4-(Ackes&Retires)02 16 kafka章节4-(幂等写)03 01 kafka章节4-(幂等写)03 17 kafka章节4-(生产者事务)04 01 kafka章节4-(生产者事务)04 18 kafka章节4-(生产者&消费者)05 01 kafka章节4-(生产者&消费者)05 19 Kafka章节5-(高水位)01 01 Kafka章节5-(高水位)01 20 Kafka章节5-(kafkaEagle安装)02 01 Kafka章节5-(kafkaEagle安装)02 21 章节5-(KafkaFlume集成)03 01 章节5-(KafkaFlume集成)03 22 Kafka章节5-(SpringBoot集成)04 01 Kafka章节5-(SpringBoot集成)04
  • 02 消息中间件-Kafka实战 01 Kafka章节1-(Kafka概述、介绍)01 01 Kafka章节1-(Kafka概述、介绍)01 02 Kafka章节1-(架构和概念)02 01 Kafka章节1-(架构和概念)02 03 Kafka章节1-(分区&日志)03 01 Kafka章节1-(分区&日志)03 04 Kafka章节1-(生产者&消费组)04 01 Kafka章节1-(生产者&消费组)04 05 Kafka章节1-(顺序写入&ZeroCopy)05 01 Kafka章节1-(顺序写入&ZeroCopy)05 06 Kafka章节2-(Zookeeper单机安装)01 01 Kafka章节2-(Zookeeper单机安装)01 07 Kafka章节2-(Kafka单机配置)02 01 Kafka章节2-(Kafka单机配置)02 08 Kafka章节2-(Kafka集群配置)03 01 Kafka章节2-(Kafka集群配置)03 09 Kafka章节2-(KafkaTopic管理)04 01 Kafka章节2-(KafkaTopic管理)04 10 kafka章节3-(Topic管理API)01 01 kafka章节3-(Topic管理API)01 11 Kafka章节3-(生产者&消费者)02 01 Kafka章节3-(生产者&消费者)02 12 Kafka章节3-(自定义分区)03 01 Kafka章节3-(自定义分区)03 13 Kafka章节3-(序列化&拦截器)04 01 Kafka章节3-(序列化&拦截器)04 14 kafka章节4-(offset自动控制)01 01 kafka章节4-(offset自动控制)01 15 kafka章节4-(Ackes&Retires)02 01 kafka章节4-(Ackes&Retires)02 16 kafka章节4-(幂等写)03 01 kafka章节4-(幂等写)03 17 kafka章节4-(生产者事务)04 01 kafka章节4-(生产者事务)04 18 kafka章节4-(生产者&消费者)05 01 kafka章节4-(生产者&消费者)05 19 Kafka章节5-(高水位)01 01 Kafka章节5-(高水位)01 20 Kafka章节5-(kafkaEagle安装)02 01 Kafka章节5-(kafkaEagle安装)02 21 章节5-(KafkaFlume集成)03 01 章节5-(KafkaFlume集成)03 22 Kafka章节5-(SpringBoot集成)04 01 Kafka章节5-(SpringBoot集成)04
  • 06 音乐数据中心平台离线数仓综合项目
  • 01 音乐数据中心平台离线数仓综合项目
  • 01 数据仓库之数据库范式与ER实体关系模型建模
  • 01 数据库三范式
  • 02 ER实体模型
  • 03 数据仓库意义
  • 04 数据仓库介绍 05 数据仓库发展过程(1) 06 数据仓库发展过程(2)
  • 02 数据仓库之维度建模与数据仓库分析模型
  • 01 课前回顾
  • 02 维度建模-事实表
  • 03 维度建模-维度表
  • 04 星型模型
  • 05 雪花模型
  • 06 星型模型与雪花模型对比
  • 07 维度建模案例 08 数据仓库分层设计(1) 09 数据仓库分层设计(2) 10 数据仓库分层设计(3)
  • 11 数据仓库分层案例
  • 12 数据库与数据仓库区别
  • 03 数据仓库之数据仓库分层设计与命名规范
  • 01 课前回顾
  • 02 项目介绍 03 项目架构图(1) 04 项目架构图(2) 05 项目架构图(3)
  • 06 集群配置与项目人数、周期
  • 07 数据仓库模型
  • 08 数据仓库命名规范
  • 09 业务分析
  • 04 音乐数仓平台之项目架构及数仓分层、主题设计
  • 01 回顾项目前期准备内容
  • 02 歌曲热度与歌手热度排行需求
  • 03 歌曲热度与歌手热度排行需要的数据
  • 04 数据仓库分层设计
  • 05 数据处理流程 06 清洗客户端日志数据,保存到数仓ODS层(1) 07 清洗客户端日志数据,保存到数仓ODS层(2)
  • 08 存储数据表介绍
  • 05 数仓之歌曲影响力指数分析
  • 01 回顾
  • 02 项目目录结构
  • 03 ProduceClintLog处理的过程代码解析
  • 04 演示测试
  • 05 数据表介绍,创建
  • 06 安装Sqoop
  • 07 抽取MySQL中song数据到Hive ODS
  • 08 执行脚本
  • 09 清洗数据表介绍 10 清洗“歌库歌曲表”生成“歌曲基本信息日全量表”基本讲解
  • 06 数仓之歌手影响力指数分析
  • 01 回顾 02 清洗“歌库歌曲表”生成“歌曲基本信息日全量表代码讲解(1) 03 清洗“歌库歌曲表”生成“歌曲基本信息日全量表代码讲解(2)
  • 04 歌曲特征日统计表介绍
  • 05 EDS层生成“歌曲特征日统计表”
  • 06 运行演示
  • 07 微信指数
  • 07 数仓之Sqoop全量增量数据导入
  • 01 复习
  • 02 开窗函数
  • 03 表数据介绍
  • 04 统计歌手和歌曲热度需求
  • 05 统计歌手和歌曲热度代码讲解
  • 06 歌手热度代码讲解
  • 07 回顾及下面内容引入 08 配置运行Azkaban(1) 09 配置运行Azkaban(2)
  • 10 启动Azkaban
  • 08 数仓之Azkaban任务流调度使用及原理
  • 01 回顾 02 构建工作流(1) 03 构建工作流(2)
  • 04 回顾歌曲歌手热度统计数据流转图
  • 05 使用Azkaban调度歌曲歌手热度-任务一 06 使用Azkaban调度歌曲歌手热度-任务二,三,四
  • 07 使用Azkaban调度歌曲歌手热度-任务五,六 08 编写6个任务
  • 09 创建六张任务表
  • 10 执行任务
  • 11 Azkaban 问题
  • 12 代码问题
  • 13 Superset
  • 09 数仓之Superset BI可视化工具使用及原理
  • 01 解决上节课代码问题
  • 02 Superset引入及window安装
  • 03 Superset-Linux安装
  • 04 登入Superset 05 连接mysql使用(1) 06 连接mysql使用(2) 07 连接mysql使用(3)
  • 10 数仓之机器详情ODSEDSDM分层设计
  • 01 回顾
  • 02 第二个业务:机器详细信息统计需求
  • 03 数据表介绍
  • 04 业务分析
  • 05 数仓分层设计 06 处理业务(1) 07 处理业务(2)
  • 08 省份,城市表创建导入
  • 09 针对Ods层数据进行分析获取EDS层-数据
  • 10 针对Ods层数据进行分析获取EDS层-思路
  • 11 数仓之机器详情自动化调度及数据可视化
  • 01 回顾 02 清洗数据(1) 03 清洗数据(2)
  • 04 查询
  • 05 运行
  • 06 配置到机器学习中
  • 07 准备脚本,运行脚本
  • 08 启动Superset 可视化
  • 09 回答问题及下节课内容安排
  • 12 数仓之用户画像表模型设计 01 第三个业务用户画像,统计当天7日活跃用户
  • 02 数仓分层设计
  • 03 EDS层 --用户主题
  • 04 数据处理
  • 05 创建表TO_YCAK_USR_D
  • 06 创建表TO_YCAK_USR_APP_D
  • 07 创建表TO_YCAK_USR_LOGIN_D
  • 08 sqoop增量导入
  • 09 分析获取
  • 10 代码实现 11 查询获取当前日连续7日活跃用户
  • 12 azkaban任务流调度
  • 13 总计
  • 13 数仓之用户画像自动化调度及数据可视化
  • 01 上节课内容回顾
  • 02 Azkaban进行任务流调度
  • 03 使用superSet可视化
  • 04 第四个业务:商户营收统计
  • 05 第四个业务分析:商户营收统计
  • 06 数据仓库分层设计:源业系统数据
  • 07 数据仓库分层设计:EDS
  • 08 数据仓库分层设计:DM层,EDS层,ODS层分析 09 数据仓库分层设计:DM层,EDS层,ODS层分析(二)
  • 14 数仓之高德api获取机器上报位置
  • 01 回顾机器营收业务 02 分析获取TW_MAC_LOC_D机器位置信息日统计表
  • 03 增量导入 04 针对TO_YCAK_USR_LOC_D表数据,调用高德API获取位置信息得到TW_MAС_LOC_D
  • 05 高德地图API的使用
  • 06 分析数据-- Kafka [给运营中心使用]
  • 07 调高德api
  • 08 rdd算子操作访问高德api
  • 09 代码实现
  • 10 代码实现(二)
  • 11 代码实现(三)
  • 15 数仓之商户、地区营收统计分析
  • 01 上节课回顾:数据仓库分层设计
  • 02 上节课回顾:EDS 03 上节课回顾:各个ODS层与EDS层表之间的流转关系如下
  • 04 统计机器营收数据信息
  • 05 增量导入
  • 06 ODS层与EDS层表之间的流转关系 07 针对ODS层TO_YCAK_CNSM_D清洗得到EDS层
  • 08 代码实现 09 获取EDS层机器日营收统计表TW_MAC_STAT_D
  • 10 统计每台机器每个套餐、每种支付类型对应的退款情况
  • 11 获取机器日营收情况统计表
  • 16 数仓之营收分析自动化调度及数据可视化
  • 01 复习上节内容 02 数据业务分析-获取DM层:商户日营收统计表【mysgl中也有对应的表】
  • 03 数据业务分析-获取DM层:地区营收日统计表
  • 04 使用Azkaban进行任务流调度
  • 05 使用Azkaban进行任务流调度(二)
  • 06 使用Azkaban调度步骤
  • 07 使用Azkaban调度步骤(二)
  • 08 数据处理流程
  • 09 SuperSet
  • 17 数仓之实时用户、机器日志采集接口实现
  • 01 流式日志数据采集接口
  • 02 日志代码实现
  • 03 日志代码实现(二)
  • 04 日志代码实现(三)
  • 05 日志代码实现(四)
  • 06 日志代码实现(五)
  • 07 日志代码实现(六)
  • 08 配置信息解析
  • 09 数据处理
  • 10 流式业务:统计每台机器实时pvuv
  • 11 流式业务:统计每台机器实时pvuv(二)
  • 18 数仓之Flume实时日志采集实现
  • 01 上节课回顾
  • 02 统计机器uv
  • 03 Receiver模式
  • 04 Direct模式
  • 05 pirect模式
  • 06 利用Kafka维护消费者offset
  • 07 代码实现
  • 08 代码实现(二)
  • 09 代码实现(三)
  • 10 统计实时歌曲热榜
  • 11 统计实时歌曲热榜(二)
  • 19 数仓之实时用户地区日活分析
  • 01 Spark优化:资源优化
  • 02 Spark优化:并行度优化
  • 03 Spark优化:代码优化 04 代码优化:尽量避免使用shuffle算,使用map端有预聚合的操作 05 代码优化:使用高性能的算子,使用广播变量,使用Kryo序列化
  • 06 代码优化:优化数据结构,总结
  • 07 Shuffle优化
  • 08 内存优化
  • 09 堆外内存优化
  • 10 数据倾斜的处理
  • 11 数据倾斜解决方式
  • 12 数据倾斜解决方式(二)
  • 13 问题答疑
  • 02 音乐数据中心综合数仓项目-单独录播版
  • 01 数据仓库之数据库范式与ER实体关系模型建模
  • 01 数据库三范式
  • 02 ER实体模型
  • 03 数据仓库意义
  • 04 数据仓库介绍 05 数据仓库发展过程(1) 06 数据仓库发展过程(2)
  • 02 数据仓库之维度建模与数据仓库分析模型
  • 01 课前回顾
  • 02 维度建模-事实表
  • 03 维度建模-维度表
  • 04 星型模型
  • 05 雪花模型
  • 06 星型模型与雪花模型对比
  • 07 维度建模案例 08 数据仓库分层设计(1) 09 数据仓库分层设计(2) 10 数据仓库分层设计(3)
  • 11 数据仓库分层案例
  • 12 数据库与数据仓库区别
  • 03 数据仓库之数据仓库分层设计与命名规范
  • 01 课前回顾
  • 02 项目介绍 03 项目架构图(1) 04 项目架构图(2) 05 项目架构图(3)
  • 06 集群配置与项目人数、周期
  • 07 数据仓库模型
  • 08 数据仓库命名规范
  • 09 业务分析
  • 04 音乐数仓平台之项目架构及数仓分层、主题设计
  • 01 回顾项目前期准备内容
  • 02 歌曲热度与歌手热度排行需求
  • 03 歌曲热度与歌手热度排行需要的数据
  • 04 数据仓库分层设计
  • 05 数据处理流程 06 清洗客户端日志数据,保存到数仓ODS层(1) 07 清洗客户端日志数据,保存到数仓ODS层(2)
  • 08 存储数据表介绍
  • 05 数仓之歌曲影响力指数分析
  • 01 回顾
  • 02 项目目录结构
  • 03 ProduceClintLog处理的过程代码解析
  • 04 演示测试
  • 05 数据表介绍,创建
  • 06 安装Sqoop
  • 07 抽取MySQL中song数据到Hive ODS
  • 08 执行脚本
  • 09 清洗数据表介绍 10 清洗“歌库歌曲表”生成“歌曲基本信息日全量表”基本讲解
  • 06 数仓之歌手影响力指数分析
  • 01 回顾 02 清洗“歌库歌曲表”生成“歌曲基本信息日全量表代码讲解(1) 03 清洗“歌库歌曲表”生成“歌曲基本信息日全量表代码讲解(2)
  • 04 歌曲特征日统计表介绍
  • 05 EDS层生成“歌曲特征日统计表”
  • 06 运行演示
  • 07 微信指数
  • 07 数仓之Sqoop全量增量数据导入
  • 01 复习
  • 02 开窗函数
  • 03 表数据介绍
  • 04 统计歌手和歌曲热度需求
  • 05 统计歌手和歌曲热度代码讲解
  • 06 歌手热度代码讲解
  • 07 回顾及下面内容引入 08 配置运行Azkaban(1) 09 配置运行Azkaban(2)
  • 10 启动Azkaban
  • 08 数仓之Azkaban任务流调度使用及原理
  • 01 回顾 02 构建工作流(1) 03 构建工作流(2)
  • 04 回顾歌曲歌手热度统计数据流转图
  • 05 使用Azkaban调度歌曲歌手热度-任务一 06 使用Azkaban调度歌曲歌手热度-任务二,三,四
  • 07 使用Azkaban调度歌曲歌手热度-任务五,六 08 编写6个任务
  • 09 创建六张任务表
  • 10 执行任务
  • 11 Azkaban 问题
  • 12 代码问题
  • 13 Superset
  • 09 数仓之Superset BI可视化工具使用及原理
  • 01 解决上节课代码问题
  • 02 Superset引入及window安装
  • 03 Superset-Linux安装
  • 04 登入Superset 05 连接mysql使用(1) 06 连接mysql使用(2) 07 连接mysql使用(3)
  • 10 数仓之机器详情ODSEDSDM分层设计
  • 01 回顾
  • 02 第二个业务:机器详细信息统计需求
  • 03 数据表介绍
  • 04 业务分析
  • 05 数仓分层设计 06 处理业务(1) 07 处理业务(2)
  • 08 省份,城市表创建导入
  • 09 针对Ods层数据进行分析获取EDS层-数据
  • 10 针对Ods层数据进行分析获取EDS层-思路
  • 11 数仓之机器详情自动化调度及数据可视化
  • 01 回顾 02 清洗数据(1) 03 清洗数据(2)
  • 04 查询
  • 05 运行
  • 06 配置到机器学习中
  • 07 准备脚本,运行脚本
  • 08 启动Superset 可视化
  • 09 回答问题及下节课内容安排
  • 12 数仓之用户画像表模型设计 01 第三个业务用户画像,统计当天7日活跃用户
  • 02 数仓分层设计
  • 03 EDS层 --用户主题
  • 04 数据处理
  • 05 创建表TO_YCAK_USR_D
  • 06 创建表TO_YCAK_USR_APP_D
  • 07 创建表TO_YCAK_USR_LOGIN_D
  • 08 sqoop增量导入
  • 09 分析获取
  • 10 代码实现 11 查询获取当前日连续7日活跃用户
  • 12 azkaban任务流调度
  • 13 总计
  • 13 数仓之用户画像自动化调度及数据可视化
  • 01 上节课内容回顾
  • 02 Azkaban进行任务流调度
  • 03 使用superSet可视化
  • 04 第四个业务:商户营收统计
  • 05 第四个业务分析:商户营收统计
  • 06 数据仓库分层设计:源业系统数据
  • 07 数据仓库分层设计:EDS
  • 08 数据仓库分层设计:DM层,EDS层,ODS层分析 09 数据仓库分层设计:DM层,EDS层,ODS层分析(二)
  • 14 数仓之高德api获取机器上报位置
  • 01 回顾机器营收业务 02 分析获取TW_MAC_LOC_D机器位置信息日统计表
  • 03 增量导入 04 针对TO_YCAK_USR_LOC_D表数据,调用高德API获取位置信息得到TW_MAС_LOC_D
  • 05 高德地图API的使用
  • 06 分析数据-- Kafka [给运营中心使用]
  • 07 调高德api
  • 08 rdd算子操作访问高德api
  • 09 代码实现
  • 10 代码实现(二)
  • 11 代码实现(三)
  • 15 数仓之商户、地区营收统计分析
  • 01 上节课回顾:数据仓库分层设计
  • 02 上节课回顾:EDS 03 上节课回顾:各个ODS层与EDS层表之间的流转关系如下
  • 04 统计机器营收数据信息
  • 05 增量导入
  • 06 ODS层与EDS层表之间的流转关系 07 针对ODS层TO_YCAK_CNSM_D清洗得到EDS层
  • 08 代码实现 09 获取EDS层机器日营收统计表TW_MAC_STAT_D
  • 10 统计每台机器每个套餐、每种支付类型对应的退款情况
  • 11 获取机器日营收情况统计表
  • 16 数仓之营收分析自动化调度及数据可视化
  • 01 复习上节内容 02 数据业务分析-获取DM层:商户日营收统计表【mysgl中也有对应的表】
  • 03 数据业务分析-获取DM层:地区营收日统计表
  • 04 使用Azkaban进行任务流调度
  • 05 使用Azkaban进行任务流调度(二)
  • 06 使用Azkaban调度步骤
  • 07 使用Azkaban调度步骤(二)
  • 08 数据处理流程
  • 09 SuperSet
  • 17 数仓之实时用户、机器日志采集接口实现
  • 01 流式日志数据采集接口
  • 02 日志代码实现
  • 03 日志代码实现(二)
  • 04 日志代码实现(三)
  • 05 日志代码实现(四)
  • 06 日志代码实现(五)
  • 07 日志代码实现(六)
  • 08 配置信息解析
  • 09 数据处理
  • 10 流式业务:统计每台机器实时pvuv
  • 11 流式业务:统计每台机器实时pvuv(二)
  • 18 数仓之Flume实时日志采集实现
  • 01 上节课回顾
  • 02 统计机器uv
  • 03 Receiver模式
  • 04 Direct模式
  • 05 pirect模式
  • 06 利用Kafka维护消费者offset
  • 07 代码实现
  • 08 代码实现(二)
  • 09 代码实现(三)
  • 10 统计实时歌曲热榜
  • 11 统计实时歌曲热榜(二)
  • 19 数仓之实时用户地区日活分析
  • 01 Spark优化:资源优化
  • 02 Spark优化:并行度优化
  • 03 Spark优化:代码优化 04 代码优化:尽量避免使用shuffle算,使用map端有预聚合的操作 05 代码优化:使用高性能的算子,使用广播变量,使用Kryo序列化
  • 06 代码优化:优化数据结构,总结
  • 07 Shuffle优化
  • 08 内存优化
  • 09 堆外内存优化
  • 10 数据倾斜的处理
  • 11 数据倾斜解决方式
  • 12 数据倾斜解决方式(二)
  • 13 问题答疑
  • 07 离线实时数据采集体系
  • 01 Sqoop离线数据采集工具
  • 01 Sqoop离线数据采集工具
02 第二章 Sqoop使用及优化 01 04-Sqoop 命令介绍及演示 02 05-Sqoop Import - Sqoop导入MySQL数据到HDFS 命令介绍 03 06-Sqoop Import - Sqoop导入MySQL数据到HDFS - 案例1 04 07-Sqoop Import - Sqoop导入MySQL数据到HDFS - 案例2 05 08-Sqoop Import - Sqoop导入MySQL数据到Hive 命令介绍 06 09-Sqoop Import - Sqoop导入MySQL数据到Hive - 案例1 07 10-Sqoop Import - Sqoop导入MySQL数据到Hive - 案例2 08 11-Sqoop Import - Sqoop导入MySQL数据到Hive - 案例3 09 12-Sqoop Import - Sqoop导入MySQL数据到Hive - 案例4 10 13-Hive 建表语句中中文注释乱码问题解决 11 14-Sqoop Import - Sqoop导入MySQL数据到HBase - 案例1 12 15-Sqoop Import - Sqoop导入MySQL数据到HBase - 案例2 13 16-Sqoop Import - Sqoop导入MySQL数据到HBase - 案例3 14 17-Sqoop Import 增量导入 - 增量介绍及数据准备 15 18-Sqoop Import 增量导入 - append模式案例 16 19-Sqoop Import 增量导入 - lastmodified模式案例 17 20-Sqoop export - export常见命令解释 18 21-Sqoop export - export 导出HDFS、Hive数据到MySQL 19 22-Sqoop export - 更新导出数据案例 20 23-Sqoop Options File执行 21 24-Sqoop Job - Sqoop Job命令及操作 22 25-Sqoop Job - Sqoop Job增量导入案例 23 26-Sqoop 优化 24 27-Sqoop 离线数据采集工具总结2 条
  • 02 Flume实时数据采集工具
  • 01 Flume实时数据采集工具
03 第三章 Flume高级 01 27-Flume自定义Source 介绍及使用 02 28-Flume 自定义MySQL Source代码编写 03 29-Flume 自定义MySQL Source案例测试 04 30-Flume 自定义Sink介绍及代码编写 05 31-Flume 自定义MySQLSink 代码编写 06 32-Flume 自定义MySQLSink测试 07 33-Flume 拦截器介绍及使用 08 34-Flume 多拦截器使用案例 09 35-Flume Search And Replace 拦截器使用 10 36-Flume自定义拦截器方法介绍 11 37-Flume 自定义拦截器代码编写 12 38-Flume自定义拦截器案例测试 13 39-Flume 与 SpringBoot整合 - 整合两种方式介绍 14 40-Flume 与 SpringBoot整合 - SpringBoot通过Logback采集日志 15 41-Flume 与 SpringBoot整合 - 自定义Logback Appender及配置 16 42-Flume 与 SpringBoot整合 - Agent配置及测试 17 43-Flume 监控 - Http监控 18 44-Flume 监控 - Ganglia介绍及集群搭建 19 45-Flume 监控 - Ganglia监控Flume 20 46-Flume 优化 21 47-Flume高级章节总结334 条
  • 03 NiFi数据处理分发系统
  • 01 NiFi数据处理分发系统 01 NiFi数据处理分发系统-特性、架构原理与集群搭建
  • 01 课前回顾 02 创建Kudu表(1) 03 创建Kudu表(2)
  • 04 SpeakKudu
  • 05 FlinkKudu
  • 06 ClickHouse与Kudu对比
  • 07 Kudu数据存储原理
  • 08 NiFi介绍
  • 09 NiFi可解决问题及特点 10 0NiFi背景介绍 11 1NiFi核心概念 02 NiFi数据处理分发系统-Processors介绍及页面操作
  • 01 课前回顾
  • 02 NiFi架构
  • 03 NiFi关键特性
  • 04 NiFi单点安装 05 NiFi分布式安装(1) 06 NiFi分布式安装(2) 07 NiFi页面介绍(1) 08 NiFi页面介绍(2)
  • 09 NiFi处理器 03 NiFi数据处理分发系统-实时同步日志、MySQL数据到Hive
  • 01 课前回顾 02 NiFi入门案例一(1) 03 NiFi入门案例一(2)
  • 04 PutFile处理器 05 测试(1) 06 测试(2)
  • 07 模版操作
  • 08 监控
  • 09 变量表达式
  • 10 NiFi入门案例二 04 NiFi数据处理分发系统-实时监控日志数据写入Kafka及消费Kafka
  • 01 课前回顾
  • 02 配置ReplaceText处理器 03 connection讲解(1)
  • 04 问题讲解 05 connection讲解(2)
  • 06 查看连接和设置弯曲
  • 07 配置QueryDatabaseTable处理器 08 案例三讲解(1) 09 案例三讲解(2)
  • 10 SplitJson处理器
  • 11 增量同步
  • 05 NiFi 案例分析
  • 01 课前回顾
  • 02 数据换行问题
  • 03 案例四思路讲解
  • 04 配置TailFile处理器
  • 05 配置EvaluateJsonPaath处理器
  • 06 PutHDFS处理器
  • 07 运行测试
  • 08 配置ConvertRecord处理器
  • 09 CaptureChangeMySQL处理器
  • 10 测试CaptureChangeMySQL
  • 11 配置RouteOnAttribute处理器
  • 12 案例五流程讲解
  • 06 NiFi 案例分析2
  • 01 课前回顾
  • 02 EvaluateJsonPath处理器
  • 03 JDBC连接Hive 04 Hive支持Hiveserver2
  • 05 NiFi 案例分析六
  • 06 PublicKafka处理器
  • 07 NiFi 案例分析七
  • 08 课后解答
  • 04 数据离线同步工具DataX
  • 01 数据离线同步工具DataX
  • 01 数据离线同步工具DataX
  • 01 回顾学过的ETL工具
  • 02 DateX是什么
  • 03 DataX框架设计
  • 04 DataX核心架构
  • 05 DataX安装
  • 06 入门案例 07 MySQL导入到Hive,MysqlReader插件,HdfsWriter插件
  • 08 Hive导入到MySQL
  • 09 MySQL导入到HBase
  • 10 HBase导入到MySQL
  • 05 ETL工具Kettle
  • 01 ETL工具Kettle
  • 01 ETL工具Kettle-安装及基本操作
  • 01 回顾 02 解决hiveserver2起不来问题
  • 03 解释登入依赖及Hive创建两张表权限管理 04 用户1配置访问和修改权限,用户2配置访问权限
  • 05 对用户配置两列查询权限,其他列没有查询权限 06 对用户访问表student时,age列空值输出,进行脱敏 07 对用户访问student时,age列只能插叙小于等于20的行数据
  • 08 Ranger管理HDFS安全
  • 09 Kettle介绍
  • 10 Kettle核心组件
  • 11 Kettle特点及应用场景
  • 12 Kettle下载安装
  • 13 Kettle创建入门案例
  • 02 ETL工具Kettle-转换核心作业对象
  • 01 回顾
  • 02 Kettle基本操作 CSV文件输入
  • 03 Excel输入
  • 04 数据类型
  • 05 JSON input
  • 06 json输出
  • 07 生成记录
  • 08 自定义常亮数据 09 表输入(1) 10 表输入(2)
  • 11 输出
  • 12 Excel输出MicrosoftExcel输出
  • 13 SQL文件输出
  • 14 删除
  • 15 更新 16 更新插入(2)
  • 17 文本文件输出
  • 18 表输出
  • 19 课程介绍
  • 20 Concat fields
  • 21 值映射
  • 22 增加常量
  • 23 增加序列
  • 24 字段选择
  • 25 计算器
  • 26 字符串操作、剪切字符串、字符串替换
  • 03 ETL工具Kettle-案例分析
  • 01 分享故事
  • 02 回顾
  • 03 去除重复记录排序记录
  • 04 排序记录
  • 05 唯一行(哈希值)
  • 06 拆分字段
  • 07 列拆分为多行
  • 08 列转行
  • 09 行转列
  • 10 行扁平化
  • 11 课程介绍
  • 12 替换null值
  • 13 写日志
  • 14 过滤记录
  • 15 switch case
  • 16 中止
  • 17 空操作
  • 18 执行sql脚本
  • 19 数据库查询
  • 20 数据库连接
  • 21 加入过滤记入 04 ETL工具Kettle-案例分析02
  • 01 回顾与今日安排
  • 02 流查询
  • 03 合并记录
  • 04 记录集连接
  • 05 分组
  • 06 映射子转换
  • 07 回答问题 08 作业创建(1) 09 作业创建(2) 10 作业创建(3) 11 发送邮件,转换映射(1) 12 发送邮件,转换映射(2)
  • 13 全局参数 14 全局参数(2)
  • 15 设置变量获取变量
  • 16 转换命名参数
  • 17 总结 05 ETL工具Kettle-案例分析03
  • 01 回顾
  • 02 解决上节课小问题 03 Mysql库数据同步(1) 04 Mysql库数据同步(2) 05 Mysql库数据同步(3)
  • 06 Mysql表数据同步到Hive
  • 07 回答问题
  • 08 Mysql数据同步到HDFS
  • 09 Mysql数据增量同步到HIVE
  • 06 数据同步工具Canal&Maxwell
  • 01 数据同步工具Canal&Maxwell
  • 01 数据同步工具Canal&Maxwell
  • 01 回顾
  • 02 什么是Canal
  • 03 Canal工作原理 04 Canal1.1.4安装
  • 05 使用Canal同步MySQL数据
  • 06 Canal架构原理
  • 07 配置步骤
  • 08 Canal HA原理
  • 09 Canal HA 搭建
  • 10 Canal HA 测试
  • 11 Maxwell介绍
  • 12 使用Maxwell 同步MySQL数据
  • 13 使用Maxwell Bootstrap全量同步MySQL数据
  • 14 Maxwell和Canal对比
  • 08 OLAP数据分析技术体系
  • 01 Presto分布式查询引擎
  • 01 Presto分布式查询引擎
  • 01 Presto介绍
  • 01 Presto背景
  • 02 Presto特点
  • 02 Presto架构
  • 01 Presto架构角色
  • 03 Presto 安装搭建
  • 01 Presto安装前准备 02 Presto集群搭建配置1
  • 03 Presto Hive Connector 配置 04 Presto集群搭建配置2 及 启动集群
  • 04 Presto Connector
  • 01 Presto 命令行客户端配置及连接Hive
  • 02 Presto操作Hive数据
  • 03 Presto配置MySQL Connector
  • 04 Presto配置MySQL Connector 分析数据
  • 05 Presto配置Kafka Connector 01
  • 06 Presto配置Kafka Connector 02 07 安装Kafka-2.12新版本
  • 08 使用Presto实时读取Kafka中的数据
  • 05 Presto自定义函数
  • 01 Presto自定义函数UDF实现
  • 02 Presto自定义函数UDAF实现
  • 03 Presto使用自定义UDAF函数
  • 06 Presto JDBC连接
  • 01 JDBC方式连接Presto
  • 07 Presto 优化及与Impala对比 01 Presto存储与查询优化及与Impala的对比分析
  • 02 Kudu 分布式存储库
  • 01 Kudu 分布式存储库
  • 01 Kudu分布式存储引擎架构原理及搭建
  • 01 Kudu背景介绍
  • 02 Kudu概念及适用场景
  • 03 Kudu架构模型特点
  • 04 Kudu架构角色 05 Kudu存储原理(1) 06 Kudu存储原理(2)
  • 07 Kudu数据读取过程
  • 08 Kudu集群搭建
  • 09 Kudu集群启动及停止
  • 02 Kudu 与Impala整合
  • 01 课前回顾
  • 02 Kudu添加Maven依赖
  • 03 使用Java api操作Kudu(1)
  • 04 使用Java api操作Kudu(2)
  • 05 使用Java api操作Kudu(3)
  • 06 Kudu分区策略
  • 07 Kudu与Impala整合
  • 08 创建内部表和外部表
  • 09 Impala SQL操作Kudu
  • 03 Kylin数据仓库分析引擎
  • 01 Kylin数据仓库分析引擎
  • 01 Apache Kylin分析性数据仓库01
  • 01 课前回顾 02 oozie的使用1 03 oozie的使用2
  • 04 CDH集成Flink
  • 05 基础概念和Kylin简介
  • 06 数据分析模型及OLAP问题
  • 07 Kylin架构原理
  • 02 Apache Kylin分析性数据仓库02
  • 01 Kylin安装要求
  • 02 Kylin安装
  • 03 Kylin集群部署
  • 04 创建cube讲解 05 创建cube实操1 06 创建cube实操2 07 创建cube实操3
  • 03 Apache Kylin分析性数据仓库03
  • 01 课前回顾
  • 02 cube信息讲解
  • 03 cube使用
  • 04 Kylin构建Cube算法
  • 05 构建Cube演示
  • 06 Kylin的JDBC连接
  • 04 Phoenix数据分析引擎
  • 01 Phoenix数据分析引擎
  • 01 Phoenix-搭建及基本操作
  • 01 今日内容
  • 02 什么是Phoenix
  • 03 Phoenix架构特点及使用场景
  • 04 Phoenix安装
  • 05 Phoenix中的数据类型
  • 06 创建表创建带列族的表
  • 07 插入数据
  • 08 修改数据
  • 09 回答问题
  • 10 删除数据
  • 11 Phoenix表映射
  • 12 视图映射
  • 13 表映射
  • 14 回答问题及要讲的内容
  • 02 Phoenix-二级索引及JDBC连接
  • 01 回顾
  • 02 什么是二级索引
  • 03 Phoenix配置索引
  • 04 全局索引-多读场景
  • 05 本地索引-多写场景
  • 06 全局索引&本地索引区别 07 Phoenix加盐表(1) 08 Phoenix加盐表(2)
  • 09 解答问题 10 使用JDBC连接Phoenix读取HBase中的数据
  • 11 Phoenix使用注意事项回答问题
  • 12 Phoenix 图形化工具-SQuirrel
  • 13 回答问题
  • 05 Apache Druid分布式数据存储
  • 01 Apache Druid分布式数据存储
  • 01 Apache Druid实时分析型数据库
  • 01 什么是Apache Druid
  • 02 Druid优缺点
  • 03 Druid数据结构
  • 04 Druid架构原理
  • 05 四类节点
  • 06 Druid集群搭建介绍
  • 07 Druid集群搭建
  • 08 Druid集群启动
  • 09 使用Imply进行Druid集群搭建说明
  • 10 Druid数据加载-使用webui加载本地数据
  • 11 查询Druid中的数据 12 删除Druid数据,使用post方式加载Kafka数据
  • 13 Druid与HDFS整合
  • 14 流式数据加载
  • 15 Druid JDBC API与Druid数据的全量更新
  • 16 Druid与其他OLAP分析框架对比
  • 06 ClickHouse 列式数据库
  • 01 ClickHouse 列式数据库
  • 01 ClickHouse 使用场景、特性与分布式搭建
  • 01 批处理与流处理
  • 02 ClickHouse与其特征 03 ClickHouse特性1 04 ClickHouse特性2
  • 05 问题解答
  • 06 ClickHouse安装
  • 07 ClickHouse分布式安装
  • 02 ClickHouse 数据类型详解
  • 01 课前回顾
  • 02 ClickHouse命令
  • 03 ClickHouse 数据类型1
  • 04 ClickHouse 数据类型2
  • 05 ClickHouse 数据类型3
  • 06 ClickHouse 数据类型4
  • 07 ClickHouse 数据类型5
  • 08 ClickHouse 数据类型6
  • 09 ClickHouse 数据类型7
  • 03 ClickHouse数据库引擎分类及操作
  • 01 课前回顾
  • 02 Ordinary数据库引擎
  • 03 Mysql数据库引擎 04 Log系列表引擎1 05 Log系列表引擎2 06 Special系列表引擎1 07 Special系列表引擎2
  • 04 ClickHouse 表引擎分类及MergeTree引擎详解
  • 01 课前回顾 02 MargeTree引擎1 03 MargeTree引擎2
  • 04 MargeTree磁盘目录 05 MargeTree分区1 06 MargeTree分区2
  • 07 ClickHouse 使用
  • 08 ClickHouse分区表DDL
  • 09 临时表和视图
  • 05 ClickHouse 视图与SQL语法操作
  • 01 课前回顾 02 视图知识点1 03 视图知识点2
  • 04 ReplacingMergeTree
  • 05 SummingMergeTree
  • 06 AggregatingMergeTree
  • 07 物化视图和MergeTree一起使用
  • 08 疑难解答
  • 06 ClickHouse 6
  • 01 课前回顾
  • 02 ClickHouse数据导入导出 03 CollapsingMergeTree讲解(1) 04 CollapsingMergeTree讲解(2)
  • 05 CollapsingMergeTree存在的问题 06 VersionedCollapsingMergeTree
  • 07 HDFS引擎
  • 08 Mysql引擎
  • 09 Kafka引擎
  • 10 演示Kafka引擎
  • 07 ClickHouse 7
  • 01 问题解决
  • 02 Java操作ClickHouse
  • 03 Spark操作ClickHouse 04 Flink操作ClickHouse(1) 05 Flink操作ClickHouse(2)
  • 06 Flink操作ClickHouse 1.11版本之后
  • 07 ClickHouse可视化操作
  • 07 ClickHouse进阶
  • 01 ClickHouse进阶
  • 01 Clickhouse分布式集群搭建
  • 01 Clickhouse内容回顾
  • 02 Clickhouse适用场景及安装包下载
  • 03 Clickhouse分布式集群搭建及注意点
  • 04 Clickhouse启动操作命令及目录解释
  • 02 Clickhouse MergeTree表引擎
  • 01 Clickhouse MergeTree引擎数据目录变化
  • 02 Clickhouse一级索引生成与使用
  • 03 Clickhouse二级索引-跳数索引原理及案例
  • 04 Clickhouse 列级别TTL及案例
  • 05 Clickhouse 表级别TTL及案例
  • 06 Clickhouse 副本与分片
  • 07 Clickhouse副本表及实操
  • 08 Clickhouse数据分片及实操
  • 09 Clickhouse Distribute分布式表引擎创建及映射分片表
  • 10 Clickhouse Distribute分布式表分片规则及操作
  • 03 Clickhouse数据查询
  • 01 Clickhouse 数据查询数据准备
  • 02 Clickhouse With 子句及使用方式
  • 03 Clickhouse From 子句 04 Clickhouse