1.你了解过spring的隔离级别吗?
1、ISOLOCATION_DEFAULT: 数据库默认级别
2、ISOLOCATION_READ_UNCOMMITTED: 允许读取未提交的读, 可能导致脏读,不可重复读,幻读
3、ISOLOCATION_READ_COMMITTED: 允许读取已提交的读,可能导致不可重复读,幻读
4、ISOLOCATION_REPEATABLE_READ : 不能能更新另一个事务修改单尚未提交(回滚)的数据,可能引起幻读
5、ISOLOCATION_SERIALIZABLE: 序列执行效率低
2.什么是数据的脏读?
脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。
3.分布式锁怎么实现?
1.基于数据库。
2.基于缓存环境,redis,memcache等。
3.基于zookeeper。
4.分布式事物怎么实现?
1、基于消息实现的事务
2、补偿实现的事务(重试)
3、2PC/3PC/TCC等分布式事务协议
4、引入第三方框架seata
5.java创建线程有几种方法?
1.继承Thread类
2.实现Runnable接口
3.实现Callable接口
4.创建线程池
6.怎么让a线程执行完执行b线程?
a.jion(b)
7.Synchornized和Lock有什么区别?
8.说道死锁问题你了解Spring的循环依赖注入吗?
A类Autowired B类,B类Autowired C类 ,C类Autowired A类