我正在使用 eclipse 使用 POI 从 Oracle 数据库创建 excel 文件。如果数据集小没问题。但是,如果它很大,我们会遇到以下异常。
线程“主”java.lang.OutOfMemoryError 中的异常:Java 堆空间
My heap setting is. -Xms512m -Xmx1024m
如果我将最大尺寸增加到 2048m,我们得到
Could not create Java Virtual Machine.
错误。谢谢
我正在使用 eclipse 使用 POI 从 Oracle 数据库创建 excel 文件。如果数据集小没问题。但是,如果它很大,我们会遇到以下异常。
线程“主”java.lang.OutOfMemoryError 中的异常:Java 堆空间
My heap setting is. -Xms512m -Xmx1024m
如果我将最大尺寸增加到 2048m,我们得到
Could not create Java Virtual Machine.
错误。谢谢
我认为您需要检查您的操作系统的容量是多少(是 32 位系统还是 64 位系统)
据我的资料:
期望拥有一个大块内存的 32 位 JVM 不能使用超过 4 Gb(因为这也是 32 位限制,也适用于指针)。这包括 Sun 和 - 我很确定 - 还包括 IBM 实现。我不知道 JRockit 或其他人的 32 位实现是否有大内存选项。
如果您希望达到此限制,您应该强烈考虑为您的生产环境启动一个验证 64 位 JVM 的并行跟踪,以便在 32 位环境出现故障时做好准备。否则你将不得不在压力下做这项工作,这绝不是好事。
Extra information:
On normal consumer versions of Windows, the limit is 2GB
which is equivalent to 2048M. On Linux and server versions
of Windows (32-bit)
the limit is 3GB per process.
我根据.