编译好的Java代码要放在JVM内执行,不同的数据放在不同的区域内。具体包括:堆,栈,方法区。
堆:存放new 出来的 对象。
栈:存放方法中的局部变量。所以,它是依赖方法的调用存在的。一旦这个方法调用完毕,它(对应的“栈帧”)就会被清除。
由上可以得知,成员变量肯定存在于堆中,因为它是属于new 出来的对象的。
方法区:存放类的信息。Java程序运行的时候,Java类加载器会把class字节码装载进来,然后解析之后装入方法区。
本文共 271 字,大约阅读时间需要 1 分钟。
编译好的Java代码要放在JVM内执行,不同的数据放在不同的区域内。具体包括:堆,栈,方法区。
堆:存放new 出来的 对象。
栈:存放方法中的局部变量。所以,它是依赖方法的调用存在的。一旦这个方法调用完毕,它(对应的“栈帧”)就会被清除。
由上可以得知,成员变量肯定存在于堆中,因为它是属于new 出来的对象的。
方法区:存放类的信息。Java程序运行的时候,Java类加载器会把class字节码装载进来,然后解析之后装入方法区。
转载于:https://www.cnblogs.com/LightmanLu/p/11170132.html