gpt4 book ai didi

java - 如何防止文件加载时发生 Java 的 OutOfMemoryError?

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

我正在开发一个程序,该程序加载文件并使用它们的信息来填充 Model 类。这些文件的大小范围从几 KB 到几乎 1 GB。当它们的大小发生变化时,Model 类使用的内存也会发生变化。

当我加载足够大的文件时,我收到 OutOfMemoryError

我能够拒绝用户加载文件的请求(基于文件大小)。如何检查文件、确定其大小,然后确定应用程序是否可以处理它?<​​/p>

有没有办法让它适应用户计算机上的 RAM 量?

最佳答案

You can query the JVM to see how much free and used memory there is :

/* Total amount of free memory available to the JVM */
System.out.println("Free memory (bytes): " +
Runtime.getRuntime().freeMemory());

/* This will return Long.MAX_VALUE if there is no preset limit */
long maxMemory = Runtime.getRuntime().maxMemory();
/* Maximum amount of memory the JVM will attempt to use */
System.out.println("Maximum memory (bytes): " +
(maxMemory == Long.MAX_VALUE ? "no limit" : maxMemory));

/* Total memory currently in use by the JVM */
System.out.println("Total memory (bytes): " +
Runtime.getRuntime().totalMemory());

关于java - 如何防止文件加载时发生 Java 的 OutOfMemoryError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19038660/

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