java架构
2021-06-25 14:38:10 122 举报
AI智能生成
1
作者其他创作
大纲/内容
架构
数据结构
数学
指数
对数
级数
模预算
复杂度
空间复杂度
时间复杂度
数组
链表
栈
队列
树
二叉树
AVL树
线索二叉树
完全二叉树
哈夫曼树
B树
B+树
红黑树
图
哈希
算法
排序算法
快速排序
冒泡
选择
插入
归并
希尔
堆
加密算法
MD5
Base64
SHA
DES
RC2
IDEA
RSA
其他算法
雪花算法
贪婪算法
分治算法
动态规划
随机划分
设计模式
单例
工厂
代理
观察
装饰
适配
桥接
策略
模板
java类
基础知识
==与equals
拆装箱
集合类
HashMap
jdk1.7
数组+链表
头插法
jdk1.8
数组+链表+红黑树
扩容resize
转树与解树
尾插法
优化
如何避免内存泄露问题
如何降低hash冲突
如何合理指定初始容量大小
面试
1.8线程不安全在哪
ArrayList
ConcurrentHashMap
HashTable
LinkedList
TreeMap
CopyOnWriteArrayList
并发类
thread
描述
线程/进程
如何理解cpu切换多线程
如何优雅的停止一个线程
多线程和单线程的区别
创建
继承thread
实现runnable接口
实现callable接口
使用线程池Executor
使用@Acync异步注解
状态
就绪
运行
阻塞
死亡
多线程安全问题
子主题
多线程之间的通讯
生产者消费者
join方法
sync
内置原理
locks
悲观锁
乐观锁
自旋锁
重入锁
公平锁
非公平锁
AQS
LockSupport源码
AbstractQueueSynchronizer源码
ReentrantLock/ReentrantReadWriteLock/ReadWriteLock源码
Semaphore/CountDownLatch/CyclicBarrie源码
executor
为什么使用线程池
线程池的核心原理
线程池如何合理配置参数
atomic
Atomic原子类
CAS乐观锁原理
Unsafe魔法类详情
collections
blockingQueue
ArrayBlockingQueue数组有界队列
ConcurrentLinkedQueue链表有界队列
PriorityBlockingQueue优先级排序无界队列
DelayQueue延时无界队列
框架应用
其他结合
tools
FutureTask
ForkJoin
ThreadLocal
lamuda
集合操作
线程操作
java其他框架
shiro
druid
httpclient
netty
网络模型概念基础
tcp/ip五层架构模型
应用层
传输层
网络层
数据链路层
物理层
socket网络编程
tcp
udp
输入一个url地址如何解决ip地址原理
http协议底层原理
https协议请求与相应原理
https与ssl/tls原理
http协议与socket区别
io模型原理
阻塞io模型
非阻塞io
多路复用io
信号驱动io
异步io
nio和bio
aio基本原理
bio和nio的演进
面向流和面向缓冲
阻塞与非阻塞
netty源码解读
netty常见使用场景
rpc框架
tomcat服务器
网络游戏
nio架构原理
缓冲区
选择器
通道
netty高性能设计
异步非阻塞通信
零拷贝/内存池
高效的reactor线程模型
无锁化的串行设计概念
序列化框架支持
netty线程模型及源码分析
高性能序列化协议protobuf及源码分析
粘包拆包现象及解决方案,编解码器源码分析
直接内存月netty零拷贝详解
netty框架实战
基于netty手写rpc(dubbo)
基于netty手写多人连接五子棋
基于netty手写web服务器(tomcat)
mina
jvm
jvm历史版本
HotSpot
类加载
双亲委派
类加载器
类加载执行顺序
jvm内存模型
堆/栈/元空间/字符串常量/程序计数器
线程栈和栈帧内部结构
局部变量表
操作数栈
动态链接
方法出口
本地方法栈(JNI)
字符串常量池
静态常量池
运行时常量池
常见string面试
常量池不同JDK版本存放区域
jvm对象内存布局
对象布局
对象头
实际数据
对象填充
new一个对象占多少字节
空属性对象指针压缩为8k
8字节对齐
屏障
对象访问定位
new 一个对象的底层原理
指针碰撞
jvm垃圾回收算法
fullgc
minorgc
垃圾回收算法
标记清除
标记整理
标记复制
分代智力
垃圾复制算法
垃圾回收机制三色标记算法
三色标记产生漏标/多标问题
浮动垃圾
漏标问题
对象漏标解决方案
基于增量更新方式CMS
基于原始快照方式satb(G1)
Region记忆集(Remember set)与卡表(CardTable)详解
stop the world
为什么发生
避免
jdk1.0-14收集器
串行
Serial垃圾收集器
并行
ParNew垃圾收集器
Parallel垃圾收集器
并发
CMS垃圾收集器
原理
初始标记
并发标记
重新标记
并发清除
缺点
G1收集器
n个不同的region
Region记忆集
卡表Cardtable详解
基于原始快照satb解决
ZGC垃圾收集器
Epsilion与Shenandoah垃圾收集器
参数优化
Xss
Xmm
开启指针压缩
jvm调优工具
jdk自带jstat,jinfo,jmap,jhat,jstatck调优命令
监控visialVM,jconole,arthas
gc日志分析工具
gcEasy日志分析
GCview日志分析
如何阅读日志详情信息
字节码解析
volidate指令重排
字节码指令表
openJDK
jvm参数调优实战
亿级流量项目堆内存年轻代与老年代垃圾回收参数设置与调优
线上生产环境omm内存溢出监控工具定位解决方案
线上生产环境如何减少严重fullgc导致系统直接卡死
高并发系统,线上生产环境如何避免频繁的gc操作
高并发系统,如何优化g1/cms收集器
日均百万pv服务器如何设置jvm对堆内存初始大小
spring
源码
ioc
aop
bean生命周期
监听器
手写
整合其他框架方式
利用FactoryBean整合mybatis
springmvc
springmvc源码解析
注解启动原理分析
执行流程
dispatchServerlt
handlerAdapter
springservletContainerInnitializer
ResourceViewReslover
transational注解
底层原理
事物传播方式
事物隔离级别
过滤器
拦截器
springboot
SpringBoot自动配置运作原理
SpringBoot核心模块源码解读
SpringBoot核心注解源码解读
SpringBoot内嵌Servlet容器源码解读
SpringBoot打包部署和运维管理
Servlet容器如何过渡webflux
相比spring好处
orm
mybatis
整体认识mybatis架构
工作原理
一级二级缓存使用场景
mapper接口映射代理模式分析
核心类和接口
configuration
sqlsession
sqlsessionfactory
exeutors
baseExecutor
simpleExecutor
reuseExecutor
batchExecutor
mappedstatament
statementhandler
resultSetHandler
注解
@select
@result
@insert
@delete
@update
使用设计模式
建造
适配器
jdbctemplate
hibernate
tomcat
tomcat运行原理分析
tomcat线程模型
tomcat参数解析调优
tomcat与Servlet
缓存
redis
redis特性与使用
redis集群演变和部署
基于redis实现分布式锁
aof和rdb持久化策略
redis集群高可用伸缩架构
哨兵模式及数据丢失问题分析
rediscluster开发与通讯协议源码详解
缓存击穿与雪崩问题解决和预防
cluster数据分布算法之hashslot
reids与mysql数据库同步数据一致性解决方案
基于mq实现
基于canal实现
memcache
数据库
mysql
索引
执行计划
索引结构
架构和执行流程原理
索引底层实现
事物底层实现
参数
读写分离(主从)
分库分表
高并发
mongodb
配置使用
elaticSearch
结合kibaba
结合logstash
数据库中间件
代理层mycat
直连层sharingShpere
sharing-jdbc源码分析
SQLparingEngine源码详解
SQLRewriteEngine、SQLToken、SQLBuilder源码详解
SQLExecuterCallBack源码分析
MergeEngine源码分析
分布式
zookeeper
快速入门与集群部署
zookeeper之zkclient&curator
zookeeper核心源码分析
zookeeper容灾与扩容详解
基于zookeeper实现分布式锁
zab原子广播协议
Paxco一致性协议
dubbo
dubbo企业常规应用
dubbo协议模块源码分析
dubbo容错机制与高扩展分析
dubbo设计原理和源码
dubbo管控后台管理与部署详解
loadbalance负载均衡原理
dubbo服务降级原理
netty手写dubbo
nacos
nacos集群选举raft算法
分布式事物
seata
理论
cap
base
mysql同步
canal
分布式session
分布式缓存
MRU算法
ARC
FIFO
分布式计算任务调度算法xxj-job
轮转法
加权法
散列法
最少连接
最低缺失
最快响应
遗传算法
蚂蚁算法
ngnix
事件驱动模型
核心配置
虚拟主机配置
upstream
location
rewrite
静态目录配置
https协议配置
负载均衡算法
轮询机制
随机算法
固定ip
权重算法
高级应用
openResty+nginx+lua实现亿级详情页
keepAlived+nginx高可用
nginx+lua对服务实现限流熔断
openresty/tengine
结合lua
分布式架构解决方案
微服务幂等架构
什么是幂等设计,幂等产生的背景
解决服务接口幂等问题核心原因
从架构层面分析幂等产生的原因
网关层
接口层
DB层
insert类型唯一注解的表
update类型乐观锁机制
全局id真的能保证接口幂等性吗
如何保证RPC接口幂等性问题
全局id
重试策略
根据真实业务场景实现幂等操作
分布式锁架构
什么场景用分布式锁
分布式锁实现原理
超时控制
综合设计
综合如何避免死锁问题
性能优化
高可用
公平性
分布式锁兼容性测试与恢复设计
分布式锁实现方案
Zookeeper实现分布式锁
Redis Setnx实现分布式锁
Redis分布式锁框架reidssion
分布式事务架构
分布式事务产生场景
分布式事务一致性协议
强一致性协议
弱一致性协议
最终一致性协议
分布式事务设计思想
base和cap理论
柔性和刚性事务
2pc、3pc、tcc
分布式事务解决框架
LCN解决分布式事务
Seata解决分布式事务
MQ解决分布式事务
TCC解决分布式事务
重试回调方式解决
分布式任务调度
传统定时任务缺点
消耗cpu
非解耦影响业务逻辑
分布式任务调度核心设计思想
日志可追溯
弹性扩容缩荣
支持并行调度
高可用策略
失败处理策略
动态分片策略
分布式任务调度框架
xxl-job源码解读
Elastic源码解读
微服务
springCloudNetfilix
Eureka服务注册与发现源码解读
Fegin声明式服务调用源码解读
Hystrix实现服务限流降级熔断解读
Zuul统一网管详解,服务路由,过滤器源码解读
Config分布式配置中心源码解读
Sleuth分布式链路跟踪源码解读
Ribbon客户端负载均衡源码解读
springBootAlibaba
Nacos分布式注册中心源码解读
服务注册与发现
Nacos服务注册于发现
Nacos服务心跳检测与续约
Nacos服务下线与健康检查
Nacos集群Raft选举算法
Nacos集群节点之间数据同步
Nacos中AP模式
Nacos中CP模式
Nacos集群脑裂解决方案
分布式配置中心
Nacos分布式配置中心实现原理
Nacos如何实现动态刷新配置文件
GetWay新一代微服务网关源码解读
为什么比Zuul性能强
动态路由源码
指定时间规则配置路由
cookie匹配路由
Header匹配路由
Host匹配路由
请求方法匹配路由
强求路径匹配路由
过滤器源码分析
自定义GateWayFiliter
GetWay集成Nacos实现负载均衡
GetWay集成Sentinel实现网关限流
Seata分布式事物源码解读
Seata解决分布式事物三大核心组件源码解读
Seata基于undo_log表逆向生成sql语句回滚源码
Seata分支事物全局锁设计源码解读
GlobalTransactionInterceptory注解源码解读
TM如何远程连接TC获取全局事物id源码解读
Seata前置和后置镜像源码解读
Seata与LCN回滚之间存在哪些区别
Canal分布式数据同步
Canal整体架构源码解读
Mysql主从复制原理分析
Canal如何伪装从节点订阅Binlog文件
EventParser与EventSink设计原理
Canal增量订阅消费设计原理
Canal高并发数据同步性能优化
如何降低数据之间的同步延迟
如何避免数据同步消息顺序一致性
如何避免数据同步丢失问题
AlibabaCloud
ACM
OSS
SchedulerX
SMS
serviceMesh
微服务和服务网格之间的区别
功能原理
分布式消息中间件
MQ基础概念
同步和异步
流量削峰
扩展性、解耦
缓冲、可恢复性
生产者和消费者
MQ常见解决方案
MQ如何避免消息堆积
提高消费者消费速率(集群)
消费者批量获取消息
MQ如何避免消费者重复消费(幂等问题)
全局id+业务场景保证唯一性
MQ如何保证消息不丢失
消息确认机制
持久化
消息ack
MQ如何保证消息顺序一致性
绑定同一个消费者和队列
MQ推与拉去框架模型
主流MQ框架
kafka
kafka核心架构设计模型
broker
topic
partiiton
producer
consumer
kafka性能调优政策
jvm参数调优收集器选择
网络和io操作线程配置优化
log数据文件刷盘策略
日志保留政策配置
producer与Consumer优化
为什么kafka能够支撑高并发
kafka服务器端高并发三层网络架构模型
kafka消费者端之高性能批量消息春处理原理
kafka生产者之高性能你内存缓冲池设计原理
kafka服务端挑表,稀松索引,零拷贝设计
kafka框架原理解读
CopyOnWriteMap集合使用
把读写对应批次(分段加锁)
RecordAccumulator封装消息流程原理
生产者如何处理粘包,拆包问题
Sender线程运行原理解读
rabbitMq
activeMq
rocketMq
linux
linux系统原理
linux内核预备工作
linux内核体系结构简析
linux体系结构和内核机构的区别
linux驱动的platform机制
linux内核体系结构
linux命令
linux部署
linux监控
服务运行监控
日志排查
shell脚本
数据备份
服务定时任务
前端
pc端
html
js
css
框架
jquery
angluarjs
bootstrap
vue
elementUI
移动端
小程序
ios
android
react
网络
osi模型
协议
路由
云服务
cdn
负载均衡
域名
ces服务器
大数据
hadoop
hbase
strom
0 条评论
下一页