2011-12-06 Java SE 8 ではメモリ使用量の再確認が必要? prog ただの思いつきメモ。 現行の JDK で使われている HotSpot JVM は、メモリが Java ヒープと PermGen (PermGen) 領域に分かれている おおまかに言うと、インスタンスの情報が Java ヒープに入り、クラスファイルの内容が PermGen に入る 厳密には、高速化のために PermGem を使ったりもする。あと、Java ヒープと PermGen の他に C ヒープもある Oracle は現在 HotSpot JVM と JRockit JVM の統合作業中 Java SE 7 には間に合わなかったが、Java SE 8 までには統合完了の予定位らしい JRockit JVM には、Java ヒープと PermGen 領域の区別がない ということは、今まで「Java ヒープは 512MB あれば足りそう」と思っていたアプリでも、Java SE 8 での設定値についてはチューニングし直しが必要 Project Lambda も Java SE 8 で入る予定 Java のラムダ式は、Functional Interface (メソッド 1 つだけのインタフェース) の実装を書くためのシンタックスシュガー とすると、ラムダ式を 3 回書くのは匿名内部クラスを 3 個作るのと同様 (たぶん) とすると、その分クラス数が増え、メモリ消費が増える (起動もその分遅くなるかも)