04 2023 档案
摘要:一、概述 并发三大特性即 可见性、原子性、有序性 可见性: 一个线程修改了共享变量的值,另外一个线程应该立即得到共享变量的最新值 原子性: 一个或多个操作要么全部执行,并且在执行的过程中不会被其它因素打断,要么全部不执行 有序性: 为了提高程序运行效率,Java 在编译和运行时会对指令进行重排序,重
阅读全文
摘要:参考: https://blog.csdn.net/qq_38505969/article/details/123446310 1、下载源码并进行方法扩展 2、pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
阅读全文
摘要:一、概述 在 Hotspot 虚拟机中,对象的内存布局主要由 3 部分组成1、对象头(Header): 包括对象的运行时状态信息 Mark Word、Klass Pointer(类型指针,直接指针访问方式)、Array Length(如果是数组对象,才会有此特殊内存区域)2、实例数据(Instanc
阅读全文
摘要:一、概述 在实际工作中我们使用最多的集合恐怕就是 ArrayList 了,但是这个集合类该怎么用呢,借此我们通过阅读它的源码来一探究竟 二、ArrayList 成员变量介绍 public class ArrayList<E> extends AbstractList<E> implements Li
阅读全文
摘要:一、案例 在介绍 CAS 之前先看一段代码 /** * @Author summer * @Description * @CreateDate 2023-04-13 15:58 */ @Slf4j public class VolatileDemo { // 定义 volatile 变量保证可见性、
阅读全文