【发布时间】:2012-11-29 11:11:45
【问题描述】:
我知道方法的变量存储在堆栈中,而类变量存储在堆中。那么我们创建的类和对象在 Java 中存储在哪里呢?
【问题讨论】:
-
看看this article,正式定义见JVM Spec
-
令许多人感到困惑的是对象存储在堆上,但对您在 Java 中使用的对象的引用可以在堆栈上。类似地,对 Class 对象的引用可以在堆栈上,Class 对象在堆上,但 Class 对象是关于该类的元数据,实际代码在 PermGen 中。
-
@PeterLawrey:PermGen 被认为是堆的一部分,对吧?
-
@Thilo AFAIK,它不是最大堆大小的一部分,所以我不会说。它是一个管理内存空间。
标签: java