重入锁简单理解就是对同一个线程而言,它可以重复的获取锁。例如这个线程可以连续获取两次锁,但是释放锁的次数也一定要是两次。下面是一个简单例子: public class ReenterLock { private stat…
分类:java并发
JUC源码分析(一)-AbstractQueuedSynchronizer(AQS)源码分析
背景介绍 AQS 记录型信号量 AbstractOwnableSynchronizer AbstractQueuedSynchronizer AQS属性 AbstractQueuedSynchronizer.Node 重…
java并发编程(十四)----(JUC原子类)对象的属性修改类型介绍
今天我们介绍原子类的最后一个类型—-对象的属性修改类型: AtomicIntegerFieldUpdater,AtomicLongFieldUpdater,AtomicReferenceFieldUpdater。有了这几…
JAVA问题定位跟踪技术
常用的JAVA调试技巧: 线程堆栈解读 性能瓶颈分析 远程调试 内存泄露检测 常用工具集: proc工具集 系统跟踪命令truss/strace&n…
Java并发编程-可重入锁
可重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍可以获取该锁而不受影响。在JAVA环境下 ReentrantLock 和synchronized 都是 可重入锁。 public class T…
Java并发--深入理解显式锁
注:本篇博客部分内容引用自:Java并发编程:Lock 引言 在Java 5.0之前,协调对共享对象的访问可以使用到的机制只有synchronized和volatile。在Java 5.0之后,增加了一种新的机制:Ree…
Java单例模式结合JUC原子类爆发的新想法
单例模式是23种设计模式中的一种,关于它的介绍,已经数不胜数了,一般网上的实现方式无非是什么懒汉式,饿汉式,内部类,枚举,volatile加双重校验锁等等,今天我又想到一个新的实现方式,利用J.U.C提供的原子类,代码如…
java中Executor、ExecutorService、ThreadPoolExecutor介绍(转)
1.Excutor 源码非常简单,只有一个execute(Runnable command)回调接口 public interface…
java知识点总结,理解HashSet及使用,hashMap、hashTable、treeMap的区别,Java中数组复制的几种方法,Java数组扩容算法及Java对它的应用,[转]JVM运行时内存结构,JVM系列三:JVM参数设置、分析,Spring Bean的生命周期(非常详细),Spring BeanFactory与FactoryBean的区别及其各自的详细介绍于用法,Spring中FactoryBean与BeanFactory的区别,Spring AOP详解,TCP的三次握手(建立连接)和四次挥手(关闭连接),OSI七层模型与TCP/IP五层模型,MySql存储引擎特性对比,四种mysql存储引擎,Java中的锁分类,MySql存储引擎特性对比,MySQL锁详解,聚集索引和非聚集索引(整理),【MySQL】索引长度的一些限制,第五章 ReentrantLock源码解析1--获得非公平锁与公平锁lock(),B树、B-树、B+树、B*树
一、java 1、容器 1)List Java中ArrayList和LinkedList区别 2)Set 理解HashSet及使用 Has…
Java锁概念基础
Java中的锁不管是Lock还是synchronized都可以分为互斥锁和非互斥锁。 互斥锁只能被一个线程持有,其他线程只能等待锁的释放。synchronized,ReentrantLock,Rea…
Java线程同步:synchronized 锁住的是代码还是对象
在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上。 关键是,不…
mysql共享锁与排他锁
mysql锁机制分为表级锁和行级锁,本文就和大家分享一下我对mysql中行级锁中的共享锁与排他锁进行分享交流。 共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能…