一.jvm
1.JVM 的主要组成部分及组成部分的作用?
2.如何判断对象是否可以被回收?
- 引用计数器法:为每个对象创建一个引用计数,有对象引用时计数器 +1,引用被释放时计数 -1,当计数器为 0 时就可以被回收。它的缺点是增加了时间和空间消耗以及不能解决循环引用的问题;
- 可达性分析算法:从 GC Roots 开始向下搜索,搜索所走过的路径称为引用链。当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象是可以被回收的。
3. JVM 有哪些垃圾回收算法
- 标记-清除算法:标记有用对象,然后进行清除回收。缺点:效率不高,无法清除垃圾碎片。
- 复制算法:按照容量划分二个大小相等的内存区域,当一块用完的时候将活着的对象复制到另一块上,然后再把已使用的内存空间一次清理掉。缺点:内存使用率不高,只有原来的一半,消耗内存。
- 标记-整理算法:标记无用对象,让所有存活的对象都向一端移动,然后直接清除掉端边界以外的内存。
- 分代算法:根据对象存活周期的不同将内存划分为几块,一般是新生代和老年代,新生代基本采用复制算法,老年代采用标记整理算法。
4.jvm调优指标
stw、吞吐量
5.说一下 JVM 有哪些垃圾回收器,你是怎么选的
6.说一下 JVM 调优的工具
7.string常量池相关
mysql
深分页为什么慢
程序事务失效可能原因
什么时候触发行锁,表锁
Mybatis
什么是 SQLSessionFactory sqlsession
数据库操作日志优化
mybatis mapper接口可以重载吗?
nginx
nginx worker 数量如何配置
有基于nginx二次开发吗
mq
总结mq用途
幂等怎么做的
消息可靠投递怎么做的,2种方案
顺序消息怎么做的
rabbitmq 推送和拉取对怎么选?
springBoot rabbitmq template 这么配置
redis
redisTemplate 转 redisson 连接池的问题
redisson 分布式对象,哈希槽影响
同理es大数据量查询searchafter,游标
Spring
spring源码中的设计模式
spring源码怎么看的?
spring容器启动提供了哪些扩展点,refresh方法开始说,哪些开源组件使用了这些扩展点
spring项目事务失效,排查?
循环依赖问题,构造依赖问题,Order注解
springBoot
zk
临时节点实现机制
羊群效应?
zk为什么是奇数,挂一个会不会影响使用?
多线程
sync锁升级,粗话
volatility,jmm
锁jvm层面的,操作系统层面的,
读写锁?写饥饿?StampedLock怎么回事
用过线程池吗?排查错误?
java8 和 7存到哪,可以继承的 inheritable ThreadLocal