【发布时间】:2012-06-19 13:29:50
【问题描述】:
我可能在 Java 中遇到了一个奇怪的错误。 当我运行以下代码时,出现“EXCEPTION_ACCESS_VIOLATION”异常。
我知道代码没有意义(就逻辑而言),因为它是我最初编写的代码的子集。如果我删除几行,错误就会消失。
谁能弄清楚这个错误的原因是什么?
public static void main(String[] args) {
for (int i=0; i < 4000; i++) {
System.out.println("item " + i);
test1();
}
//runBatch();
System.out.println("Done! bye bye..");
}
public static int test1() {
int count;
int allMiddleCount;
int[] b = new int[0];
allMiddleCount = 0;
for (int i = 1; i < 64; i++)
{
// evaluating the size of the subset
count = 0;
for (int j = 0; j < 6; j++)
count++;
allMiddleCount++;
}
for (int i=0; i < allMiddleCount; i++) {
}
return 0;
}
【问题讨论】:
-
哪一行?在哪里?你有 StackTrace 吗?
-
哪行代码抛出异常?
-
刚刚测试了您发布的代码,它在我的机器(1.7.0_03)上运行良好。您使用的是什么版本的 Java?
-
在 1.6.0_31 上工作,但在 1.7.0_05 上确实失败了
-
如果你设法减少导致崩溃的代码,这可能会很有趣。
标签: java