本日のカクテルは「Javaのメモリ管理」です。 ネタ元はかつのりさんのBlogです。 GCについて勘違いしている人が結構多い JavaというとGC(ガーベッジコレクション)によって不要となったオブジェクトが回収される仕組みになっていますので、一般のプログラマはメモリの確保、解放について考える必要がありません。 ただし、プロフェッショナルなプログラマの方は一般のプログラマの分まで背負い込んで考えてもらう必要があります。 C言語のようにメモリの割り当てと解放を直接管理することはありませんが、まったく別種のメモリ管理が必要となってきます。 参照の種類 「要するに、参照がなくなればGCに回収される、参照があれば回収されない、それだけのことだろう?」 こうおっしゃるお客さんは沢山いらっしゃいます。では、参照にも種類があることをご存じですか? 強い参照 (strong reference) ソフト参照