java
2021-12-06 15:25:34 0 举报
AI智能生成
java技术栈
作者其他创作
大纲/内容
分布式服务
分布式框架
dubbo
spring cloud
服务注册/发现
nacos
zookeper
euraka
etcd
配置中心
Appolo
nacos
configMap
Zookeper
znode
临时节点
临时有序节点
持久化节点
持久化有序节点
Watch 机制
分布式锁
链路追踪
skyWalking
Zipkin
jaeger
网关
gateway
Zuul
ngnix
kong
traefik
熔断
(Hystrix)
sentinel
Rpc
fegin
dobbo
分布式事务
2PC(XA协议)
seata-AT
3PC
TCC
最终一致性事务
本地消息表
事务消息
分布式ID
snowflake雪花算法
uuId
数据库自增(步长)
redis分布式ID
分布式锁
数据库乐观锁(version)
数据库悲观锁(数据库级别锁)
分布式协调锁zookeper
分布式缓存锁-redis
基于setnx实现
redssion实现
分布式可重入锁的设计
容器
k8s
docker
流程引擎
activiti
优化
服务通信
netty
线程模型
Reactor单线程模型
Reactor多线程模型
主从Reactor多线程模型
优点
nio
零拷贝
基于buffer
使用
tio
dubbo
存储
关系型db
数据库三范式
第一范式:列不可再分(列的原子性)
第二范式:属性完全依赖于主键,行唯一(主键)
第三范式:属性不依赖于其它非主属性 属性直接依赖于主键(外键)
mysql
主从复制
异步复制
半同步复制
组复制
存储引擎
innodb
表锁、行锁
必须要主键
myisam
表锁
支持全文索引
区别
索引
索引底层实现
hash
B+tree
索引结构
聚集索引
非聚集索引
索引类型
主键索引
唯一索引
普通索引
联合索引
索引失效
隐式转换
全模糊查询与前置模糊查询
负向查询条件:NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等
优化
执行计划
子主题
分库分表
水平
水平分表
垂直
垂直分库
垂直分表
中间件
shardingJDBC
mycat
锁
mysql锁
行锁
间歇锁(Gap锁)
next-key(record+gap)
记录锁(record锁)
页锁
表锁
锁类型
排他锁(X锁)--行级锁
共享锁(S锁)--行级锁
oracle
事物
隔离级别
READ UNCOMMITTED(未提交读)
READ COMMITTED(提交读)其他DB默认
REPEATABLE READ(可重复读) MySQL默认
SERIALIZABLE (串行化)
并发事物问题
脏读
幻读---读取了删除和新增前后的数据
不可重复读
更新丢失(并发更新情况)
MVCC多版本并发控制协议
快照读---解决不可重复读
当前读---解决幻读-next-lock
nosql db(not only sql)
mogodb
缓存
redis
使用场景
缓存
击穿
热点key不过期
对key从db取数加锁
穿透
布隆过滤器
设置key-null
接口层增加校验
雪崩
热点key不过期
过期时间加随机值,避免同时到期
消息队列
发布订阅
延迟队列
分布式
分布式锁
分布式ID
计数器
特性
高性能/速度快
内存存储
单线程
epoll-I/O多路复用
持久化
RDB快照
AOF
混合持久化
丰富数据结构
LIST
STRING
SET
GEO
HASH
ZSET
原子性
原理
部署
使用
配置文件
内存淘汰策略
noeviction
LRU
allkeys-lru
volatile-lru
Random
allkeys-random
volatile-random
lfu
allkeys-lfu
volatile-lfu
key过期策略
定时删除
惰性删除
定期删除
客户端
lettuce
jedis
redssion
高可用
主从
全量同步
增量同步
哨兵
监控
提醒
故障转移
集群
memcache
区别
redis支持持久化
redis 支持多数据结构
消息队列
rocketMq
rabbitMq
kafaka
elastic stack
es
logstash
beats
kibana
Java基础
数据结构
map
list
queue
线程
线程池
并发
特性
原子性
可见性
有序性
锁
悲观锁
aqs
独占
ReentrantLock
共享
子主题
sysconizie
乐观锁
cas
version
threadLocal
反/序列化
作用
对象持久化
对象网络传输
Protostuff
泛型
PECS法则
类型擦除
设计原则
单一职责原则
开闭原则
里氏替换原则
依赖倒置原则
接口分离原则
设计模式
单例模式
工厂模式
建造者模式
jvm
类型
hostspot
ibm j9
Taobao JVM
内存结构
堆内存
TLAB (Thread Local Allocation Buffer,线程私有分配缓冲区)
年轻代
Eden区
from区(Survivor1)
to区 (Survivor2)
老年代
matespace/永久代
虚拟机栈
局部变量表
操作数
动态链接
方法出口
程序计算器
本地方法栈
直接内存(堆外内存不在jvm中)
对象存储
对象头
mark word
类型指针
实例数据
对齐位
优化
命令
jmap
jps
jstat
jinfo
jstack
工具
mat
jvisualvm
jconsole
IO
同步阻塞IO
同步非阻塞IO-NIO
异步非阻塞IO-AIO
IO多路服用技术
select
poll
epoll
tcp粘包和拆包
原因
解决方案
服务器
tomcat
nginx
spring
特点
控制反转
bean容器
轻量级
面向切面
三级缓存
循环依赖
构造器注入(不能解决)
单例setter注入(能解决)
多例setter注入(不能解决)
dependsOn循环依赖(不能解决)
0 条评论
下一页