我无法理解这两个代码之间的区别;
public static void main(String[] args) {
List<String> list = new ArrayList<>();
while (true) {
list.add("Hello");
}
}
它会在一秒钟内抛出 java.lang.OutOfMemoryError
,
和
public static void main(String[] args) {
List<String> list = new ArrayList<>();
while (true) {
list.add("Hello");
System.out.println(list.size()); // Simply display the size of List
}
}
5 分钟后 抛出 java.lang.OutOfMemoryError
,其中 list.size() 的值为 20767725。
最佳答案
简单地说 - 显示 2000 万行文本需要相当长的时间。
证明这一点很容易。运行这段代码:
for (int x = 0; x < 20767725; x++) {
System.out.println(x);
}
我想这也需要大约 5 分钟。
关于java - while(true) 和集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19420069/