【发布时间】:2013-10-03 00:52:54
【问题描述】:
我正在开发一个加载文件并使用它们的信息来填充Model 类的程序。这些文件的大小可以从几 KB 到几乎 1 GB。当它们的大小波动时,Model 类使用的内存也会波动。
当我加载一个足够大的文件时,我会收到OutOfMemoryError。
我能够拒绝用户加载文件的请求(基于文件大小)。如何检查文件、确定其大小,然后确定应用程序是否可以处理它?
有没有办法让它适应用户计算机上的 RAM 量?
【问题讨论】:
-
不过。基于
RAM,您可以对文件进行分区并将其分块加载到内存中并填充model类。 -
试试看这个问题:[Using java to get os level system information][1] [1]:stackoverflow.com/questions/25552/…
-
@Prateek 尽管我很喜欢这个想法,但我不认为是文件使堆过载。我认为
Model变得太大了——所以拆分它不会有太大的不同。
标签: java error-handling runtime-error heap-memory