我们有两个分类 heap 和 stack 。创建对象时,对象的内存存储在堆中。如果类有静态方法,可以使用类名调用怎么办。如果未创建对象,那么它将如何分配内存,如果创建了,它将在哪里分配内存?
最佳答案
这取决于JVM,但静态字段通常存储在堆上的一个特殊对象中。 (你可以在堆转储中看到它)当类加载器被卸载时,它的类和它们的静态“对象”/字段也被清理。
静态“对象”的唯一不同之处在于您无法获得对它的引用。 (但是你可以使用反射来访问字段)
关于java - 静态方法内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7673359/