以下两个实现(HashMap对象位置已更改),哪一个占用较少的内存,以及何时释放内存?
Add /xyz.rpm /xyz.rpm
RUN rpm -i xyz.rpm
由于
答案 0 :(得分:1)
使用的内存大致相同(如果您的应用程序和一个线程中只有一个ValidateA
实例,则完全相同。)
auditData
引用本身的内存将被释放:
ValidateA
中,当ValidateA
实例本身符合垃圾回收条件时)ValidateB
中,在方法的最后 HashMap
实例的内存将在不再从任何地方引用时释放(符合GC条件) - 假设您没有其他参考地图除了auditData
:
ValidateA
中,当您设置auditData = null
时,再次运行该方法(覆盖之前的auditData
),或ValidateA
实例本身符合GC的条件时1} LI>
ValidateB
中,在方法的最后