自我介绍 多线程的生命周期 sleep、wait、join三者的区别 多线程的加锁方式有几种 原子类的底层实现原理 cas的原理 synchronized怎么用?synchronized怎么实现加锁,加锁的过程 synchronized和ReentrantLock的区别 hashmap的put过程 hashmap的链表长度超过8为什么会转换成红黑树? spring是怎么创建对象的? spring是怎么解决循环依赖的? SpringBoot是如何实现自动装配的? sql关联查询有几种方式? sql删除重复数据的方...