1. 首页
  2. Java

jvm内存结构、java内存模型、java对象模型辨析

一、简介

JVM内存结构和Java虚拟机的运行时区域有关。
Java内存模型和Java的并发编程有关。
Java对象模型和Java对象在虚拟机中的表现形式有关。

二、JVM内存结构

jvm内存结构、java内存模型、java对象模型辨析
1. 堆(heap):是整个运行区域中最大的,占用内存最多的,主要是有new或者其他指令所创建的一些实例对象,并且这些对象不再有引用后会被垃圾回收。堆在运行的时候动态分配,每次随着对象的变化和销毁结果都会实时的体现在堆中
2. 虚拟机栈(VM Stack):虚拟机栈中保存了各个基本的数据类型以及对对象的引用,编译的时候就确定大小且运行时大小不会改变
3. 方法区(Method Area): 方法区主要存储的是已经加载的各个静态变量、类信息、常量信息以及永久引用
4. 本地方法栈(Native Method Stack):主要保存本地方法(native方法)
5. 程序计数器(Program Counter Register):保存当前线程所执行到的字节码的行号,下一条需要执行的指令、分支、循环

三、java内存模型

java内存模型详情请点击

四、java对象模型

jvm内存结构、java内存模型、java对象模型辨析
java对象模型是Java对象自身的存储模型,JVM会给这个类创建一个instanceKlass,保存在方法区,用来在JVM层表示该Java类。当我们在Java代码中,使用new创建一个对象的时候,JVM会创建一个instanceOopDesc对象,这个对象中包含了对象头以及实例数据。

原创文章,作者:小童子,如若转载,请注明出处:https://www.caobinrg.com/517.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

邮件:caobinrg@163.com