- 博客(10)
- 收藏
- 关注
原创 我的查询没有走索引或主键,但是有limt 1,加上for update 这样会导致表锁吗
这是因为 MySQL 优化器在无法利用索引定位数据时,会选择全表扫描,进而锁定所有扫描过的行(最终退化为表锁)。在 MySQL 中,当。
2025-11-21 21:15:00
323
原创 for update 是排他锁吗
(又称写锁、独占锁,简称 X 锁)。其核心功能是确保事务对数据对象操作的独占性,防止多个事务同时修改同一数据,从而保障数据一致性。在转账操作中,锁定转出账户和转入账户的余额,确保数据一致性。锁定商品库存,防止超卖。
2025-11-16 15:15:00
142
原创 怎么实现乐观锁
乐观锁是一种并发控制机制,它假设多用户并发事务不会互相干扰,只在提交时检查是否发生冲突(如数据被其他事务修改)。如果冲突则回滚或重试,否则提交。通过在表中添加一个version字段,每次更新时检查版本号是否匹配。
2025-11-14 18:15:00
318
原创 for update是悲观锁吗
FOR UPDATE是典型的悲观锁实现,通过显式加锁确保事务隔离性。在需要强一致性的场景中非常有用,但需权衡性能与并发度。对于读多写少的场景,乐观锁(如 CAS 操作)可能是更好的选择。
2025-11-12 13:15:00
166
原创 两个事务会同时提交吗
因为提交操作本身是原子的(要么全部成功,要么全部失败),且数据库会通过并发控制机制(如锁、MVCC、版本号等)确保事务的隔离性和一致性。不过,具体行为取决于事务的隔离级别和并发控制方式。
2025-11-10 14:02:24
801
原创 Spring -- 为什么在使用@Service时标识的是interface的实现类,但是在@Resource依赖注入时确是interface自己
如果你通过实现类注入,则可能无法利用Spring的AOP功能(如事务管理、日志记录等),除非使用CGLIB代理(这通常要求类不是final的,并且目标方法不是final或static的)。这意味着如果你需要更改实现,只需提供一个新的实现类并配置Spring使用它,而不需要修改注入点的代码。使用的时候相当于使用实现类,那我为什么不直接注入实现类自己呢,非得注入interface,两种方式有什么区别吗。总之,通过接口注入是Spring框架推荐的做法,它提高了代码的灵活性、可维护性和可测试性。
2025-11-09 10:15:00
373
原创 图像对比的实现
package appium.imghash2;import java.awt.Graphics2D;import java.awt.color.ColorSpace;import java.awt.image.BufferedImage;import java.awt.image.ColorConvertOp;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;.
2025-11-08 16:32:53
90
原创 android onBackPressed 废弃后新的实现
在Android开发中,方法通常用于处理物理返回按钮的点击事件。从Android的较新版本(特别是Android 12及以上),Google推荐使用来替代直接的调用,因为这种方式提供了更好的灵活性和控制性。
2025-02-26 14:51:54
806
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