gpt4 book ai didi

java - 给定文件大小时,为什么会出现 java.lang.OutOfMemoryError 错误?

转载 作者:行者123 更新时间:2023-12-01 06:26:31 26 4
gpt4 key购买 nike

我正在解析一个 328kb 文本文件并将内容存储在 java 列表中。

这是命令行(给定参数我应该使用 1GB 内存)。

java -Xms128m -Xmx1024m -cp .:jars/* CentroidGenerator data/data.xml

但是我在线程“main”java.lang.OutOfMemoryError中遇到异常:Java堆空间

这是代码,我已经注释了大部分代码以供调试:http://d.pr/pRxe谢谢

最佳答案

嗯,这对我来说看起来不对:

for (int i=0; i<centroids.size(); i++) {            
Centroid centroid = new Centroid(...);
// Some other code here
centroids.add(centroid);
}

因此,假设 centroids 的大小为 1。在循环的第一次迭代中,i 为 0,小于 1。您创建了一个新实例Centroid,将其添加到列表中,然后继续。现在i是1,但是现在centroids.size()是2,所以你继续......等等。

基本上,这个循环不会停止,直到内存耗尽。

我不清楚您在循环中尝试做什么,但您不想做您正在正在做的事情...

关于java - 给定文件大小时,为什么会出现 java.lang.OutOfMemoryError 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5431873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com