<
一枝梅的博客
博客
随笔
软件
专题
标签
留言板
开往
java
共70篇
详解AQS一:CLH队列锁
AQS(AbstractQueuedSynchronizer)抽象队列同步器是Java中用于构建同步器(synchronizer)的框架,提供了一种基于FIFO等待队列的抽象框架,JAVA中的很多显式锁底层实现都使用了该框架:ReentrantL...
#java
#多线程编程
一枝梅
1年前
1143
0
详解AQS二:ReentrantLock公平锁原理
ReentrantLock作为我们使用频率最高的显式锁,它是AQS的经典实现,本篇文章将以ReentrantLock公平锁为例讲解AQS的实现。 一、ReentrantLock 在之前的文章《线程同步机制一:内部锁和显式锁》中已经提到过关于显式锁...
#java
#多线程编程
一枝梅
1年前
978
0
详解AQS三:ReentrantLock非公平锁原理
上一篇文章《详解AQS二:ReentrantLock公平锁原理》中,详细分析了ReentrantLock公平锁的AQS实现原理,本篇文章将会继续分析ReentrantLock非公平锁的实现原理。 首先看看非公平锁NonfairSync的源码,以方...
#java
#多线程编程
一枝梅
1年前
636
0
详解AQS四:ReentrantLock条件队列原理
ReentrantLock的条件队列是实现“等待通知”机制的关键,之前在《java线程间通信:等待通知机制》一文中讲过了使用ReentrantLock实现多生产者、多消费者的案例,这个案例实际上在java源码的注释中已经给了,可以看Conditi...
#java
#多线程编程
一枝梅
1年前
665
0
详解AQS五:深入理解共享锁CountDownLatch
CountDownLatch是一个常用的共享锁,其功能相当于一个多线程环境下的倒数门闩。CountDownLatch可以指定一个计数值,在并发环境下由线程进行减一操作,当计数值变为0之后,被await方法阻塞的线程将会唤醒。通过CountDown...
#java
#多线程编程
一枝梅
1年前
701
0
详解AQS六:深入理解循环栅栏CyclicBarrier
从字面意思直译过来,CyclicBarrier的意思是“循环屏障”,在国内普遍叫它“循环栅栏”,它和CountDownLatch一样,都是JUC下的线程同步工具。 在上一篇文章《详解AQS五:深入理解共享锁CountDownLatch》讲了Cou...
#java
#多线程编程
一枝梅
1年前
698
0
详解AQS七:深入理解信号量机制Semaphore
所谓的共享锁就是在同一时刻允许多个线程持有的锁,和CountDownLatch不同,Semaphore是一种真正的共享锁:Semaphore可以用来控制在同一时刻访问共享资源的线程数量,通过协调各个线程以保证共享资源的合理使用。Semaphore...
#java
#多线程编程
一枝梅
1年前
620
0
Java线程池技术一:入门篇
Java线程的创建非常昂贵,需要JVM和OS(操作系统)配合完成大量的工作: (1)必须为线程堆栈分配和初始化大量内存块,其中包含至少1MB的栈内存。 (2)需要进行系统调用,以便在OS(操作系统)中创建和注册本地线程。 Java高并发应用频繁创...
#java
#多线程编程
一枝梅
1年前
1739
0
java线程池技术二:ThreadPoolExecutor实现原理
本篇文章将讲解ThreadPoolExecutor线程池,它是Executors类newFixedThreadPool方法以及newCachedThreadPool方法直接创建的线程池。 一、线程池的标准创建方式 大部分企业的开发规范都会禁止使...
#java
#多线程编程
一枝梅
1年前
1813
0
Java8升级java21的一点思考
Oracle 对 Java 8 的公开免费更新已于2019年终止,但是直到现在2025年,Java8还是非常流行,但是随着SpringBoot、SpringFramework等框架逐渐不再支持Java8环境下运行,升级Java8到新版本已经势在必...
#java
#spring
#springboot
一枝梅
11月前
19026
2
1
...
4
5
6
7
一枝梅
弱小和无知,不是生存的障碍,傲慢才是。
335
文章
160
评论
142w
浏览
161
标签
7
专题
阅读榜单
39040人浏览
Redis(十三):Caffeine+Redis高性能二级缓存实现
TOP1
IntelliJ IDEA 2025.2 Maven设置不生效的解决方案
10月前
28758人浏览
TOP2
记一次Mybatis查询中的数组越界异常
3月前
24138人浏览
TOP3
解决Windows命令行cmd中文乱码问题
3月前
21794人浏览
TOP4
IDEA远程Debug
3月前
21392人浏览
TOP5
Redis(十二):Java客户端之Spring Data Redis
11月前
21287人浏览
TOP6
最新发布
狂盗一枝梅
2026-04-08
21794次阅读
留言
解决Windows命令行cmd中文乱码问题
一、乱码现象 最近使用DataX迁移数据的时候命令行中文输出乱码了,如下所示: 这是因为DataX程序是使用UTF-8编码开发、打包的,而Windows命令行默认使用的不是UTF-8编码, 命令行属性中可以看到,默认使用的是GBK编码,所以产...
软件
评分
回复
狂盗一枝梅
2026-04-02
24138次阅读
留言
记一次Mybatis查询中的数组越界异常
最近遇到了一件极其诡异的Mybatis查询数组越界异常(java.sql.SQLException: java.lang.ArrayIndexOutOfBoundsException)的问题,排查了一天,最终解决了该问题。 一、问题描述 Mapp...
随笔
评分
回复
狂盗一枝梅
2026-04-02
21392次阅读
留言
IDEA远程Debug
线上出了问题,但是本地不能重现,可以通过IDEA远程Debug功能远程调试排查问题。具体操作如下: 一、本地IDEA配置 单击项目顶部“Edit Configurations” 新增运行配置:"Remote JVM Debug" 之后进入远程...
随笔
评分
回复