- 博客(4)
- 收藏
- 关注
原创 【并发编程- 锁深入学习分享】
AQS就是AbstractQueuedSynchronizer类,AQS其实就是JUC包下的一个基类,JUC下的很多内容都是基于AQS实现了部分功能,比如ReentrantLock,ThreadPoolExecutor,阻塞队列。CountDownLatch,Semaphore,CyclicBarrier等等都是基于AQS实现。首先AQS中提供了一个由 volatile 修饰的 state 变量。并采用CAS方式修改的int类型的state变量。
2023-11-08 17:34:02 95
原创 并发编程 - 基础(20231017)
不同的硬件和不同的操作系统在内存上的操作有一定差异的。Java为了解决相同代码在不同操作系统上出现的各种问题,用 JMM屏蔽掉各种硬件和操作系统带来的差异。让Java的并发编程可以做到跨平台,JMM规定所以的变量都会存储在主内存中,在操作的时候, 需要从主内存中复制一份到线程内存(CPU内存),在线程内存做计算。然后再写回主内存(不一定及时操作)原子性的定义:原子性指一个操作是不可分割的, 不可中断的,一个线程在执行时,另一个线程不会影响到他。原子性:多线程操作临界资源,预期结果与实际结果一致。
2023-11-07 09:42:00 38
原创 【JVM】 - 双亲委派机制以及源码分析
双亲委派,主要出于jvm的安全来考虑, 同时也实现了类只加载一次,加载过的类就不能再加载和修改了。在理解类加载的过程的时候先说几个点。
2023-09-13 15:16:56 33
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人