鉴于此代码段
def doSomething() = {
val associations : HashMap[Int, Int] = function_that_create_a_hashmap
println("something")
}
Run Code Online (Sandbox Code Playgroud)
当doSomething终止时,系统变量associations去分配呢?我应该在它上面调用一些析构函数(.clear在这种情况下可能)或者该操作没用吗?
这是没有必要的 - 如果你的应用程序没有更多的引用HashMap,那么将来会在某个时候自动收集垃圾.
如果你真的有一个巨大的哈希映射,你想摆脱它以避免它的内存消耗触发GC循环doSomething完成后,你可以调用System.gc(),但这通常既不需要也不推荐的做法.