一、HashMap底层实现 简单的可以从以下两个纬度去理解HashMap的底层实现原理。 数组:充当索引 链表:处理碰撞 HashMap用一个指针数组table,离散化key的作用,当加入一个 key 的时候,通过Hash算法,计算出 key所在的数组下标 i,如果table[i]位置的对象元素为n ...
分类:
其他好文 时间:
2018-01-28 20:05:05
阅读次数:
141
本文针对MySQL中在Repeatable Read的隔离级别下使用select for update可能引发的死锁问题进行分析。 1. 案例 业务中需要对各种类型的实体进行编号,例如对于x类实体的编号可能是x201712120001,x201712120002,x201712120003类似于这样 ...
分类:
其他好文 时间:
2017-12-22 03:27:00
阅读次数:
1302
mysql 中的 latch锁和Tlock(事务锁), DML加锁规则,以及死锁分析。 一.Latch和Tlock的关系 Latch:为保护临界资源的正确性而设计,例如保护正在使用的内存页面不被破坏等。 没有死锁检测机制,轻量锁,并且作用对象时内存页面或是内存共享变量. Tlock:事务锁,作用对象 ...
分类:
数据库 时间:
2017-10-16 11:09:29
阅读次数:
200
一个最不可思议的MySQL死锁分析 死锁问题背景 做MySQL代码的深入分析也有些年头了,再加上自己10年左右的数据库内核研发经验,自认为对于MySQL/InnoDB的加锁实现了如指掌,正因如此,前段时间,还专门写了一篇洋洋洒洒的文章,专门分析MySQL的加锁实现细节:《MySQL加锁处理分析》。 ...
分类:
数据库 时间:
2017-09-11 10:28:34
阅读次数:
211
一、show engine innodb status 简介: show engine innodb status 是mysql提供的一个用于查看innodb引擎时间信息的工具,就目前来说有两处比较 常用的地方一、死锁分析 二、innodb内存使用情况 二、通过show engine innodb ...
分类:
数据库 时间:
2017-09-10 22:52:06
阅读次数:
3339
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化。 以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化。 本系列【T-SQL基础】主要是针对T-SQL基础的总结。 【T-SQL基础】01.单表查询-几道sql查询题 【T- ...
分类:
数据库 时间:
2017-05-26 00:43:25
阅读次数:
370
数据库错误日志中监测到如下死锁: deadlock-list deadlock victim=process16fc9dd498 process-list process id=process16fc9dd498 taskpriority=0 logused=0 waitresource=KEY: ...
分类:
其他好文 时间:
2016-07-04 01:11:50
阅读次数:
348
1 死锁问题背景 1 1.1 一个不可思议的死锁 1 1.1.1 初步分析 3 1.2 如何阅读死锁日志 3 2 死锁原因深入剖析 4 2.1 Delete操作的加锁逻辑 4 2.2 死锁预防策略 5 2.3 剖析死锁的成因 6 3 总结 7 死锁问题背景 死锁问题背景 做MySQL代码的深入分析也 ...
分类:
数据库 时间:
2016-06-19 01:15:38
阅读次数:
215
mysql中的latch锁和Tlock(事务锁),DML加锁规则,以及死锁分析。一.Latch和Tlock的关系Latch:为保护临界资源的正确性而设计,例如保护正在使用的内存页面不被破坏等。没有死锁检测机制,轻量锁,并且作用对象时内存页面或是内存共享变量.Tlock:事务锁,作用对象是事务,有死锁检测机..
分类:
数据库 时间:
2016-03-09 19:22:31
阅读次数:
452
在这篇随笔中,我们的主要关注点在 Key-Range Lock。Key-Range Lock有 S-S、S-U、I-N、X-X几种情况。我们一个一个来说,力求明白。遗憾的是,这里可能会比较冗长,那么死锁分析只好依次顺延了。 Range S-S锁的获取规则 MSDN 对 Range 锁的规则有部分描述
分类:
数据库 时间:
2016-02-12 11:37:17
阅读次数:
415