类成员变量在哪里分配

大家都知道,类被加载到JVM是放在所谓的方法区: JDK7之前是持久代(PermGen),JDK7开始是元空间(metaspace)。所以不免也会简单地认为,类的成员变量(变量本身,而不是变量指向的对象)也是分配在方法区里。

本篇呢,就通过HSDB这个工具,来分析下类的静态变量到底在哪里分配,同时熟悉下如何使用HSDB这个工具查看Java内存信息。

一、启动Java进程

我们通过debug模式运行如下代码,将断点放在打印System.out.println("test")这一行:

package hsdb public class Test { static Test t1 = new Test(); public static void main(String[] args)throws Exception { System.out.println("test");//此行打断点 } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjgfj.html