java - 使用 .clear() 或让 GC 处理它

标签 java hashmap garbage-collection

在我的部分代码中,创建了两个 LinkedHashMap,如下所示:

Map<Byte, Integer> hash1 = new LinkedHashMap<Byte, Integer>();
Map<Byte, Integer> hash2 = new LinkedHashMap<Byte, Integer>();

之后,运行一个 for 循环将值添加到它们各自的 HashMap 中,然后 HashMap 通过另一个用于创建数据包的循环运行。在调用第二个循环之后调用 .clear() 会更好,还是让垃圾收集器处理它?<​​/p>

最佳答案

如果你不调用 clear(),GC 不会处理它,因为对象仍然会被 hashmap 引用,直到它超出范围。

如果 hashmap 超出范围,您可以让 GC 处理它。首先清除它可能不会产生可衡量的差异。

关于java - 使用 .clear() 或让 GC 处理它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5602874/

相关文章:

JavaFx 标签的 setText

java - 数据库行读入对象列表

javascript - 微调哈希以动态创建 ZingCharts 树形图数组

java - 如何计算构建哈希表所需的最大/最小探针数

javascript - 有没有办法在基于 webkit 的浏览器中强制使用 Javascript 垃圾收集器?

Java map 中的 map ,REST Web 服务

c++ - 哈希表的复杂度计算错误?

java - Java 中 Optional<T> 的 GC 开销

c++ - 3rd-party 垃圾收集器中使用的方法

java - Tomcat关闭时关闭SMTPAppender的线程池