<
一枝梅的博客
博客
随笔
软件
专题
标签
留言板
开往
java
共66篇
深入理解偏向锁、轻量级锁、重量级锁
一、对象结构和锁状态 synchronized关键字是java中的内置锁实现,内置锁实际上就是个任意对象,其内存结构如下图所示 其中,Mark Word字段在64位虚拟机下占64bit长度,其结构如下所示 可以看到Mark Word字段有个很...
#java
#多线程编程
一枝梅
1年前
1769
java线程池技术二:ThreadPoolExecutor实现原理
本篇文章将讲解ThreadPoolExecutor线程池,它是Executors类newFixedThreadPool方法以及newCachedThreadPool方法直接创建的线程池。 一、线程池的标准创建方式 大部分企业的开发规范都会禁止使...
#java
#多线程编程
一枝梅
1年前
1751
Java线程池技术一:入门篇
Java线程的创建非常昂贵,需要JVM和OS(操作系统)配合完成大量的工作: (1)必须为线程堆栈分配和初始化大量内存块,其中包含至少1MB的栈内存。 (2)需要进行系统调用,以便在OS(操作系统)中创建和注册本地线程。 Java高并发应用频繁创...
#java
#多线程编程
一枝梅
1年前
1681
线程同步机制一:内部锁和显式锁
Java多线程中的同步机制,即当多个线程同时竞争访问共享资源时,如何保证线程安全,在此基础上还要兼顾并发访问的性能问题,这是一个非常棘手且重要的问题。 一、线程安全 1. 举例 举个很简单的生活中的例子,我们去淘宝购物,店里还有最后一件商品,这时...
#多线程编程
#java
一枝梅
1年前
1933
详解AQS七:深入理解信号量机制Semaphore
所谓的共享锁就是在同一时刻允许多个线程持有的锁,和CountDownLatch不同,Semaphore是一种真正的共享锁:Semaphore可以用来控制在同一时刻访问共享资源的线程数量,通过协调各个线程以保证共享资源的合理使用。Semaphore...
#java
#多线程编程
一枝梅
1年前
566
解决Springboot中Feign接口和Restful接口相同Path冲突问题
原因是SpringMVC在扫描restful接口的时候扫描了带有RequestMapping注解的类,其实我觉得大可不必。。。 解决方法就是修改扫描规则,如果类上已经有了FeignClient注解,就忽略掉即可。 import org.spr...
#java
#feign
一枝梅
3年前
1601
详解AQS六:深入理解循环栅栏CyclicBarrier
从字面意思直译过来,CyclicBarrier的意思是“循环屏障”,在国内普遍叫它“循环栅栏”,它和CountDownLatch一样,都是JUC下的线程同步工具。 在上一篇文章《详解AQS五:深入理解共享锁CountDownLatch》讲了Cou...
#java
#多线程编程
一枝梅
1年前
644
详解AQS五:深入理解共享锁CountDownLatch
CountDownLatch是一个常用的共享锁,其功能相当于一个多线程环境下的倒数门闩。CountDownLatch可以指定一个计数值,在并发环境下由线程进行减一操作,当计数值变为0之后,被await方法阻塞的线程将会唤醒。通过CountDown...
#java
#多线程编程
一枝梅
1年前
596
详解AQS四:ReentrantLock条件队列原理
ReentrantLock的条件队列是实现“等待通知”机制的关键,之前在《java线程间通信:等待通知机制》一文中讲过了使用ReentrantLock实现多生产者、多消费者的案例,这个案例实际上在java源码的注释中已经给了,可以看Conditi...
#java
#多线程编程
一枝梅
1年前
619
详解AQS三:ReentrantLock非公平锁原理
上一篇文章《详解AQS二:ReentrantLock公平锁原理》中,详细分析了ReentrantLock公平锁的AQS实现原理,本篇文章将会继续分析ReentrantLock非公平锁的实现原理。 首先看看非公平锁NonfairSync的源码,以方...
#java
#多线程编程
一枝梅
1年前
586
1
2
3
4
...
7
阅读榜单
31350人浏览
Redis(十三):Caffeine+Redis高性能二级缓存实现
TOP1
IntelliJ IDEA 2025.2 Maven设置不生效的解决方案
7月前
22066人浏览
TOP2
Redis(十二):Java客户端之Spring Data Redis
8月前
18073人浏览
TOP3
Spring Security OAuth2.0认证授权一:框架搭建和认证测试
5年前
17581人浏览
TOP4
Java8升级的一点思考
8月前
16753人浏览
TOP5
IDEA远程Debug
1月前
12047人浏览
TOP6
最新发布
狂盗一枝梅
2026-04-08
9512次阅读
留言
解决Windows命令行cmd中文乱码问题
一、乱码现象 最近使用DataX迁移数据的时候命令行中文输出乱码了,如下所示: 这是因为DataX程序是使用UTF-8编码开发、打包的,而Windows命令行默认使用的不是UTF-8编码, 命令行属性中可以看到,默认使用的是GBK编码,所以产...
软件
评分
回复
狂盗一枝梅
2026-04-02
11916次阅读
留言
记一次Mybatis查询中的数组越界异常
最近遇到了一件极其诡异的Mybatis查询数组越界异常(java.sql.SQLException: java.lang.ArrayIndexOutOfBoundsException)的问题,排查了一天,最终解决了该问题。 一、问题描述 Mapp...
随笔
评分
回复
狂盗一枝梅
2026-04-02
12047次阅读
留言
IDEA远程Debug
线上出了问题,但是本地不能重现,可以通过IDEA远程Debug功能远程调试排查问题。具体操作如下: 一、本地IDEA配置 单击项目顶部“Edit Configurations” 新增运行配置:"Remote JVM Debug" 之后进入远程...
随笔
评分
回复