avatar
文章
100
标签
32
分类
5
首页
页面
  • 归档
  • 标签
  • 分类
  • 图库
  • 说说
  • 示例
文档
  • 🚀 快速开始
  • 📑 主题页面
  • 🛠 主题配置
  • ⚔️ 标签外挂
  • ❓ 主题问答
  • ⚡️ 进阶教程
  • ✨ 更新日志
留言板
语言
  • English
  • 中文
彬子的Blog
搜索
首页
页面
  • 归档
  • 标签
  • 分类
  • 图库
  • 说说
  • 示例
文档
  • 🚀 快速开始
  • 📑 主题页面
  • 🛠 主题配置
  • ⚔️ 标签外挂
  • ❓ 主题问答
  • ⚡️ 进阶教程
  • ✨ 更新日志
留言板
语言
  • English
  • 中文

锁

MySQL的锁
发表于2026-01-01|数据库
MySQL锁 全局锁: flush tables with read lock,执行此条命令,整个数据库处于只读状态 unlock tables, 释放全局锁,会话断开时,也会自动释放全局锁 一般用来全库逻辑备份 表级锁:MySQL 里面表级别的锁有这几种: 表锁:通过lock tables 语句可以对表加表锁,表锁除了会限制别的线程的读写外,也会限制本线程接下来的读写操作。 元数据锁:当我们对数据库表进行操作时,会自动给这个表加上 MDL,对一张表进行 CRUD 操作时,加的是 MDL 读锁;对一张表做结构变更操作的时候,加的是 MDL 写锁;MDL 是为了保证当用户对表执行 CRUD 操作时,防止其他线程对这个表结构做了变更。 意向锁:当执行插入、更新、删除操作,需要先对表加上「意向独占锁」,然后对该记录加独占锁。意向锁的目的是为了快速判断表里是否有记录被加锁。 行级锁:InnoDB 引擎是支持行级锁的,而 MyISAM 引擎并不支持行级锁。 记录锁(Record Lock) 锁住某行记录,分为读写锁,事务提交后自动释放,例如select * from...
Synchronized 与 ReentrantLock 的区别
发表于2025-01-23|Java
Synchronized 与 ReentrantLock 的区别 synchronized:隐式锁,JVM 自动加锁 / 释放锁 ReentrantLock:显式锁,需要手动 lock() / unlock() ReentrantLock 本质上是基于 AQS 实现的。 synchronized是非公平锁 然后ReentrantLock 有公平锁有非公平锁 ReentrantLock 支持中断lock.lockInterruptibly();还有超时获取锁 123if (lock.tryLock(1, TimeUnit.SECONDS)) { try { } finally { lock.unlock(); }} synchronized ReentrantLock 锁类型 隐式锁 显式锁 释放方式 自动 手动 公平锁 不支持 支持 可中断 不支持 支持 超时获取 不支持 支持 底层 JVM AQS ReentrantLock的使用场景 一般场景我优先使用...
1
avatar
彬子
biny
文章
100
标签
32
分类
5
Follow Me
公告
This is my Blog
最新文章
MySQL的锁2026-01-01
垃圾收集器(CMS-G1-ZGC)与垃圾回收算法
垃圾收集器(CMS-G1-ZGC)与垃圾回收算法2025-12-30
类加载机制与类加载器
类加载机制与类加载器2025-12-28
MySQL的MVCC
MySQL的MVCC2025-12-27
SpringMVC执行流程2025-12-25
分类
  • Java10
  • 数据库10
  • 算法80
    • 模板2
    • 题解75
标签
JavaIO集合并发JVM垃圾收集MySQL索引HashMap事务MVCC锁Redis分布式锁Redisson网络模型IO多路复用过期策略淘汰策略数据结构SpringIOCDI缓存数据同步垃圾收集器垃圾回收算法VolatileSpringMVC执行流程类加载性能优化
归档
  • 2026年01月 1
  • 2025年12月 9
  • 2025年11月 8
  • 2025年10月 2
  • 2025年05月 1
  • 2025年03月 21
  • 2025年02月 15
  • 2025年01月 13
网站信息
文章数目 :
100
运行时间 :
本站总字数 :
58.8k
最后更新时间 :
©2019 - 2026 By 彬子
框架 Hexo|主题 Butterfly
搜索
数据加载中