“线程中的异常”;螺纹-2“;java.lang.OutOfMemoryError:java堆空间
我试图使用ObjectOutputStream将一个类对象保存到一个文件中。当我的对象随着大小增长时,我会得到下面的错误,否则一切都好 线程“thread-2”java.lang.OutOfMemoryError中出现异常:java堆空间 在java.io.ObjectOutputStream$HandleTable.growtEntries(ObjectOutputStream.java:2308) 我的代码如下所示:“线程中的异常”;螺纹-2“;java.lang.OutOfMemoryError:java堆空间,java,java-io,Java,Java Io,我试图使用ObjectOutputStream将一个类对象保存到一个文件中。当我的对象随着大小增长时,我会得到下面的错误,否则一切都好 线程“thread-2”java.lang.OutOfMemoryError中出现异常:java堆空间 在java.io.ObjectOutputStream$HandleTable.growtEntries(ObjectOutputStream.java:2308) 我的代码如下所示: try { FileOutputStream fout
try {
FileOutputStream fout = new FileOutputStream("D:\\out.dat");
ObjectOutputStream os = new ObjectOutputStream(fout);
os.writeObject(this.obj); // Writing object to a File
os.close();
fout.close();
os=null;
fout=null;
} catch (Exception e) {
e.printStackTrace();
}
请建议我如何解决这个问题?是否有其他方法可以达到同样的效果?使用
-Xms1024M-Xmx1024M
选项启动程序。除非该对象非常大和/或您的计算机内存量很小,否则通常不会出现该错误。使用-Xms1024M-Xmx1024M
选项启动程序。通常不会出现这种错误,除非该对象非常大和/或您的计算机内存量很小。我以前遇到过类似的问题,我有以下两种方法来解决此类问题:
-Xms
和-Xmx
参数来增加JVM内存不久前,我遇到了类似的问题,我有以下两种选择来解决此类问题:
-Xms
和-Xmx
参数来增加JVM内存你想写这个.obj是什么@nobeh obj是我在程序中使用的类的对象。你想编写它的
this.obj
是什么@nobeh obj是我在程序中使用的类的对象。我的计算机有4GB RAM。除了增加JVM大小之外,没有其他选项可以处理内存泄漏。有没有内存优化技术可以解决这样的问题?请发表您的意见。@Vasant您可以使用内存分析器来了解您的应用程序在cpu和内存方面使用了什么。一旦确定了应用程序中使用最多cpu/内存的位置,就可以对其进行优化。如果没有这个分析,你所能做的就是增加内存。我的电脑有4GB内存。除了增加JVM大小之外,没有其他选项可以处理内存泄漏。有没有内存优化技术可以解决这样的问题?请发表您的意见。@Vasant您可以使用内存分析器来了解您的应用程序在cpu和内存方面使用了什么。一旦确定了应用程序中使用最多cpu/内存的位置,就可以对其进行优化。如果没有这种分析,你所能做的就是增加你的记忆力。