gpt4 book ai didi

java.lang.OutOfMemoryError 与 Java Vector.addElement(Object o) 方法

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

虽然我知道 Java Vectors 的使用不被鼓励,因为它已被弃用,但我仍然坚持使用遗留代码,而我没有能力修改它。

我在尝试向 Vector 添加元素时遇到 OutOfMemoryError 错误。下面是我的代码片段。如果我可以改进以下代码,请告诉我。

 /*objOut is the Vector Object.
idx is incoming integer argument.
Val is some Object
*/
int sz = objOut.size();
if (idx == sz) {
objOut.addElement(val);
} else if (idx > sz) {
for (int i = (idx-sz); i>0; i--) {
objOut.addElement(null); // Code through OutOfMemory in this line
}
objOut.addElement(val);
} else {
objOut.setElementAt(val, idx);
}

最佳答案

在您的程序中,您尝试分配 n 个对象。
您的操作系统会分配一些空间给 JVM 来使用,该空间称为堆空间。当所有堆空间都被填满并且没有更多空间可以分配给新对象时,您会收到 OutOfMemoryError 错误。

所以你应该做的是使用 -Xmx 增加堆空间,如下所示:

java -Xmx 1024m YourClassName  

这将为您的程序分配 1024 MB (1 GB) 的堆空间。您可以根据需要请求堆空间。

关于java.lang.OutOfMemoryError 与 Java Vector.addElement(Object o) 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26275455/

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