面经学习
- synchronized的底层实现原理是什么
- HashMap的扩容机制能讲解一下吗
- mysql的binlog用过吗
- final关键词修饰对象时,对象里面的属性能发生改变吗
- 如何用Redis实现分布式锁
- Redis有哪些数据结构,其中List的实现原理
- volatile关键词的作用
- wait和notfiy/notifyAll为什么要放在synchronized里面
- ReentrantLock是如何实现公平锁的,AQS实现原理
- 负载均衡算法了解吗?一致性Hash说明一下
- 如何打破双亲委派模型
- IO多路复用概念是什么,Java里面如何实现IO多路复用(NIO)
- 对于IO密集型和CPU密集型,如何设置线程池
- Person person = new Person()的过程,JVM发生了什么
- G1回收器和CMS回收器的区别
- TCP协议的RST位有什么用
- Redis如何解决缓存穿透,布隆过滤器的原理
- CGlib代理方式和JDK代理方式的区别
- Redis的持久化方式
- MySQL可重复读的实现原理,MVCC是啥
- 多态的实现原理,动态分派和静态分派的区别
- 重写equals()为什么要重写hashcode()
- 为什么要用B+树作为索引结构,对比B树
- 为什么要用B+树作为索引结构,对比BST
- topK问题的单机解决方案和多机解决方案
- TCP超时重传和快速重传的区别
- Java里面有哪些锁【乐观锁/悲观锁 偏向锁/轻量级锁/重量级锁 可重入锁/不可重入锁 公平锁/非公平锁 自旋锁 共享锁/排它锁】
- Spring IoC AOP实现原理
- SpringMVC加载过程
- HTTPS为什么要使用非对称加密