- 博客(7)
- 收藏
- 关注
原创 抽象队列同步器AQS-Lock
上一篇:并发编程之synchronized详解抽象队列同步器AQSAQS应用---Lock并发之父ReentrantLockAQS具备特性同步等待队列条件等待队列AQS源码分析AQS应用—Lock并发之父生平不识Doug Lea,学懂并发也枉然Java并发编程核心在于java.concurrent.util包而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这个行为的抽象就是基于AbstractQueuedSynchronizer简称AQS,
2022-05-02 16:57:53
672
原创 并发编程之synchronized详解
synchronized详解设计同步器的意义如何解决线程并发安全问题synchronized原理synchronized底层原理Monitor监视器锁什么是Monitor?对象的内存布局对象头对象头分析工具锁的膨胀升级过程偏向锁轻量级锁自旋锁锁消除逃逸分析上一篇:多线程并发之JMM&volatile详解设计同步器的意义多线程编程中,有可能会出现多个线程同时访问同一个共享、可变资源的情况,这个资源我们称之其为临界资源;这种资源可能是: 对象、变量、文件等。共享:资源可以由多个线程同时访问可变
2021-12-12 15:17:31
299
原创 多线程并发之JMM&volatile详解
什么是JMM模型什么是JMM模型?JMM不同于JVM内存区域模型主内存工作内存Java内存模型与硬件内存架构的关系JMM存在的必要性数据同步八大原子操作同步规则分析并发编程的可见性,原子性与有序性问题原子性可见性有序性JMM如何解决原子性&可见性&有序性问题原子性问题可见性问题有序性问题as-if-serial语义happens-before 原则volatile内存含义volatile的可见性volatile无法保证原子性volatile禁止指令重排优化硬件层的内存屏障volatile内存
2021-12-11 21:53:02
850
原创 操作系统底层工作原理
操作系统底层工作的整体认识冯诺依曼计算机模型详解计算机五大核心组成部分CPU指令结构控制单元运算单元存储单元CPU缓存结构CPU读取存储器数据过程CPU为何要有高速缓存带有高速缓存的CPU执行计算的流程CPU运行安全等级操作系统内存管理执行空间保护内核线程模型用户线程模型进程与线程栈指令级架构寄存器指令级架构冯诺依曼计算机模型详解现代计算机模型是基于- 冯诺依曼计算机模型计算机五大核心组成部分CPU指令结构控制单元运算单元存储单元CPU缓存结构CPU读取存储器数据过程CPU为何要有高速缓
2021-12-11 16:12:11
2126
原创 手撕设计模式【简单工厂模式】
简单工厂模式介绍简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。结构Factory(工厂):核心部分,负责实现创建所有的内部逻辑,工厂类可以被外界直接调用,创建所需对象Compute(抽象计算器类):工厂类所创建的所有对象的父类,封装了计算器对象的公共方法,所有的
2021-07-11 17:15:01
110
原创 手撕设计模式【深度解析懒汉式单例】
普通懒汉式单例代码解析public class Singleton { //私有化构造方法 private Singleton(){} //volatile 禁止指令重排 public volatile static Singleton singleton; //双重判定锁 public static Singleton getSingleton() { if (singleton == null) { syn
2021-07-11 13:12:49
139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人