如果我在静态块中的循环条件很小(即 1000 或 10000),则程序执行没有问题,它的工作。问题在于给定代码的静态块中的循环。每当我在下面执行代码时,我都会收到异常“找不到主类” ,请参见下面的代码:
import java.util.HashMap;
import java.util.Map;
public class TestStatic {
static HashMap<String,Integer> testMap = new HashMap<String,Integer>();
public static void main(String[] args) {
for (Map.Entry<String,Integer> entry : testMap.entrySet()) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
static
{
for(int i=0; i< 10000000; i++)
{
testMap.put("key_" + i, i);
}
}
}
但是每当我将循环条件的值更改为 1000000 (少一个 0)时。代码工作正常。那么执行静态块是否有任何时间限制。我知道64k有大小限制,但我只是想澄清一下,这是因为这个限制或任何其他原因而发生的。