减少Java堆大小
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了减少Java堆大小,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含858字,纯文字阅读大概需要2分钟。
内容图文
我有一个应用程序使用大量的内存来区分两个潜在的巨大(100k)目录的内容.我觉得这样的操作会占用大量内存,但是一旦我的差异操作完成,堆就会保持相同的大小.
我基本上有代码实例化一个类来存储源和目标上每个文件的文件名,文件大小,路径和修改日期.我保存了其他数组中的添加,删除和更新.然后我清除()我的源和目标数组(现在可能各自为100k),留下相对较小的添加,删除和更新数组.
在我清除()我的目标和源数组之后,内存使用量(通过VirtualVM和Windows任务管理器可见)不会下降.我对VirtualVM(或任何分析器)的经验不足以弄清楚占用所有这些内存的内容. VirtualVM的堆转储列出了保留大小为几兆字节的前几个对象.
有什么可以帮助我指出正确的方向吗?
解决方法:
如果使用的堆在垃圾收集后关闭,那么它可能会按预期工作.当Java需要更多内存时会增加它的堆,但不会释放它 – 它更喜欢保留它以防应用程序再次使用更多内存.有关此主题的信息,请参阅Is there a way to lower Java heap when not in use?,了解在使用的堆量减少后堆未降低的原因.
内容总结
以上是互联网集市为您收集整理的减少Java堆大小全部内容,希望文章能够帮你解决减少Java堆大小所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。