极客-高级Java工程师体系课2.0(完结)2023
- 讲师直播
- 1月9日讲师直播
- 1月19日讲师直播
- 2月3日讲师直播
- 2月16日大咖连麦互动答疑
- 3月1日-跳出框架谈谈关于 AccessToken 那些事儿
- 3月16日讲师直播
- 3月30日讲师直播
- 4月12日-Java⾯试知识串讲-刘吉利
- 4月26日-数据库分库分表解决方案
- 5月14日「Github Copliot体验:你的AI程序员结对编程助手」
- 6月4日-亿级流量激增的应对方案
- 分布式事务
- 微服务全链路监控原理与实战
- DDD的原理与实践
- Java接口性能优化的常用手段
- Zookeeper与分布式锁
- 第一周·Day01-项目性能优化(上)
- 01-内容介绍
- 02-性能问题分析方法论
- 03-什么是压力测试
- 04-压力测试的指标有哪些
- 05-案例-压力测试SpringBoot项目
- 06-案例-压力测试结果解析
- 07-JMeter压测插件
- 08-性能关键指标分析
- 09-搭建压测监控平台
- 10-案例-梯度压测-找出项目性能瓶颈
- 11-今日内容总结
- 第一周·Day02-项目性能优化(下)
- 01-今日内容介绍
- 02-分布式压测-Linux中JMeter的使用
- 03-分布式压测-模拟超高负载的利器
- 04-服务调优案例-Tomcat优化
- 05-服务调优案例-网络IO模型优化
- 06-服务调优案例-高性能Web服务器Undertow
- 07-数据库调优初探
- 08-OpenResty调优初探
- 09-缓存调优初探
- 10-JVM调优初探
- 11-今日内容总结
- 第二周·JVM虚拟机(上)
- 1、今日内容介绍
- 2、什么是JVM?
- 3、类加载子系统
- 4、案例-自定义类加载器
- 5、双亲委派与打破双亲委派
- 6、运行时数据区-堆Heap
- 7、运行时数据区-虚拟机栈和本地方法栈
- 8、运行时数据区-方法区
- 9、运行时数据区-运行时常量池
- 10、运行时数据区-程序计数器&直接内存
- 11、今日内容总结
- 第二周·JVM虚拟机(下)
- 1、今日内容介绍
- 2、对象生命周期上-创建、内存分配与线程安全问题
- 3、对象生命周期下-对象如何进入到老年代?
- 4、对象生命周期案例:对象分配过程
- 5、对象生命周期案例:内存担保
- 6、解剖小对象:对象里的三个区
- 7、GC基本原理-什么是垃圾,如何找到垃圾
- 8、GC基本原理-对象引用:强引用、软引用、弱引用与虚引用
- 9、GC基本原理-怎么清楚垃圾,用什么清除垃圾?
- 10、串行与并行收集器-吞吐量优先PS、PO
- 11、串行与并行收集器-响应优先ParNew、CMS
- 12、串行与并行收集器-G1、ZGC
- 13、今日内容总结
- 第三周·JVM虚拟机
- 1、今日内容介绍
- 2、JVM相关工具-JDK自带jps,jstat,jinfo
- 3、JVM相关工具-JDK自带jmap,jhat,jstack,VisualVM
- 4、JVM相关工具-第三方GCEasy,MAT
- 5、JVM相关工具-第三方GCViewer,Arthas
- 6、JVM参数介绍-标准化参数、非标准参数、不稳定参数
- 7、JVM调优实战-基本原则
- 8、JVM调优实战-GC日志详解
- 09、JVM调优实战-堆内存与元空间优化
- 10、JVM调优实战-堆栈优化、吞吐量与响应时间优先策略
- 11、JVM调优实战-全功能但不全能的G1
- 12、JVM案例-内存溢出的定位与分析
- 13、JVM案例-检测死锁
- 14、今日内容总结
- 第三周·并发编程
- 1.今日内容介绍
- 2.并发编程灵魂三问
- 3.多线程重要概念
- 4.线程的一生:六种线程状态如何流转
- 5.多线程源码剖析
- 6.线程安全问题
- 7.多线程三大特性-有序性与指令重排
- 8.多线程三大特性-可见性与Java内存模型
- 第四周·并发编程-2
- 01-ReentrantLock重入锁核心原理-AQS
- 02-ReentrantLock重入锁源码分析-锁获取01
- 03-ReentrantLock重入锁源码分析-锁获取02
- 04-ReentrantLock重入锁源码分析-释放锁
- 05-公平和非公平锁、重入和不可重入锁源码分析
- 06-读写锁ReentrantReadWriteLock
- 07-如何优化锁?
- 08-并发工具类-CountDownLatch计数门闩
- 08-并发工具类-CountDownLatch计数门闩(1)
- 09-并发工具类-Semaphore信号量
- 10-并发工具类-CyclicBarrier循环栅栏
- 11-并发工具类-Condition条件对象
- 12-并发容器:Map、List、Set
- 13-并发队列:阻塞、有界和无界
- 第四周·并发编程
- 01-线程安全-synchronized原理剖析
- 02-线程安全-什么是Monitor
- 03-线程安全-锁优化
- 04-volatile关键字简介
- 05-volatile实现原理
- 06-volatile的缺陷
- 07-JUC-原子类与CAS
- 08-JUC-CAS实现原理
- 09-JUC-CAS缺陷与ABA问题
- 10-JUC-锁分类
- 11-JUC-Synchronized和JUC的锁对比
- 第五周·网络编程
- 1、BIO最基本的阻塞式IO
- 2、NIO非阻塞式IO:文件IO
- 3、NIO非阻塞式IO:网络IO
- 4、NIO案例:网络聊天室v1.0
- 5、AIO异步非阻塞式、BIO与NIO总结
- 6、Netty简介:单线程与线程池模型
- 7、Netty核心API
- 8、Netty案例:客户端与服务端的一次通信
- 9、Netty案例:网络聊天室V2.0
- 10、Netty的编码和解码
- 第五周·并发编程&网络编程
- 1、线程池工作原理剖析
- 2、创建线程池:手动vs自动
- 3、手写Web网站服务器
- 4、ThreadLocal的Key为什么需要使用弱引用?
- 5、Future和FutureTask
- 6、网络编程内容整体介绍
- 7、网络通信概念介绍
- 8、TCP的三次握手和四次挥手
- 9、URL传输协议
- 10、HTTP1.0与HTTP1.1的区别
- 11、URI和URL的区别
- 第六周·网络编程
- 1、手写RPC框架-原理分析
- 2、手写RPC框架-代码实现
- 3、手写Tomcat服务器-原理分析
- 4、手写Tomcat服务器-代码实现
- 5、Disruptor框架简介
- 6、Disruptor案例:单生产者和单消费者
- 7、Disruptor案例:多生产者和多消费者
- 8、案例:Netty整合Disruptor实现600w+连接网络应用
- 第六周·MySQL进阶
- 1、MySQL进阶整体内容介绍
- 2、MySQL逻辑架构图
- 3、MySQL日志文件与数据文件详解
- 4、案例:一条查询SQL语句的完整执行流程
- 5、MySQL存储引擎简介:InnoDB、MyISAM、Memory
- 6、存储引擎InnoDB的核心架构与内存结构
- 7、存储引擎InnoDB-磁盘结构之表空间
- 8、存储引擎InnoDB-磁盘结构之段区页行
- 9、存储引擎InnoDB-内存数据如何进入磁盘
- 10、存储引擎InnoDB-CheckPoint和Doublewrite机制
- 第七周·MySQL进阶(上)
- 1、事务基础回顾
- 2、一条Insert语句的执行流程
- 3、事务底层原理MVCC
- 4、事务底层原理ReadView案例
- 5、事务底层原理-快照读与当前读
- 第七周·MySQL进阶(下)
- 1、什么是索引?
- 2、索引的基本使用
- 3、索引数据结构分析
- 4、索引数据结构分析:B-树与B+树
- 5、存储引擎索引的实现-MyISAM
- 6、存储引擎索引的实现-InnoDB
- 7、存储引擎索引的实现-组合索引
- 8、存储引擎索引的实现
- 9、存储引擎案例:索引失效分析
- 第八周·MySQL进阶(上)
- 1、数据库锁
- 2、锁的分类之全局锁和表锁
- 3、行级锁详解
- 4、行级锁详解02
- 5、案例-行级锁分析
- 6、案例-一条复杂的SQL加锁分
- 7、MySQL的死锁原理及排查方法
- 第八周·MySQL进阶(下)
- 1、数据库调优灵魂三问
- 2、如何判断Database性能瓶颈
- 3、数据库客户端连接池优化
- 4、SQL调优-执行计划explain
- 5、SQL调优-索引、Limit、子查询、ShowProfile
- 6、数据库调优-慢查询日志、最大连接数、线程缓存
- 7、数据库宿主机优化
- 第九周·MySQL进阶
- 1、主从复制原理分析
- 2、案例-基于Pos主从复制
- 3、案例-基于GTID主从复制
- 4、一主多从,互为主从
- 5、半同步复制机制
- 6、主从同步延迟原因及解决办法
- 第九周·MySQL进阶(下)
- 1、案例:Atlas搭建读写分离
- 2、Mycat搭建读写分离
- 3、MySQL自带中间件搭建读写分离
- 4、高可用集群基本原理与搭建
- 5、分库分表基本原理
- 6、分库分表案例
- 第十周·MongoDB
- 1、什么是MongoDB
- 2、MongoDB安装与使用
- 3、MongoDB命令篇
- 4、命令篇-聚合管道,MapReduce
- 5、架构篇-存储引擎基本原理
- 6、索引篇-索引的基本使用
- 7、索引篇+实战篇-执行计划、慢查询、SDK
- 8、高可用集群篇-主从复制与复制集
- 9、高可用集群篇-分片集群
- 10、分布式文件系统简介
- 11、FastDFS部署与使用
- 第十周·Spring框架解读IOC流程
- 1、Spring-源码阅读前言
- 2、Spring-创建对象代码演变及IoC思路分析
- 3、Spring-面向过程方式手写IOC流程
- 4、spring-面向过程方式手写IOC流程02
- 5、Spring-面向对象OOAD和七大设计原则讲解
- 6、Spring-IOC模块的面向对象设计
- 7、Spring-面向对象方式手写IOC模块代码
- 8、Spring-IOC源码阅读01
- 9、Spring-IOC源码阅读02
- 第十一周·SpringMVC源码
- 1、手写springmvc框架前置知识储备
- 2、手写SpringMVC框架v1版本
- 3、手写SpringMVC v2
- 4、手写springmvc V3
- 5、SpringMVC-执行流程图解
- 6、SpringMVC-源码阅读之DispatcherServlet流程
- 7、源码阅读之RequestMappingHandlerMapping流程
- 8、源码阅读之RequestMappingHandlerAdapter流程
- 9、如何以debug方式去阅读源码
- 第十一周·Spring框架之AOP解读
- 1、Spring-AOP核心概念及动态代理原理讲解
- 2、Spring-AOP三大核心流程图解
- 3、Spring-AOP源码阅读之加载AOP相关BeanDefinition流程
- 4、Spring-AOP源码阅读之创建代理对象流程
- 5、Spring-AOP源码阅读之执行代理对象流程
- 6、Spring-解决循环依赖相关源码阅读
- 第十二周·MyBatis详解
- 1、Mybatis-手写框架
- 2、手写框架v3版本配置文件及对应存储类分析
- 3、手写框架v3版本代码实现
- 4、手写框架v3版本代码实现02
- 5、手写框架v4面向对象实现
- 6、手写框架架构及执行原理分析
- 7、源码阅读之SqlSession创建流程
- 8、源码阅读之SqlSession执行流程
- 9、源码阅读之mapper代理底层源码
- 第十二周·Spring Boot
- 1、SpringBoot和Spring的区别与联系
- 2、SpringBoot-启动流程源码解析
- 3、yml配置文件加载流程源码解析
- 4、SpringBoot-自动配置流程源码解析
- 5、SpringBoot与Redis及MyBatis整合源码解析
- 6、使用自定义starter完成案例
- 第十三周·Nginx剖析
- 1、Nginx概述及web server技术选型
- 2、nginx下载安装以及命令使用
- 3、Nginx配置文件详解
- 4、Nginx请求定位之server定位
- 5、Nginx定位之location定位和rewrite重定向
- 6、Nginx应用实战之静态资源服务器
- 7、Nginx应用实战之反向代理应用
- 8、Nginx应用实战之负载均衡应用
- 9、Nginx应用实战之动静分离应用
- 10、Nginx应用实战之虚拟主机应用
- 11、Nginx应用之缓存配置
- 12、nginx应用之日志管理
- 第十三周·Tomcat源码
- 1、深入学习tomcat概述
- 2、手写Tomcat
- 3、分析tomcat底层原理
- 4、搭建tomcat源码环境
- 5、阅读Tomcat启动流程源码
- 6、阅读Tomcat加载及创建Servlet流程源码
- 7、阅读Tomcat请求处理流程的源码
- 第十四周·Elasticsearch
- 1.倒排索引(上)
- 2.倒排索引(下)
- 3.集群和分片
- 4.搜索和查询(上)
- 5.搜索和查询(下)
- 6.分析器
- 7.聚合
- 8.脚本
- 9.模糊查询和推荐
- 第十四周·Redis剖析解读(上)
- 1、sds&intset&dict详解
- 2、ziplist&quicklist详解
- 3、Redis对象
- 4、Redis网络模型(上)
- 5、Redis网络模型(下)
- 第十五周·Redis剖析解读(下)
- 6、Redis内存管理
- 7、Redis最佳实践(上)
- 8、Redis最佳实践(下)
- 9、Redis运维
- 10、Redis场景实战
- 第十六周·微服务工程搭建(一)
- 1.SpringCloudAlibaba 组件介绍
- 2.Eureka-Server 工程搭建
- 3.Eureka-Provider + Eureka-Consumer 工程搭建
- 4.Nacos Server +Nacos Provider+Consumer 工程搭建
- 5.Cluster Provider+Cluster Consumer+Nginx 工程搭建
- 6.Nacos 服务注册案例搭建
- 7.Nacos 服务订阅案例搭建
- 8.Nacos Client 发起注册流程
- 9.Nacos Server 处理注册流程
- 10.Nacos Client 发起订阅流程
- 11.Nacos 心跳与剔除机制
- 第十六周·微服务工程实践(二)
- 12.Nacos 动态更新端口案例搭建
- 13.Nacos 动态更新配置案例搭建
- 14.Nacos 客户端配置更新机制
- 15.Nacos 服务端配置更新机制
- 16.CP + AP 模式
- 17.Distro 一致性协议
- 18.Raft 一致性协议
- 19.Ribbon 工程案例搭建
- 20.OpenFeign 工程案例搭建
- 21.负载均衡与降级案例搭建
- 第十七周·微服务工程实践(三)
- 22.@FeignClient 注解扫描机制
- 23.Feign 的上下文隔离机制
- 24.Gateway 路由案例搭建
- 25.自定义拦截过滤
- 26.转发重定向机制
- 27.Sentinel 手动设置限流、降级案例搭建
- 28.Sentinel 自动获取限流、降级案例搭建
- 29.Sentinel 接入 Nacos 案例搭建
- 30.探索 Sentinel 规则持久化机制
- 第十七周·微服务工程实践(四)
- 31.联动 Sentinel 与 Nacos 的持久化实现
- 32.ProcessorSlotChain 过滤器链流程
- 33.StatisticSlot 核心处理逻辑分水岭
- 34.Dubbo Provider & Consumer 案例搭建
- 35.依赖检查 & 负载均衡案例搭建
- 36.广播调用 & 缓存操作案例搭建
- 37.点对点调用案例搭建
- 38.泛化调用案例搭建
- 39.JDK SPI 与 Dubbo SPI 机制
- 40.Dubbo 服务发布流程
- 41.Dubbo 服务订阅流程
- 42.Dubbo Wrapper 机制
- 43.Dubbo 协议编解码
- 第十八周·RocketMQ详解(上)
- 1.MQ 的使用场景
- 2.MQ 解决的问题
- 3.MQ 该如何选型
- 4.RocketMQ 领域模型
- 5.RocketMQ 单机服务搭建
- 6.RocketMQ 源码启动服务
- 7.SCA 集成 RocketMQ 的最佳实践
- 8.普通消息收发实战
- 9.DashBoard 控制台观测
- 10.跟踪消息收发轨迹
- 11.SPMC 集群消费实战
- 12.顺序消息收发实战
- 13.定时延时消息收发实战
- 第十八周·RocketMQ详解(下)
- 14.批量收发实战
- 15.过滤消息收发实战
- 16.事务消息收发实战
- 17.最大重试消费实战
- 18.Broker 启动流程分析
- 19.NameServer 路由注册机制
- 20.生产者的发送消息流程
- 21.消费者的接收消息流程
- 22.消息的可靠性应该如何保证
- 23.不同消息的有序性如何解决
- 24.Broker 接收消息的处理流程
- 25.消息在 Broker 端的文件布局
- 26.消息存储的高效与刷盘策略
- 27.Broker 快速读取消息机制
- 28.文件恢复与CheckPoint机制
- 29.消息大量堆积了该怎么办
- 30.部署架构与高可用机制
- 第十九周·Kafka详解
- 31.NameServer 的设计理念
- 32.Kafka 基础架构运行流程
- 33.生产者选择分区发送数据流程
- 34.生产者发送数据的可靠性保证
- 35.服务端的消息处理架构模型
- 36.服务端消息存储的文件布局
- 37.如何保证服务端数据的一致性
- 38.消费方如何消费数据消费分区
- 39.Kafka 该如何实现顺序消费
- 40.消费者组重平衡流程解析
- 41.Kafka 有哪些高性能的设计
- 42.Kafka与RocketMQ的主流功能对比
- 第十九周·Jenkins详解
- 1.CI_CD、DevOps环境搭建
- 2. Jenkins入门
- 3. Jenkins&Maven
- 4.Jenkins&Git
- 5.Jenkins Security
- 6.Jenkins自动化
- 7.Jenkins pipeline
- 8.Jenkins实战1-集成Ansible(上)
- 9.Jenkins实战1-集成Ansible(下)
- 10.Jenkins实战 - CICD(上)
- 11.Jenkins实战 - CICD(中)
- 12.Jenkins实战 - CICD(下)
- 第二十周·Docker详解
- 1.初识docker
- 2.Docker client
- 3.Docker交互
- 4.Docker镜像
- 5.Docker实战
- 6.Docker-compose
- 7.Docker进阶
- 8.Docker网络
- 9.Docker镜像
- 10.Docker卷
- 11.Docker swarm生产部署
- 12.compose vs swarm
- 13.Registry
- 第二十一周·Kubernetes详解
- 1.搭建Kubernetes环境
- 2.Kubernetes基础1-上
- 3.Kubernetes基础1-下
- 4.Kubernetes基础2
- 5.调度-1
- 6.调度-2
- 7.应用管理-1
- 8.应用管理-2
- 9.持久化-1
- 10.持久化-2
- 11.持久化-3
- 12.network-1基础知识
- 13.network-2 ingress
- 14.可观测性
- 15.Kubernetes集群管理-1
- 16.Kubernetes集群管理-2
- 第二十二周·项目介绍
- 1.讲师介绍
- 2. 初识电商项目-仿淘宝
- 3.课程介绍
- 4.热身问题
- 5.电商业务分析
- 6.需求分析模型
- 7.功能需求分析
- 8.非功能需求分析
- 9.架构选型分析
- 10.架构治理分析之RPC和MQ
- 11.架构治理分析之注册中心和限流
- 12.架构治理分析—熔断降级监控
- 13.链路和日志
- 14.电商架构设计
- 15.服务化拆分
- 第二十三周·项目架构设计&代码搭建
- 16.怎样做技术选型
- 17.我的商场技术选型
- 18.关键技术分析—RPC 和注册中心
- 19.关键技术分析—配置中心和消息队列
- 20.关键技术分析—网关和限流
- 21.关键技术分析—熔断和 FastDFS
- 22.项目工程搭建
- 23.项目工程搭建—代码演示
- 24.请求处理流程(1)
- 25.请求处理流程(2)
- 26.请求处理流程(3)
- 27.请求处理流程(4)
- 28.前端工程
- 第二十四周·项目代码实战
- 29.代码实现portal页(1)
- 30.代码实现portal页(2)
- 31.代码实现portal页(3)
- 32.商品中心(1)
- 33.商品中心(2)
- 34.商品中心(3)
- 35.商品中心(4)
- 36.搜索中心
- 37.搜索中心(2)
- 38.购物车(1)
- 39.购物车(2)
- 40.购物车(3)
- 41.订单中心(1)
- 42.订单中心(2)
- 43.订单中心(3)
- 第二十五周·项目代码实现完结
- 44.支付中心
- 45.用户中心(1)
- 46.用户中心(2)
- 47.用户中心(3)
- 48.秒杀系统(1)
- 49.秒杀系统(2)
- 50.秒杀系统(3)
- 51.秒杀系统(4)
- 52.项目部署
- 53.关键问题
- 54.重点回顾