基础问题1.Java中的锁有了解嘛?2.这两种锁有什么区别?3.乐观锁的实现原理?4.会有什么问题嘛?(ABA)5.ABA问题怎么解决?6.悲观锁?实现原理?7.分布式锁有了解嘛?怎么加锁的?解锁呢?多线程1.两个线程之间怎么通信?2.如果有三个子线程,想让他们按照顺序执行,怎么操作?.lock,wait,notify3.子线程有异常,主线程可以捕获到嘛?4.主线程和子线程它共用的是一个栈嘛?5.线程变量是在堆里面还是在栈里面?缓存1.平时会用到缓存嘛?2.redis和本地缓存有什么优缺点?3.常用的缓存淘汰算法有哪些?LRU?4.底层数据结构是什么?MySQL1.MySQL说一下索引吧?2.Redis底层用到了跳表,跳表和B+树区别?MySQL为什么不选择跳表作为索引结构?3.事务的几个特性?4.MySQL如何保持持久性?5.解释一下幻读?什么时候会发生幻读?6.分布式事务有了解过嘛?7.什么时候能用到行锁?8.行锁的本质是什么?锁的是什么?9.如果修改的字段上没有索引,行锁还能用嘛?