gpt4 book ai didi

Mac 上的 Java OutOfMemory,在 Windows 上工作

转载 作者:搜寻专家 更新时间:2023-11-01 02:32:06 24 4
gpt4 key购买 nike

我有一个从 .csv 文件加载数据并将其显示在表格中的应用程序。该应用程序适用于 Windows 中的所有文件(无论它有多大),但它仅适用于 Mac 上小于 8MB 的文件,任何其他大于 8MB 的文件都会抛出“java.lang.OutOfMemoryError:Java堆空间”。我调试了该应用程序以确保它正在读取 .csv 文件并且确实如此,但过了一会儿它因该错误而崩溃。

我做了一些研究并尝试使用 -Xmx 和 -Xms 来增加 Java 堆大小,但仍然出现相同的错误。

以下代码是应用程序在将一些包含信息的数组添加到 mainHashtable 后崩溃的地方:

 while(reader.readRecord()){

ArrayList<CSVEntry> list = new ArrayList<CSVEntry>();
for(int i = 0; i < colscount; i++){
CSVEntry entry = new CSVEntry(headerNames[i], reader.get(i));
list.add(entry);
}
mainHashtable.put(recordcount, list);
recordcount++;
}

任何帮助我解决此问题的建议都将不胜感激。

最佳答案

-Xmx 是正确答案。 Java 对最大堆空间有奇怪的默认值,具体取决于平台(有时低至 8MB)。

如果您的应用程序使用 Main-Class INF 指令捆绑在 JAR 中,则以下内容应该适合您:

java -Xmx256m -jar myapp.jar

关于Mac 上的 Java OutOfMemory,在 Windows 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6783695/

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