Blog

A digital garden where I document technical journeys, share deep insights on development, and reflect on life's moments.

BLOG
同步

源码分析:StampedLock之升级版的读写锁

JDK StampedLock 源码分析,StampedLock 是JDK1.8 开始提供的一种锁, 是对之前介绍的读写锁 ReentrantReadWriteLock 的功能增强。StampedLock 有三种模式:Writing(写)、Reading(读)、Optimistic Reading(乐观度),StampedLock 的功能不是基于AQS来实现的,而是完全自己内部实现的功能,不支持重入。在加锁的时候会返回一个戳,解锁的时候需要传入,匹配完成解锁操作。

November 19, 2020Blog.min_read
BLOG
同步

源码分析:ReentrantReadWriteLock之读写锁

JDK源码分析 ReentrantReadWriteLock,从字面意思可以看出,是和重入、读写有关系的锁,实际上 ReentrantReadWriteLock 确实也是支持可重入的读写锁,并且支持公平和非公平获取锁两种模式。

November 13, 2020Blog.min_read
BLOG
同步

源码分析:②ReentrantLock之条件锁Condition

JDK源码分析 ReentrantLock Condition,条件锁,指在获得锁之后,还需要达成某些条件后,才能继续执行的锁。且必须配合Lock一起使用,也就是说必须获得锁之后才可以调用condition.await()方法

November 10, 2020Blog.min_read
BLOG
同步

源码分析:①ReentrantLock之公平锁和非公平锁

JDK源码分析 ReentrantLock,ReentrantLock 是JDK 1.5开始提供的一种可重入的互斥锁,并且构造方法支持公平性参数。

November 9, 2020Blog.min_read
BLOG
同步

源码分析:AbstractQueuedSynchronizer(AQS)—强大的同步基础框架

JDK源码分析 AbstractQueuedSynchronizer,AbstractQueuedSynchronizer(AQS) 位于java.util.concurrent.locks包下面,AQS 提供了一个基于FIFO的队列和维护了一个状态state变量赖表示状态,可以作为构建锁或者其他相关同步装置的基础框架。AQS 支持两种模式:共享模式 和 排他模式。

November 1, 2020Blog.min_read
BLOG
垃圾收集器

Java 虚拟机常用垃圾收集器总结

October 30, 2020Blog.min_read