Wesley13 Wesley13
3年前
java多线程之ReentrantLock
前言相信学过java的人都知道synchronized这个关键词,也知道它用于控制多线程对并发资源的安全访问,兴许,你还用过Lock相关的功能,但你可能从来没有想过java中的锁底层的机制是怎么实现的。如果真是这样,而且你有兴趣了解,今天我将带领你轻松的学习下java中非常重要,也非常基础的可重入锁ReentrantLock的实现机制。R
九路 九路
3年前
3 Java对象的内存布局以及对象的访问定位
先来看看Java对象在内存中的布局一Java对象的内存布局在HotSpot虚拟机中,对象在内存中的布局分为3个区域对象头(Header)MarkWord(在32bit和64bit虚拟机上长度分别为32bit和64bit)存储对象自身的运行时数据,包括哈希码,GC分代年龄,锁状态标志,线程持有的锁,偏向线程ID,偏向时间戳等类型指
Wesley13 Wesley13
3年前
java多线程(二)锁对象
转载请注明出处:http://blog.csdn.net/xingjiarong/article/details/47679007(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.csdn.net%2Fxingjiarong%2Farticle%2Fdetails%2F4
Wesley13 Wesley13
3年前
Oracle查询被锁的表以及解锁表
1.查询引起了锁表的原因selectl.session_idsid,s.serial,l.locked_mode,l.oracle_username,s.user,l.os_user_name,s
Wesley13 Wesley13
3年前
MySQL 5.5 InnoDB 锁状态解析
目录目录(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fdbarobin.com%2F2015%2F01%2F27%2Finnodblockwaitundermysql5.5%2F%23%25E7%259B%25AE%25E5%25BD%2595)
Wesley13 Wesley13
3年前
mysql面试题总结
1.Mysql中的myisam与innodb的区别?2.InnoDB存储引擎的四大特性?3.什么是事务?4.数据库事务的四大特性?5.不考虑事务的隔离性,会发生几种问题?6.MySQL数据库提供的四种隔离级别?7.有多少种日志?8.事务是如何通过日志来实现的?9.数据库的乐观锁和悲观锁是什么?10.什
Wesley13 Wesley13
3年前
Java 读写锁 ReentrantReadWriteLock 源码分析
本文内容:读写锁ReentrantReadWriteLock的源码分析,基于Java7/Java8。阅读建议:虽然我这里会介绍一些AQS的知识,不过如果你完全不了解AQS,看本文就有点吃力了。目录使用示例下面这个例子非常实用,我是javadoc的搬运工://这是一个关于缓存操作的故事classCach
Stella981 Stella981
3年前
Spring Boot中建议关闭Open
前言一天,开发突然找过来说KLock(https://gitee.com/kekingcn/springbootklockstarter)分布式锁失效了,高并发情况下没有锁住请求,导致数据库抛乐观锁的异常。一开始我是不信的,KLock是经过线上大量验证的,怎么会出现这么低级的问题呢?然后,协助开发一起排查了一下午,最后经过不懈努力和一探到
Stella981 Stella981
3年前
Redis 事务(8)
为什么要用事务Redis的单个命令是原子性的(比如getsetmgetmset),如果涉及到多个命令的时候,需要把多个命令作为一个不可分割的处理序列,就需要用到事务。例如我们之前说的用setnx实现分布式锁,我们先set,然后设置对key设置expire,防止del发生异常的时候锁不会被释放,业务处理完了以后再del,这三个动作我们就
Wesley13 Wesley13
3年前
Java分布式锁看这篇就够了
\什么是锁?在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每个线程都能看到