Javaは値によって渡されることを読みました。HashMap somehashMap
したがって、このコードがあり、がよりも寿命が長いとしましょうfoo
。したがって、fooをマップ内に配置し、そこから削除するのを忘れたという理由だけでfooが機能したとしても、fooをガベージコレクションすることは許可されていません。リンクした投稿の回答のロジックをたどると、実際にはの参照のコピーがfoo
メソッドのput()
権利に渡されますか?その場合、に入れるfoo
ことHashMap
でガベージコレクションを防ぐことはできません。ここで何が起こっているのか理解するのを手伝ってくれませんか?私は正確に何が欠けていますか?
public void someMethod(){
Foo foo = new Foo();
somehashMap.put(fooKey,foo);
}