Java中堆栈方法区的联系

Posted innocent-of-dabber

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中堆栈方法区的联系相关的知识,希望对你有一定的参考价值。

引言:Java中堆、栈、方法区的联系,为了更好的理解三者间的关系,本文用Test类的 声明—>调用 来简单的展示这一过程。

 

Test类:

技术分享图片

 

一、编译时

在编译时会将对象Test 、 常量和静态方法存入方法区

方法区分为2块:

  1.对象区(加载时会将静态成员直接加载进去)

  2.常量区

 技术分享图片

 

二、实例化时

 技术分享图片

 

在对象实例化时,会在堆中为对象分配一块空间。

 技术分享图片

 

三、调用对象的方法时

 

 技术分享图片

 

次出有2种情况:

1.静态方法调用

 技术分享图片

 

 技术分享图片

会直接去方法区找到add()方法进栈使用,使用完弹栈。

 

2.非静态方法调用

 技术分享图片

 

以上是关于Java中堆栈方法区的联系的主要内容,如果未能解决你的问题,请参考以下文章

java 堆栈方法区/ 类变量成员变量局部变量

Jvm(33),理解升级----有一点豁然开朗的的对堆栈方法区的理解

Java 虚拟机(JVM)之基本概念

方法区

Day332.方法区 -JVM

方法区的回收