我对Java很陌生,所以请耐心等待......
我正在使用扫描仪阅读InputStream
(即Class.class.getResourceAsStream("fileName.csv")
)。当文件被读取时,内存开始大约44,000,当它完成读取时,它最多可达298,000。该类基本上读取inputStream
并将数据放入某些ArrayLists
,以便我可以快速搜索它们。问题是..一旦文件读完,我无法弄清楚如何让内存使用率下降。我已尝试设置object = null
和/或调用System.gc()
{这显然只是一个建议},但都不起作用。我对close()
和Scanner
使用了InputStream
方法,到目前为止还没有任何工作。有人有主意吗?我想我可能不知道我在说什么,这应该是怎么回事,但我很确定我做错了什么。
提前致谢。
答案 0 :(得分:2)
使用输入流完成后,您可以将其引用设置为null,这是您可以请求垃圾收集器释放未使用的内存的唯一方法,因为我们无法强制GC因此无法显式释放内存。