java - NavigableMap 的subMap 会导致内存泄漏吗?

标签 java dictionary memory-leaks

在 Java 中,NavigableMap 有一个方法 subMap(),它返回 map 部分的 View ,其键范围从 fromKey到 key 。在文档中,它说返回的 map 受此 map 支持,因此返回 map 中的更改会反射(reflect)在此 map 中,反之亦然。

所以我的问题是,如果您将 NavigableMapsubMap 分配给自身,是否会导致潜在的内存泄漏?我的意思是原始 map 的一部分不再被引用。

NavigableMap<E> map = map.subMap(fromKey, toKey);

最佳答案

是的,它可能会创建一个循环引用。

但是,Java 的 GC 没有循环引用的问题。基本上,它会偶尔扫描整个堆并删除无法访问的堆。

关于java - NavigableMap 的subMap 会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19456413/

相关文章:

java - 如何在 Java 中修复 'Date Time Parse Exception'

具有列表理解的Python字典值分配

python - 返回列表字典中的值

python - 如何使用相关距离绘制点?

.net - Application.ThreadException : memory leak if not detached?

java - 如何在我的 Spring Boot 应用程序中使用配置文件 (properties/yml) 中的属性?

带有 SHAwithECDSA 的 Java Signature.sign() 在多次运行时产生不同的结果

java - Groovy 类未被收集但没有内存泄漏的迹象

java - 如何使用 Java API 添加 SCRAM-SHA-512 kafka 配置?

c - 使用 htop 检测内存泄漏