Java中堆、栈、方法区的联系

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

Test类:

一、编译时

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

方法区分为2块:

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

  2.常量区

 

二、实例化时

 

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

 

三、调用对象的方法时

 

次出有2种情况:

1.静态方法调用

 

 

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

2.非静态方法调用

 

猜你喜欢

转载自www.cnblogs.com/Innocent-of-Dabber/p/10272377.html