在Java中,NavigableMap
有一个方法subMap()
,该方法返回此地图部分的视图,其范围从fromKey
到toKey
。在文档中,它表示返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。
所以我的问题是,如果你将subMap
NavigableMap
分配给自己,是否会导致潜在的内存泄漏?我的意思是原始地图的一部分不再被引用了。
NavigableMap<E> map = map.subMap(fromKey, toKey);
答案 0 :(得分:1)
是的,它可能会创建一个循环引用。
但是,Java的GC没有循环引用的问题。基本上,它会偶尔扫描整个堆,并删除那些无法访问的堆。