微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当堆外内存已满时,Chronicle 地图的行为如何?

如何解决当堆外内存已满时,Chronicle 地图的行为如何?

我下载了一些文件,并使用内存中的编年史地图将它们存储在堆外。当我超过可用的本机(堆外)内存量时,我想了解编年史地图的行为。我有两个关于它的问题:

  1. 数据是否会溢出到磁盘?如果不是,究竟会发生什么?如果出现错误,避免此类错误的最佳方法和做法是什么?
  2. 如果我们在使用完历史记录地图后不关闭它们(或者如果我们有内存泄漏),它会继续填满堆内存吗?堆外内存已满时会导致JVM故障,还是操作系统会干预并为我们清理?

解决方法

与 Hash Maps 相比,Chronicle Maps 可以更有效地使用垃圾收集,并且具有或实现最大 CM 条目大小。在垃圾收集方面,它也比哈希映射快得多。我建议看看以下内容。 https://dzone.com/articles/java-chroniclemap-part-1-go-off-heap

至于内存泄漏,我假设在谈到 Java 时,JVM 会处理内存并避免内存泄漏。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。