高质量程序员求职指南,Java面试题精选整理

本文介绍了Spring中的事务隔离级别,包括ISOLOCATION_DEFAULT、ISOLOCATION_READ_UNCOMMITTED、ISOLOCATION_READ_COMMITTED、ISOLOCATION_REPEATABLE_READ和ISOLOCATION_SERIALIZABLE,以及它们可能导致的问题。此外,讨论了数据的脏读现象,分布式锁的实现方式,如基于数据库、缓存和Zookeeper。还探讨了分布式事务的解决方案,如消息驱动、补偿事务和分布式事务协议。同时提到了Java创建线程的四种方法,以及如何通过join()方法实现线程间的同步。最后,文章指出死锁问题与Spring的循环依赖注入之间的关联。

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类

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掉头发的王富贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值