- 博客(4)
- 收藏
- 关注
原创 MySQL索引-Explain命令
MySQL索引-Explain命令 列 含义 id 每个被独立执行的操作的标识,表示对象被操作的顺序;id值大,先被执行;如果相同,执行顺序从上到下。若没有子查询和联合查询,id则都是1。Mysql会按照id从大到小的顺序执行query,在id相同的情况下,则从上到下执行。 select_type 查询类型-SIMPLE:简单查询,即不使用union 或者...
2018-03-14 16:22:52 153
转载 分布式锁的实现方案
一、数据库乐观锁乐观锁通常实现基于数据版本(version)的记录机制实现的,比如有一张红包表(t_bonus),有一个字段(left_count)记录礼物的剩余个数,用户每领取一个奖品,对应的left_count减1,在并发的情况下如何要保证left_count不为负数,乐观锁的实现方式为在红包表上添加一个版本号字段(version),默认为0。异常实现流程-- 可能会发生的异常情况-- 线程...
2018-03-05 12:16:13 166
原创 Java并发:偏向锁、轻量级锁、重量级锁
锁的状态锁的状态一共有四种:无锁、偏向锁、轻量级锁、重量级锁锁的状态保存在对象的头文件中,以32位JDK为例:锁状态25 bit4bit1bit2bit23bit2bit是否是偏向锁锁标志位轻量级锁指向栈中锁记录的指针00重量级锁指向互斥量(重量级锁)的指针10GC标记空11偏向锁线程IDEpoch对象分代年龄101无锁对象的hashCode对象分代年龄001锁的初始为无所状态,随着锁的竞争,锁的...
2018-02-28 15:29:53 321
转载 CAS原理分析
1. CAS: Compare And SwapCAS算法中有三个参数:内存值、预期值、修改值,当且仅当内存值==预期值时,才将内存值更新为修改值2. AtomicInteger的incrementAndGet()方法实现: static { try { valueOffset = unsafe.objectFieldOffset ...
2018-02-27 15:16:45 214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人