java面试大全
2024-09-04 10:28:40 5 举报
AI智能生成
1
作者其他创作
大纲/内容
Java知识体系
HashMap
TreeMap
LinkedHashMap
HashTable
Map
ArrayList
linkedlist
Vector
List
HashSet
TreeSet
LinkedHashSet
set
PriorityQueue
ArrayDeque
Deque
Queue
常见集合
轻量级锁加锁
加锁与释放锁
可重入原理
保证可重性
原理
偏向锁
轻量级锁
自适应自旋锁
自旋锁
锁粗化
JAVA逃逸分析
锁消除
优化
锁升级的过程
synchronized
final
static
缓存一致性
lock指令
内存屏障
防重排序
happens-before原则
有序性的实现
实现可见性
保证原子性:单次读/写
volatile
关键字
ConcurrentHashMap
CopyOnWriteArrayList
并发集合
获取锁到释放锁的过程
ReentrantReadWriteLock
ReentrantLock
独占锁
CountDownLatch
CyclicBarrier
Semaphore
Phaser
共享锁
与Object.wait()的区别
与Thread.sleep()的区别
sleep和 wait
LockSupport
Condition
lock接口
工具类
AQS
可重入锁
自定义
不可重入锁
锁
原子类
理论
CAS
Unsafe
原生四种
worker
ThreadPoolExecutor
线程池的种类
ArrayBlockingQueue
DelayQueue
LinkedBlockingQueue
PriorityBlockingQueue
SynchronousQueue
BlockingQueue
LinkedBlockingDeque
BlockingDeque
阻塞队列
Fork/Join
CompletableFuture
FutureTask
Future
task
复用的原理
线程池
Exchanger
InheritableThreadLocal
ThreadLocal
其他类
JUC
并发编程
程序计数器
本地方法栈
虚拟机栈
intern方法
字符串常量池
堆
运行时常量池
常量池
方法区(元空间)
直接内存
内存模型
Serial
串行垃圾回收器
ParNew
Parallel
并行回收器
CMS
G1(整堆收集)
并发垃圾回收器
并发与并行
经典垃圾回收器
启动类加载器(Bootstrap Class Loader)
扩展类加载器(Extension Class Loader)
应用类加载器(Application Class Loader)
自定义类加载器
类加载器
双亲委派模型
非双亲委派模型
类加载顺序
加载
连接
对象的创建
类的初始化顺序
初始化
卸载
类加载的过程
java反射
类的动态加载
类加载
调优步骤/思路
arthas
排查工具
线上问题排查
jps
jstat
jhat
jmap
jstack
jinfo
jcmd
常用命令
JVM参数
JVM调优
复制-回收
标记 - 清除
标记 - 整理
分代回收算法
垃圾回收算法
Minor GC
Full GC
Major GC
垃圾回收策略
内存分配策略
引用计数算法
GC root对象
可达性分析算法
方法区的回收
finalize()
判断是否回收
强引用
软引用
弱引用
虚引用
引用类型
堆外内存泄漏
内存泄露
垃圾回收
JVM
BIO
通道与缓冲区
缓冲区状态变量
Channel
Buffer
Selector
概念
基础
线程模型
子主题
Netty
框架
传统模型
Proactor模
epoll
poll
Reactor模型
模型
多路复用
NIO
AIO
IO流
注解机制详解
异常机制详解
反射机制详解
SPI机制详解
JAVA机制
java基础
四大特性
online ddl
表锁
记录锁(Record Lock)
间隙锁(Gap Lock)
临键锁(Next-Key Lock)
插入意向锁
行级锁
共享锁/排它锁
多版本并发控制MVCC
隔离级别
解决方案
原因
锁表
隔离
事务
适用场景
binlog(公用)
undolog
redolog
bin log与redo写入顺序的问题
日志
表空间
段
区
页的分裂原因分析
页
结构
change buffer
Buffer pool
innodb
索引
myisam
SQL类型
字符串
数字
时间
数据类型
数据库引擎
聚簇索引
非聚簇索引
聚集方式
数据结构(B+tree)
数据结构(Hash)
索引算法
最左匹配原则
like百分号在左边
不等于导致索引失效
索引字段进行计算操作
字段类型不同
两列做比较
or关键字
null值判断
!= null
所有 not 语句
内容简单单一的字段
失效场景差异
in与exists关键字
数据量占总表20%
失效场景
explane
慢查询日志
执行计划
普通索引
唯一索引
主键索引
组合索引
全文索引
索引种类
索引下推
索引覆盖
回表
分区表
join性能优化
索引碎片化
其他
Mycat
shardingJdbc
shardingJdbc和Mycat
分库分表
主从同步
集群
连接器
查询缓存buffer pool(8.0之前)
分析器
逻辑转换
基于成本优化
执行计划改进
优化器
执行器
Server层
存储引擎
sql语句的执行过程
Sql语句的执行过程
MYSQL
对称加密
非对称加密
可逆
不可逆
加密算法
二叉树
时间轮
数据结构及算法
灰度发布
弹性伸缩
K8S
douker
服务器以及运维知识
持久化
流程
角色
数据同步
选举
Partition
topic
Rebalance
Consumer Group 和 offset
Offset
Zookeeper
broker
mesaage
Consumer Group
其中重要名词
名词解释
poll消费模式
保证有顺性
原子多分区写入
消息不被重复消费
消息不丢失
解决消息积压
延迟队列(备选方案)
延迟队列
数据一致性问题
消息可靠机制
零拷贝
顺序性读写
特点
点对点
发布/订阅
模式
Kafaka
ACK
基本
基本消息模型
work消息模型
发布订阅
fanout交换机
路由模式
dirct直连交换机
topic 主题模式
topic主题交换机
headers条件模式
headers交换机
防止重复消费
消息可靠性
Pull/Push
RabbitMQ
NameServer
Broker
Producer
Consumer
tag
ConsumeQueue
广播模式
集群模式
pull/push
对比rabbitMQ
事务消息
消息顺序性
消息重复消费
RocketMQ
消息队列
主从复制
主从
哨兵
分片
同步机制
集群方式
动态字符串
string
hash
快速链表QucikList
list
与B+tree的区别
跳表
压缩表
sort set
key
数据结构
bgsave 触发
RDB
触发策略
重写机制
AOF
发布与订阅模式
双写一致性
布隆过滤器
缓存穿透
缓存击穿
缓存雪崩
redlock
公平锁
redisson
分布式锁
Redis6.0
IO多路复用
单线程为啥快
淘汰策略
lazyfree机制
慢日志
大Key问题
pipeline分片推送
pipeline
批命令
分片集群推送
lua脚本
批量操作
高并发下超卖少卖问题
Keys和Scan
redis
动态同义词配置
IK分词
拼音分词
分词器
查询语法
过滤条件
Text 与. keyword的区别
聚合查询
查询
ID更新
条件更新
POST
PUT覆盖更新
更新
常用语法
搜索策略
TermFreqs
SkipData
term
.doc文件
Posting List
Term Index
Term Dictionary
步骤
倒排索引
搜索
ELK
elasticsearch
应用场景
mongodb
canal
常用中间件
ApplicationContext
BeanFactory
容器刷新器refresh()
容器
实例化前
返回代理策略
实例化
开启循环依赖后加入三级缓存
实例化后
属性填充
执行BeanFactory的Aware接口
初始化前
完成后加入一级缓存
初始化后
销毁bean
生命周期
作用域
一级缓存
二级缓存
三级缓存
不推荐@Autowired
@Autowired注解
@Resource
@RequiredArgsConstructor
@Inject
依赖注入注解
依赖注入的方式
1 setter注入
2 构造器注入
xml 方式注入
3 @Component+@ComponentScan
proxyBeanMethods
4 @Configuration+@Bean
5 @Import + 实现ImportBeanDefinitionRegistrar
注解方式注入
6. 实现FactoryBean
7. @ImportResource导入配置文件
扩展bean注入
@Import + 实现BeanDefinitionRegistryPostProcessor
registerBean方法新增Bean信息(暂不确定)
8 对Bean的修改或者裁定
bean的加载方式(按数字顺序)
bean
API 实现
自定义类
注解
实现方式
Jdk代理
Cglib代理
实现原理
AOP切面编程
Prometheus+Grafana
actuator
监控中心
核心注解
starter
自动装载的原理
约定优于配置
启动流程
Spring boot
事务的传播
Shiro
Secutity
鉴权
设计模
事务注解失效的场景
Spring基础
Spring CloudConfg
Apollo
长轮询pull模型
@RefreshScope注解
配置中心
Nacos
心跳感知
自我保护机制
存储结构
整体流程
Eureka
OpenApl
通信
configServer
NamingServer
底层服务
AP和CP模式互相切换
数据模型
心跳机制
动态感知
Nacos的保护阈值/自我保护
服务的健康检查
重要概念
选举机制
对比zab
一致性协议Raft
注册中心
consule
具体实现
Quorum 机制
事务ID
消息广播
崩溃恢复
流程分析
ZAB原子广播协议
ACL(Access Control List)
节点属性
节点类型
数据结构Znode
组成部分
工作流程
特性
Watcher机制
工作原理
节点角色
缺点
三种状态
熔断
信号量隔离
线程池隔离
限流
Hystrix
直接拒绝
冷启动/预热
匀速排队
流量控制效果
直接
关联
链路
限流模式策略strategy
QPS
线程数
阈值类型
限流规则
熔断规则
定义规则
定义资源
授权规则
热点规则
系统规则
笔记1
笔记2
参数
熔断策略
降级规则
规则配置
NodeSelectorSlot
ClusterBuilderSlot
LogSlot
StatisticSlot
AuthoritySlot
SystemSlot
FlowSlot
DegradeSlot
插槽Slot
计数器
滑动窗口
漏桶
令牌桶
限流算法
Sentinel
服务熔断
Dubbo RPC
OpenFeign
服务调用
Zuul
Gateway
Dubbo PROXY
服务网关
Ribbon
Dubbo LB
负载均衡
Zipkin
Sleuth
服务链路追踪
组件
Spring cloud
服务消费的原理
注册与发布的原理
服务调用的过程
调用链路
服务的暴露与消费
远程方法调用
容错机制
泛化
服务降级
指定名称的扩展点
自适应扩展点
激活扩展点
扩展点原理实现
SPI机制
分层架构
核心功能
服务提供者
服务消费者
MonitorFilter
监控
组成角色
session会话
代码层面
性能调优
GRPC
如何理解RPC框架
Dubbo
架构
2PC
3PC
XA方案
TCC方案
本地消息表
消息事务
最大努力通知
脏写问题
AT模式
Saga模式
悬挂问题
TCC模式
XA模式
seate组件
分布式事务
Zookeeper(CP)
Reids(AP)
AP模型
CP模型
CAP理论
强一致性和最终一致
BASE理论
DDD领域驱动
思想
分布式
ORM
半ORM
持久层
web框架
创建型模式
结构型模式
行为型模式
中介者模式
解释器模式
原则
简单工厂模式
抽象工厂模式
工厂方法模式
区别
工厂模式
策略模式
责任链模式
装饰器模式
适配器模式
观察者模式
代理模式
模板方法
临时分区
设计模式
大数据相关
分支主题
0 条评论
回复 删除
下一页