Dee*_*pak 14 java static-variables
class A{
static int i = 10;
static int j = 20;
static void getname(){
}
}
Run Code Online (Sandbox Code Playgroud)
这些变量将存储在内存中的哪个位置?
首先,静态成员变量存储在堆的Permanent Generation区域中.
您的示例包含基本类型变量,它们将存储在PermGen中.
如果那些是对象类型变量,例如 static Object x = new Object();,那么引用x将存储在PermGen中,而其Object自身将被放置在堆的Young Generation中.
我认为对于某些 JVM 的大多数实现来说,它是 PERM-GEM 所特有的……但我没有证据……事实是……这取决于存储这些值的 JVM。它是一个变量……它可以根据 JVM 实现以多种不同的方式存储。
如果您遇到内存问题,我可能会查看分配的内容,而不是分配的方式。
如果您需要更多信息,或者您的问题更加具体;让我们重新表述您的问题,我将重新发布更好的答案。
| 归档时间: |
|
| 查看次数: |
22897 次 |
| 最近记录: |