JAVA
2023-06-05 17:56:52 0 举报
AI智能生成
java
作者其他创作
大纲/内容
JVM
类加载系统
过程
双亲委派
运行时数据区
使用者/管理者
虚拟机栈
元空间
为什么永久代会被元空间替代
执行引擎
解释器
即时编译器
代码优化
代码缓存
垃圾回收器
串行
并行(回收期间用户线程全部等待)
并发(回收线程可以和用户线程并发执行)
字节码
调优
内存
内存溢出
频繁GC
延迟
吞吐量
线程相关
常用命令
JMM
内存模型
CPU迭代带来的问题
volatile
synchronized
AQS
ReentrantLock
ReentrantLock与synchronized的区别
可重入
独占/共享
同步等待队列CLH
条件等待队列Condition
核心流程
ReadWriteLock
状态
写锁状态下可获取读锁 读锁状态下不一定获取写锁
条件变量
Semaphore
CountDownLatch
CyclicBarrier
并发容器
CopyOnWriteArrayList/副本策略
ConcurrentHashMap/分段锁
线程安全的队列
双端队列
单端队列
线程池
ForkJoinPool
ScheduledThreadPool
SingleThreadExecutor
线程
锁
多线程的优劣势
Thread
初始化
线程工具
CompletableFuture
ThreadLocal
Mysql
索引
BTree/B+Tree
内存结构
结构
表空间
段
FREE/空闲
NOT_NULL/非空
FULL/满
FLUSH/待操作
组
区
页
行
分类
缓存
固定大小
LRU/冷热分离
REDO
特殊的页
固定大小
同步硬盘
UNDO
版本链
更新操作处理
日志页的重用
回滚段
同步硬盘
Server
连接器
建立连接
鉴权
语法分析器
语法分析
语义分析
生成执行计划
优化器
常规优化
索引优化
排序优化
执行器
集群
分库分表数据的迁移
主备
binlog同步
MHA管理
事务
ReadView
锁
共享锁/排他锁
表锁/行锁
读锁 /写锁
间隙锁
临键锁
结构
Redis
数据结构
SDS
链表
压缩链表
跳跃链表
哈希表
字典
渐进式hash
数组
整数数组
字节数组
内存结构
RDB
AOF
删除策略
定时删除+定期删除+惰性删除
删除时机
内存不够用
周期事件触发
持久化
被访问
客户端
伪客户端
普通客户端
缓冲区
输出缓冲区
缓存
服务端
步骤
鉴权
用户权限
读写权限
解析命令
预备操作
后续工作
发布/订阅
排序
主备
同步
命令传播
集群
哨兵
集群模式
事务
网络模式
多路复用
事件系统
连接事件
周期事件
问题
缓存雪崩
随机缓存时间
缓存穿透
严格校验范围(id大于0等)
bitmap
缓存击穿
加锁
热点数据不失效
双写一致性问题
延迟双删
淘汰机制
Spring
IOC
Bean在哪定义
Bean如何定义
Bean的生产过程
BeanFactory
ConfigurableEnvironment/环境变量
beanFactoryPostProcessors
applicationListeners/事件监听器
启动流程
准备工作
注册内置PostProcess
注册扫描器
注册配置类
注册监听器
解析BeanDefinition
注册BeanPostProcessor/Aware
创建Bean
AOP
BeanPostProcessor/后置处理器
doCreateBean前
createBeanInstance 前
populate前
populate后
initialization前
initialization后
@EnableAspectJAutoProxy
@EnableTransactionManagement
Spring 事务管理器
gRPC
简介
特点
服务端
NettyServer
调用流程
客户端
NettyClient
调用过程
pulsar
结构
Broker
负载均衡
持久化
分区
DelayedDeliveryTracker
RedeliveryTracker
消息去重
pengdingAck
client
Producer
批量发送
路由
压缩
去重
加密
Consumer
索引确认
消息预拉取
AcknowledgmentsGroupingTracker
NegativeAcksTracker
unAckedMessageTracker
创建过程
client
生产者
分区
不分区
消费者
一个消费者一个topic
多个消费者一个topic
一个消费者多个topic/正则
Bookkeeper
消息ID
分片存储
消息写入
消息读取
Topic
类型
访问模式
订阅类型
netty
核心组件
Channel
ServerSocketChannel
ScoketChannel
EventLoopGroup
EventLoop
Bootstrap
ServerBootstrap
ChannelPipeline
ChannelHandler
ChannelFuture
网络模型
NIO
BIO
AIO
服务端
启动流程
客户端
启动流程
监听连接
零拷贝
mmap
sendFile
DMA
IO复用
select/poll
epoll
ByteBuffer
通过内置的复合缓冲类型实现零拷贝
不需要调用flip()函数切换读/写模式
动态扩展缓冲区
内存池
zk
角色
Client
Watcher
分布式锁
SYNC
Server
Leader
同步
Watcher
Learner
Follower
选主
basic paxos
fast paxos
zxid
同步
Observer
文件系统
节点类型
PERSISTENT-持久化目录节点
PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点
EPHEMERAL-临时目录节点
EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点
节点内容
事务
会话
Mybatis
es
概念
索引
文档
分片
副本
段
操作
读
索引文档
持久化
删除
微服务
服务依赖
组件
Eureka
Feign
Ribbon
Hystrix
Zuul
系统设计
三高
高性能
指标
性能优化
提升机器的配置
提升单次请求响应速度
CPU
IO
升级存储介质
SSD
加大内存
缓存
代理缓存
CDN缓存
二三级缓存
客户端缓存
IO模型优化
扩机器
高并发
指标
流量承受
提高单机处理能力
缓存预热
预处理
池技术
MapReduce
延后处理
提高集群处理能力
负载均衡
DNS负载均衡
硬件负载均衡
软件负载均衡
读多写少
局部缓存
扩展读库
分库分表
冷热分离
读少写多
消息中间件
批量写入
故障转移
流量控制
高可用
横向扩展
集群
纵向扩展
分库分表
服务器拆分
策略
多云架构、异地多活、异地备份
主备切换
微服务,无状态化架构,业务集群化部署,有心跳检测,能最短时间检测到不可用的服务
重视web安全,解决攻击和XSS问题
关注点
资源
IO
零拷贝
长连接
顺序写入/批量写入
SSD
缓存
网络传输
报文压缩
牛逼的传输协议
客户端支持
域名解析
过滤
服务
客户端
中间件
第三方服务
分布式
设计
BASE
CAP
概念
无状态/软状态
治理
可用
崩溃恢复
选举
一致
强一致
WARO协议
Quorum机制
最终一致
决议
paxos
raft
自由主题
收藏
收藏
0 条评论
下一页