java进阶:【java内存结构】

网友投稿 566 2022-05-30

前言

1.每一个方法执行时,都有一个独立的内存空间,给内存空间在方法执行完毕之后,随之被回收。这个入地的内存空间称之为栈帧。

2.堆存放的是当前Java程序执行时共享数据。在堆中,如果一个对象没有被变量指向,该变量就符合垃圾回收机制的条件。

正文

简单的java内存结构图

1.方法区:用来存储代码。将.class文件加载到内存中,并存储在方法区

2.栈:用来存储局部变量,形参,方法的返回值,中间运算结果

3.堆:成员变量,数组对象,方法的引用

4.本地方法区:存储链接本地方法相关的代码

5.执行过程:

执行了java命令之后,classloader将.class文件,加载到内存中并存储在方法区。

java进阶:【java内存结构】

然后JVM调用main方法,顺次执行代码。

将局部变量存储在栈区中,将引用变量是指向内容存储在堆区中。

引用变量所指向的空间,用来存储hashcode码,顺次执行到mian方法完毕。

再通过classLoader将.class文件内容在JVM所占用的空间全部卸载。

Java JVM

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:享元模式(FlyWeight)
下一篇:XML概述
相关文章