java - 线程 "Thread-2"java.lang.OutOfMemoryError : Java heap space 中的异常

标签 java java-io

我试图使用 ObjectOutputStream 将其中一个类对象保存到文件中。当我的对象随着大小增长时,我会收到以下错误,否则一切都很好。

线程“Thread-2”中的异常 java.lang.OutOfMemoryError:Java 堆空间 在 java.io.ObjectOutputStream$HandleTable.growEntries(ObjectOutputStream.java:2308)

我的代码如下所示:

 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 选项启动您的程序。您通常不会收到该错误,除非该对象真的非常大和/或您的计算机的 RAM 量很小。

关于java - 线程 "Thread-2"java.lang.OutOfMemoryError : Java heap space 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11280626/

相关文章:

java - 通过java搜索整数类型的数据库字段

将长数组转换为字节数组的Java native 方法

java - 如何获取通过在工作目录中仅设置文件名来实例化的 File 的 File.getParent() ?

java - PipedInputStream 如何从 OutputStream 读取?

java - Gson.toJson 给出 StackOverFlowError,在这种情况下如何获得正确的 json? (公共(public)静态类)

泛型上的 Java 静态函数

java - JPQL 运算符返回 java.lang.IllegalStateException - 节点 : org. hibernate.hql.internal.ast.tree.MethodNode 没有数据类型

hadoop java.io.IOException : while running namenode -format 错误

java - 从 .jar 加载文件时,URI 不是分层的

java - 在 Spring 中如何审计端点通信?