【发布时间】:2015-04-30 13:47:23
【问题描述】:
在这个例子中:
public class Testbed {
private static final int SIZE = 64;
public static void main(String[] args) throws Exception {
int limit = 10000;
run(limit);
}
private static void run(int limit) {
if (limit == 0) {
return;
}
for (int i = 0; i < 1000; i++) {
Object ints = new Object[SIZE];
run(limit - 1);
}
}
}
当使用 -verbose:gc 运行时,为什么 SIZE=64 不会产生任何 GC(即数组分配在堆栈上),但 SIZE=65 - 会?
JVM 是 7u79-2.5.5-0ubuntu1
【问题讨论】: