2

在 Java 中,NavigableMap有一个方法subMap()可以返回该映射部分的视图,其键范围为fromKeytoKey。在文档中,它说返回的地图受此地图的支持,因此返回地图中的更改会反映在此地图中,反之亦然。

所以我的问题是,如果你将subMapa分配NavigableMap给它自己,它会导致潜在的内存泄漏吗?我的意思是不再引用原始地图的一部分。

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

1 回答 1

1

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

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

于 2013-10-18T18:23:06.633 回答