Java 一旦使用Google Guava创建了不可变版本,如何丢弃原始集合?
我有一个地图如下,一旦我得到了原始地图的不变版本,我就不再需要原始地图了。有没有办法让GC回收它Java 一旦使用Google Guava创建了不可变版本,如何丢弃原始集合?,java,guava,immutability,Java,Guava,Immutability,我有一个地图如下,一旦我得到了原始地图的不变版本,我就不再需要原始地图了。有没有办法让GC回收它 Map<String, String> map = new TreeMap<>(); map.put("1", "one"); map.put("2", "two"); map.put("3", "three"); ImmutableMap<String, String> IMMUTABLE_MAP = ImmutableMap.copyOf(map); Ma
Map<String, String> map = new TreeMap<>();
map.put("1", "one");
map.put("2", "two");
map.put("3", "three");
ImmutableMap<String, String> IMMUTABLE_MAP = ImmutableMap.copyOf(map);
Map Map=newtreemap();
地图放置(“1”、“1”);
地图放置(“2”、“2”);
地图。放置(“3”、“3”);
ImmutableMap IMMUTABLE_MAP=ImmutableMap.copyOf(MAP);
您可以通过不再对地图进行任何引用,使其符合垃圾收集的条件。这将在map
超出范围时自动发生。如果这对您来说“太晚了”,您可以显式地将null
分配给map
无论哪种方式,实际的垃圾收集都是在JVM喜欢的情况下在后台进行的 您可以通过不再对映射进行任何引用,使其符合垃圾收集的条件。这将在
map
超出范围时自动发生。如果这对您来说“太晚了”,您可以显式地将null
分配给map
无论哪种方式,实际的垃圾收集都是在JVM喜欢的情况下在后台进行的 另一个答案是正确的,但你应该尝试使用
ImmutableMap<String, String> map =
ImmutableMap.<String, String>builder()
.put("1", "one")
.put("2", "two")
.put("3", "three")
.build();
ImmutableMap=
ImmutableMap.builder()
。付诸表决(“1”、“1”)
.put(“2”、“2”)
.put(“3”、“3”)
.build();
生成器针对其功能进行了优化,您通常可以在单个表达式中编写所有内容
更好的是
ImmutableMap<String, String> map = ImmutableMap.of(
"1", "one",
"2", "two",
"3", "three");
ImmutableMap=ImmutableMap.of(
“1”,“1”,
“2”,“2”,
“3”、“3”);
它最多适用于四个键值对。另一个答案是正确的,但您应该尝试使用
ImmutableMap<String, String> map =
ImmutableMap.<String, String>builder()
.put("1", "one")
.put("2", "two")
.put("3", "three")
.build();
ImmutableMap=
ImmutableMap.builder()
。付诸表决(“1”、“1”)
.put(“2”、“2”)
.put(“3”、“3”)
.build();
生成器针对其功能进行了优化,您通常可以在单个表达式中编写所有内容
更好的是
ImmutableMap<String, String> map = ImmutableMap.of(
"1", "one",
"2", "two",
"3", "three");
ImmutableMap=ImmutableMap.of(
“1”,“1”,
“2”,“2”,
“3”、“3”);
它最多可用于四个键值对。啊,我明白了。所以它会自动消失。谢谢。啊,我明白了。所以它会自动消失。谢谢,谢谢,@maaartinus,这很有帮助!谢谢,@maaartinus,这很有帮助!