Java旅程

1

1.1.mybatis

1.1.1.mybatis架构分析

mybatis框架架构图

整体执行流程图

sqlsession执行流程图

1.1.2.mybatis源码分析

config文件加载流程

mapper文件加载流程

sqlSource创建流程

sqlSession执行流程

获取boundSql流程

参数映射流程

结果集映射流程

1.1.3.设计模式

构建者模式

简单工作模式

工厂方法模式

抽象工厂模式

单例模式

1.1.4.手写mybatis

实现配置文件加载流程

实现封装jdbc的执行流程

1.2.spring

1.2.1.核心模块

核心容器模块

core模块
beans模块
context模块
expression模块

AOP和设备模块

数据访问及集成模块

WEB模块

报文消息模块

Test测试模块

1.2.2.核心接口

BeanFactory接口体系

BeanDefinition接口体系

ApplicationContext接口体系

1.2.3.源码分析

IOC模块源码分析

IOC初始化流程
BeanDefinition加载注册流程
DI依赖注入流程

AOP流程

AOP标签解析流程
AspectJAwareAdvisorAutoProxyCreator类的作用
AspectJExpressionPointout类的作用
AspectJPointcutAdvisor类的作用
动态代理对象创建流程
AspectJAwareAdvisorAutoProxyCreator类的实现
AspectJExpressionPointout类的实现

tx流程

spring事务的实现原理
PlatformTransactionManager接口体系
TransactionStatus接口

1.2.4.设计模式

创建型

简单工厂模式
工厂方法模式
抽象工厂模式
单例模式
原型模式

结构型

代理模式
jdk动态代理模式
cglib动态代理模式
装饰模式
组合模式

行为型

1.2.5.手写框架

spring框架之IOC模块

spring框架之AOP模块

1.3.springMVC

1.3.1.框架架构分析

11步执行流程图

六大组件介绍

1.3.2.springMVC框架源码解析

实现DispatcherServlet初始化流程

实现DispatcherServlet执行流程

实现HandlerMapping执行流程

实现HandlerAdapter执行流程

1.3.3.手写springMVC框架

实现DispatcherServlet初始化流程

实现DispatcherServlet执行流程

实现HandlerMapping执行流程

实现HandlerAdapter执行流程

1.4.MySQL

1.4.1.SQL语法顺序和解析顺序的理解

1.4.2.MySQL架构分析和执行流程分析

逻辑架构图

连接器
服务管理
连接池
SQL接口
解析器
查询优化器
查询缓存
可插拔存储引擎

执行流程图

简单执行流程
详细执行流程

物理存储结构

日志文件
错误日志
二进制日志
通用查询日志
慢查询日志
量做(redo)日志
回滚(undo)日志
中继日志
数据文件
InnoDB数据文件
MyISAM数据文件

1.4.3.索引篇

索引基础

索引介绍
什么是索引
索引优势
索引劣势
索引分类
单列索引
组合索引
全文索引
空间索引
索引使用
索引创建
索引删除
索引查看

索引原理分析

索引存储结构
多用组合索引
索引使用场景
索引失效分析

1.4.4.锁和事务篇

MySQL锁的介绍

表级锁
行级锁(InnoDB)
行锁
MDL元数据锁

行锁原理分析

简单SQL的加锁分析
复杂SQL的加锁分析
死锁原理分析

事务流程分析

回滚流程(undo)
重做流程(redo)

InnoDB架构分析

架构图分析
内存结构分析
磁盘文件分析

InnoDB一致性非锁定读

一致性非锁定读的机制
MVCC(多版本并发控制)原理
InnoDB的MVCC实现

InnoDB事务分析

原子性、一致性、持久性原理分析
隔离性原理分析

1.4.5.性能分析篇

性能分析思路

慢查询日志分析

何时开启慢查询日志
设置慢查询超时时间多长合适
分析慢查询日志的工具

查询计划分析

profile性能分析

1.4.6.性能优化篇

服务器层面优化

SQL设计层面优化

SQL语句优化

1.4.7.主从复制和读写分离集群

主从复制集群

读写分离集群

1.4.8.分库分表篇

分库分表策略

Mycat集群

架构介绍
核心概念介绍
十种常见分片规则
Mycat集群搭建与分库分表应用
Mycat读写分离方式设置
用户购物下单实践

1.5.redis

1.5.1.redis五种数据类型及使用场景分析

1.5.2.redis事务

redis事务分析

事务失败的处理

1.5.3.redis持久化原理及性能分析

rdb方式

快照触发时机
设置快照规则
快照实现原理
优缺点分析

aof方式

同步磁盘数据分析
aof重写原理分析
文件损坏如何恢复

如何选择rdb和aof

1.5.4.redis主从复制

原理分析

主从配置的实现原理

1.5.5.redis哨兵机制

哨兵进程的作用分析

故障判断原理分析

1.5.6.redis cluster集群

redis的集群策略

架构分析

容错机制

redis cluster集群搭建

数据迁移

1.5.7.redis和lua整合

如何编写包含redis api的lua脚本

redis整合lua脚本

1.5.8.redis消息模式

队列模式

发布订阅模式

1.5.9.分布式锁

分布式锁的实现方式

分布式锁的注意事项

分布式锁实战与高并发测试

1.5.10.常见缓存问题与解决方案

缓存穿透

缓存雪崩

缓存击穿

缓存双写一致性

1.6.mongodb

1.6.1.原理分析

