<
一枝梅的博客
博客
随笔
软件
专题
标签
留言板
开往
博客
共133篇
详解AQS五:深入理解共享锁CountDownLatch
CountDownLatch是一个常用的共享锁,其功能相当于一个多线程环境下的倒数门闩。CountDownLatch可以指定一个计数值,在并发环境下由线程进行减一操作,当计数值变为0之后,被await方法阻塞的线程将会唤醒。通过CountDown...
博客
#java
#多线程编程
一枝梅
8月前
362
详解AQS四:ReentrantLock条件队列原理
ReentrantLock的条件队列是实现“等待通知”机制的关键,之前在《java线程间通信:等待通知机制》一文中讲过了使用ReentrantLock实现多生产者、多消费者的案例,这个案例实际上在java源码的注释中已经给了,可以看Conditi...
博客
#java
#多线程编程
一枝梅
8月前
392
详解AQS三:ReentrantLock非公平锁原理
上一篇文章《详解AQS二:ReentrantLock公平锁原理》中,详细分析了ReentrantLock公平锁的AQS实现原理,本篇文章将会继续分析ReentrantLock非公平锁的实现原理。 首先看看非公平锁NonfairSync的源码,以方...
博客
#java
#多线程编程
一枝梅
8月前
349
详解AQS二:ReentrantLock公平锁原理
ReentrantLock作为我们使用频率最高的显式锁,它是AQS的经典实现,本篇文章将以ReentrantLock公平锁为例讲解AQS的实现。 一、ReentrantLock 在之前的文章《线程同步机制一:内部锁和显式锁》中已经提到过关于显式锁...
博客
#java
#多线程编程
一枝梅
8月前
605
详解AQS一:CLH队列锁
AQS(AbstractQueuedSynchronizer)抽象队列同步器是Java中用于构建同步器(synchronizer)的框架,提供了一种基于FIFO等待队列的抽象框架,JAVA中的很多显式锁底层实现都使用了该框架:ReentrantL...
博客
#java
#多线程编程
一枝梅
9月前
475
java线程间通信:等待通知机制
在多线程编程中,不同线程可能需要相互协作、共享数据,线程间通过某种方式互相告知自己的状态,以避免无效的资源争夺,这就是线程间通信。线程间通信的目的是确保多个线程能够有效地协调工作,以完成特定任务或避免数据不一致性。 线程间通信的方式可以有很多种:...
博客
#java
#多线程编程
一枝梅
10月前
451
hashCode方法的调用对Java锁的影响
从上一篇文章《深入理解偏向锁、轻量级锁、重量级锁》中已经介绍了关于锁升级相关的知识,在其中研究偏向锁的过程中,无意中调用了hashCode方法,然后锁的状态发生了明显不符合预期的变化。 一、偏向锁回顾 首先看下偏向锁的案例,这个之前已经介绍过了,...
博客
#java
#多线程编程
一枝梅
10月前
417
深入理解偏向锁、轻量级锁、重量级锁
一、对象结构和锁状态 synchronized关键字是java中的内置锁实现,内置锁实际上就是个任意对象,其内存结构如下图所示 其中,Mark Word字段在64位虚拟机下占64bit长度,其结构如下所示 可以看到Mark Word字段有个很...
博客
#java
#多线程编程
一枝梅
10月前
393
详解CAS操作的ABA问题
一、ABA问题 CAS原子操作虽然好,但是出生就自带ABA问题,那么什么是ABA问题?CAS的全称叫做Compare and swap,也就是比较和交换,ABA问题就出现在"Compare"比较阶段。 举个例子,X变量的值是10,现在线程A要对X...
博客
#java
#多线程编程
一枝梅
10月前
494
CAS原子类:LongAdder源码解析
LongAdder类直译过来名字叫做“原子加法器”,它是JDK1.8才出现的新类,它的作用是替代AtomicLong类在某些并发场景下的使用,使得程序运行效率更高。 在之前的《线程同步机制二:CAS原理和JUC原子类》文章中,已经简单介绍过该类的...
博客
#java
#多线程编程
一枝梅
10月前
415
1
...
3
4
5
...
14
阅读榜单
20785人浏览
主路由、旁路由、单臂路由的区别
TOP1
若依管理系统RuoYi-Vue(二):权限系统设计详解
4年前
14709人浏览
TOP2
若依管理系统RuoYi-Vue(一):项目启动和菜单创建
4年前
13728人浏览
TOP3
若依管理系统RuoYi-Vue(三):代码生成器原理和实战
4年前
11594人浏览
TOP4
Spring Security OAuth2.0认证授权一:框架搭建和认证测试
4年前
10276人浏览
TOP5
完整优雅的卸载腾讯云云服务器安全监控组件云镜
4年前
7298人浏览
TOP6
最新发布
狂盗一枝梅
2025-08-13
105次阅读
留言
Redis(十二):Java客户端之Spring Data Redis
在上一篇文章《Redis(十一):Java客户端之Jedis》中已经介绍了使用Jedis作为Redis客户端操作Redis的方法,实际上Redis的客户端有很多,Jedis只是其中之一,比较有名的还有Lettuce、Redisson,以及本篇文章...
博客
评分
回复
狂盗一枝梅
2025-08-02
168次阅读
留言
Redis(十一):Java客户端之Jedis
Redis的Java客户端主要有Jedis和Lettuce,本篇文章将会讲解使用Jedis操作Reids。 Jedis 是一个同步的 Redis Java 客户端。如果需要一个更高级的 Java 客户端,同时支持异步和响应式连接,请使用 Lett...
博客
评分
回复
狂盗一枝梅
2025-07-24
171次阅读
留言
Redis(十):使用redis-cli工具操作redis集群
上一篇文章《Redis(九):多机部署之Cluster(集群)模式》中,已经介绍过Redis集群的搭建以及在redis-cli中使用命令操作redis集群。实际上可以不用进入redis-cli,而是直接通过redis-cli程序使用--clust...
博客
评分
回复