正在加载中,请稍后

Java内存模型、JVM内存模型、Java对象模型的区别

Java内存模型、JVM内存模型、Java对象模型的区别

这三者听起来很像,其实是三种截然不同的概念

1.JVM内存模型

JVM内存结构由JVM虚拟机规范定义。描述的是java程序执行过程中,由JVM管理的不同数据区域,各个区域的功能会有区别。

也就是我们常说的 堆、栈、方法区、程序计数器的内存区域

image

2.Java内存模型 Java Memory Model(JMM)

Java堆和方法区是多个线程共享的数据区域。多个线程可以操作堆和方法区中的同一个数据。Java的线程间通过共享内存进行通信

Java多线程对共享内存进行操作的时候,会存在一些如可见性、原子性和顺序性的问题,JMM是围绕着多线程通信及相关的一些特性而建立的模型。

image

3.Java对象模型

Java对象在JVM中的存储有一定的结构,Java对象自身的存储模型就叫做Java对象模型。

image

总结:

JVM内存模型和Java 虚拟机的运行时内存区域相关

Java内存模型和Java并发编程,线程间的内存关系有关

Java对象模型和Java对象在Java虚拟机的表现形式有关

posted @ 2021-05-14 14:12  wode虎纹猫  阅读(341)  评论(0)    收藏  举报
Live2D