router server、config server、data server工作原理

replica set(副本集)工作原理

分片策略以及shard和chunk的理解

1.6.2.主从集群

1.6.3.副本集群

1.6.4.混合方式集群

1.6.5.mongodb使用注意事项与案例

2

2.1.zookeeper

2.1.1.zookeeper简介

zookeeper重要概念

Paxos算法

ZAB协议

CAP原则

2.1.2.zookeeper源码解析

watcher核心机制

Leader选举

2.1.3.zookeeper应用场景

注册中心

分布式锁

分布式队列

负载均衡

配置维护

命名服务

DNS服务

分布式同步

集群管理

2.2.网络通信

2.2.1.RPC

RPC原理与本质

RPC理论
RPC基于序列号信息通信

RPC解决什么问题

RPC解决SOA编程模式问题

RPC实例实战

RPC基于socket相连
RPC基于动态代理调用透明化

RPC模块化演讲

通过设计模式实现RPC模块单一职责

2.2.2.netty

IO模型原理

NIO事件驱动流性能优化
BIO&OIO堵塞流问题
AIO异步流使用场景

线程模型

NioEventLoop线程模型

驱动模式

ServerBootStrap启动原理
Bootstrap启动原理

codec框架

tcp黏包/拆包
encode解码器
encode编码器

通道

channelHandler
channelInboundHandler
channelOutboundHandler

责任链模式

上下文

配置构建模式

内部类

主从模型

零拷贝

字节容器

netty实战

2.3.Dubbo

2.3.1.Dubbo入门

Dubbo分布式服务模块划分

基于Dubbo的分布式架构实战

服务治理平台安装部署

2.3.2.Dubbo高可用

Dubbo容错机制

Dubbo服务降级

Dubbo服务限流

服务暴露延迟

结构缓存应用

多版本控制

多注册中心

2.3.3.Dubbo高级应用

Dubbo负责均衡策略与自定义实现

仅订阅与仅注册

提供者的异步调用、异步执行

Dubbo源码解析

Dubbo的SPI
Dubbo对spring配置文件的加载和解析
provider的服务暴露
consumer的服务消费

2.4.nginx

2.4.1.nginx介绍与安装

2.4.2.nginx核心功能

配置说明

woker_process
woker_cpu_affinity
event
http

nginx性能调优

全局模块下的调优
events模块下的调优
反向代理高性能配置

零拷贝

多路复用器

缓存配置

页面压缩配置

日志管理与自动切割

性能性配置

2.5.消息中间件

2.5.1.ActiveMQ

消息中间件在分布式架构中的应用场景

ActiveMQ高可用企业级方案

模型讲解

ActiveMQ组件

消息确认与重发策略

与spring整合实战

ack模式

ackType

持久化策略

通信协议类型

networkconnector

2.5.2.RabbitMQ

2.5.3.RocketMQ

2.5.4.分布式消息系统Kafka

2.6.SpringBoot

2.6.1.SpringBoot入门

2.6.2.Actuator监控器

2.6.3.原理部分

自动配置源码解析

yml加载过程解析

SpringBoot与Redis整合过程解析

Mybatis与SpringBoot整合过程解析

2.6.4.手写Stater

2.7.SpringCloud

2.7.1.SpringCloud入门与介绍

2.7.2.SpringCloud组件

微服务中心Eureka

注册中心入门
注册中心对比
集群搭建
使用zookeeper-discovery
注册中心设计方案
节点计算实例

声明式REST客户端OpenFeign

Fegin使用
Ribbon负载均衡算法IRule
自定义负载均衡算法
RestTemplate原理与扩展

Hystrix熔断机制与服务降级

服务熔断
雪崩效应
服务雪崩
服务降级
Hystrix

微服务网关zuul

负载均衡
路由过滤
filter
高可用

分布式配置中心SpringCloud Config

消息总线SpringCloud Bus动态配置刷新
配置中心选型介绍
服务端
git仓库
本地
客户端——配置三方库
commons-configuration
Spring Environment

消息系统整合框架SpringCloud Stream——stream kafka微服务

SpringCloud Sleuth+zipkin链路追踪

2.8.反应式WEB开发框架Webflux

3

3.1.FastDFS

3.1.1.架构分析

Tracker Server作用分析

Storage Server集群分析

上传流程分析

下载流程分析

同步流程分析

新增storage server流程分析

3.1.2.FastDFS整合Nginx模块原理分析

3.1.3.合并存储

分析合并存储的好处和解决的问题

合并存储空闲空间管理

trunkserver 空闲空间分配
空闲平衡树重建
trunk binlog压缩

tracker leader选举trunkserver

3.1.4.图片压缩

主从文件方式

整合Nginx生成缩略图

3.2.ElasticSearch

3.2.1.入门介绍

3.2.2.整体架构

3.2.3.工作原理

3.2.4.ELK与实战

3.3.互联网电商项目

3.3.1.项目立项与需求分析

3.3.2.根据需求考虑整体架构

静态资源处理

前后端分离

负载解决方案

网关层选型

同步架构VS异步架构

注册中心选型

MQ选型

rest VS rpc

数据传输选型

搜索引擎

SSO实现方式

分布式锁与分布式事务

nosql选型

关系型数据库选型

3.3.3.项目实现

高并发处理

搜索引擎实战

分布式锁实战

分布式事务

SSO单点登陆

文件系统实战

秒杀系统

你可能感兴趣的:(笔记)