1

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

  1. 数据会溢出到磁盘吗?如果没有,究竟会发生什么?如果我们遇到错误,避免此类错误的最佳方法和做法是什么?
  2. 如果我们在完成使用它们后不关闭编年史地图(或者如果我们有内存泄漏),它会继续填满堆内存吗?当堆外内存已满时会导致JVM失败,还是操作系统会介入并为我们清理?
4

1 回答 1

-2

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

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

于 2021-04-28T22:39:41.917 回答