1、JVM内存结构

 

笔记 - JVM内存结构、Java对象模型、Java内存模型

  1. 堆:对象
  2. 栈:对象的引用、基本数据类型
  3. 方法区: static静态变量、类信息、常量信息、永久对象引用
  4. 本地方法栈:native方法
  5. 程序计数器:保存当前线程字节码的行号数、下次需要执行的指令

 

2、Java对象模型(对象在内存中的结构)

笔记 - JVM内存结构、Java对象模型、Java内存模型

 

3、Java内存模型 JMM (并发操作时)

(1)、什么是JMM,为什么需要:

1、是一种规范,若没有,在不同系统中处理的结果可能不一样,也无法保证并发安全

2、JMM还是工具类和关键字的原理(volatile、synchronized、Lock等)

(2)、重排序、可见性、原子性

1、重排序:执行顺序与代码编写顺序不一致(除了happens-before原则)     好处:提高处理速度

笔记 - JVM内存结构、Java对象模型、Java内存模型

 

2、可见性:多级缓存带来的问题 - 独占工作内存 (用volatile解决)

 

笔记 - JVM内存结构、Java对象模型、Java内存模型

 笔记 - JVM内存结构、Java对象模型、Java内存模型

 

 

相关文章: