随笔分类 -  内存

摘要:一、背景 《Java虚拟机规范》尝试定义一种Java内存模型(Java Memory Model)来屏蔽各种硬件和操作系统访问内存的差异,在不同平台访问内存方式一致。 二、内存模型 Java内存模型就是定义访问各种变量的规则,也就是说关注Java虚拟机想内存存储变量和从内存读取变量的细节。 1. 主 阅读全文
posted @ 2021-11-08 19:52 naray 阅读(249) 评论(0) 推荐(0)
摘要:一、原子性 原子性是指一个操作或者多个操作全部执行并且不会被打断,要么全部不执行。Java内存模型保证read、load、use、assign、store、write六种操作是原子操作,也可以认为Java的基本数据类型也具备原子性(double和float除外,这种除外几乎不会发生,开发中可以不用考 阅读全文
posted @ 2021-10-23 14:04 naray 阅读(315) 评论(0) 推荐(0)
摘要:volatile关键字的作用 volatile关键字是Java虚拟机提供的最轻量级的同步机制,volatile具有可见性和有序性,但是,不具有原子性特性。 Java中提供的操作运算符不具有原子性。 看下面例子: public class Main { public static volatile i 阅读全文
posted @ 2021-10-23 11:24 naray 阅读(100) 评论(0) 推荐(0)