摘要: # synchronized中wait、notify的原理与源码 ## 1.wait和notify的流程图 ![](https://img2023.cnblogs.com/blog/989502/202306/989502-20230628233757511-182743507.png) ## 2. 阅读全文
posted @ 2023-06-28 23:38 bug的自我救赎 阅读(99) 评论(0) 推荐(0) 编辑
摘要: # 深入浅出synchronized的原理与源码 ## 1.java对象头关于锁的标识 ### 1.对象头 ``` // 32 bits: // // hash:25 >| age:4 biased_lock:1 lock:2 (normal object) // JavaThread*:23 ep 阅读全文
posted @ 2023-06-28 19:27 bug的自我救赎 阅读(68) 评论(0) 推荐(0) 编辑
摘要: # JUC同步锁原理源码解析六 Exchanger ## Exchanger ### Exchanger的来源 ```java A synchronization point at which threads can pair and swap elements within pairs. Each 阅读全文
posted @ 2023-06-20 00:15 bug的自我救赎 阅读(131) 评论(0) 推荐(3) 编辑
摘要: # JUC同步锁原理源码解析五 Phaser ## Phaser ### Phaser的来源 ```java A reusable synchronization barrier, similar in functionality to {@link java.util.concurrent.Cyc 阅读全文
posted @ 2023-06-19 21:20 bug的自我救赎 阅读(56) 评论(0) 推荐(0) 编辑
摘要: # JUC同步锁原理源码解析四 Semaphore ## Semaphore ### 1.Semaphore的来源 ```java A counting semaphore. Conceptually, a semaphore maintains a set of permits. Each {@l 阅读全文
posted @ 2023-06-18 00:12 bug的自我救赎 阅读(90) 评论(1) 推荐(0) 编辑
摘要: # JUC同步锁原理源码解析三 CountDownLatch、CyclicBarrier ## CountDownLatch、CyclicBarrier的来源 ### 1.CountDownLatch的来源 ```java A synchronization aid that allows one 阅读全文
posted @ 2023-06-17 18:40 bug的自我救赎 阅读(10) 评论(0) 推荐(0) 编辑
摘要: # JUC同步锁原理源码解析二 ReentrantReadWriteLock ## 1.读写锁的来源 ​ 在开发场景下,对于写操作我们为了保证原子性所以需要上锁,但是对于读操作,由于其不改变数据,只是单纯对数据进行读取,但是每次都上一把互斥锁,阻塞所有请求。这个明显不符合读多写少的场景。所以将锁分为 阅读全文
posted @ 2023-06-16 00:13 bug的自我救赎 阅读(48) 评论(3) 推荐(0) 编辑
摘要: # JUC同步锁原理 ## 1.锁的本质 ### 1.什么是锁? ​ 通俗来讲,锁要保证的就是原子性,就是一个代码块不允许多线程同时执行,就是锁。从生活的角度上来说,就比如你要去上厕所,当你在上厕所期间,你会把门锁上,其他人只能排队。不允许多个人同时上厕所。 ### 2.锁的底层实现 ​ java语 阅读全文
posted @ 2023-06-14 23:33 bug的自我救赎 阅读(139) 评论(2) 推荐(0) 编辑
摘要: 一文带你了解线程池原理 1.使用线程池的意义何在? ​ 项目开发中,为了统一管理线程,并有效精准地进行排错,我们经常要求项目人员统一使用线程池去创建线程。因为我们是在受不了有些人动不动就去创建一个线程,使用的多了以后,一旦报错就只有一个线程报错信息,还是线程的共用信息,再加上如果你将异常吃了(捕获后 阅读全文
posted @ 2023-02-24 17:59 bug的自我救赎 阅读(423) 评论(1) 推荐(1) 编辑
摘要: 什么是分布式锁 当多个进程在同一个系统中,用分布式锁控制多个进程对资源的访问 分布式锁应用场景 传统的单体应用单机部署情况下,可以使用java并发处理相关的API进行互斥控制。 分布式系统后由于多线程,多进程分布在不同机器上,使单机部署情况下的并发控制锁策略失效,为了解决跨JVM互斥机制来控制共享资 阅读全文
posted @ 2022-04-24 22:52 bug的自我救赎 阅读(641) 评论(0) 推荐(0) 编辑