10、11を見ていこう。JavaVMにとってハードウェアの進化は重大なことだ。JavaVMはその基盤となるハードウェアやOSに適合し続けるため、動く標的を狙い続けている。Panama」を紹介する。Valhallaは、データ自身によりオブジェクトのオーバーヘッドなどを取り除こうとしている。PanamaはネイティブコードやネイティブデータでJVMのデータセクションを最適化するものだ。Javaが登場した頃、シングルコアシステムで小さなメモリ、パイプラインもキャッシュもなかった。いまは、マルチコア、マルチソケットで、CPUキャッシュやメモリも大量に積まれている。コア自身も洗練されてきた。Javaのデータとメモリのレイアウトは、昔のプロセッサのモデルのまま。最新のハードウェアやOSに最適化した、よりよいメモリ効率、キャッシュ効率が求められる。Panamaはこのために、OSやメモリとJVMとのやりとりを再構成するものだ。メモリとキャッシュの利用効率のためにデータを緻密かつ平坦に配置する。毎日目にするようなシンプルな、xとyからなるオブジェクトがあるとする。これに対するポインタの配列を設定すると、オブジェクトごとのヘッダの分だけオーバーヘッドが存在するし、ポインタのヘッダの部分もオーバーヘッドだ。Javaが登場した1995年の時点では、すべてがオブジェクトで柔軟性を持たせるために配列ポインタを使うのが望ましかった。最新のシステムでは、(CPUキャッシュのキャッシュミスのペナルティを避けるため)より純粋なデータが望ましい。これを解決するため「Value」型を取り入れる。クラスを純粋なデータとして扱える。するとデータの配置はこうなる。キャッシュフレンドリーでありメモリ効率も高いデータの高いローカリティでキャッシュ効率が高まり、プリフェッチで効率よくデータがとらえられる。超高速なコードを書かなくとも、Value型はJDKが最適化してくれる。2015[速報]JavaOne開幕。Jigsaw」でクラスパスの問題とJDK肥大化の問題を解決する。10/11では最新のハードウェアやOSに最適化したデータのメモリ配置が可能になる。2015Java20周年を祝ってJavaOneにスコット・マクニーリ氏がスペシャルメッセージ。「Javaプログラマにとって最悪な10のコト」を発表。OpenWorld開幕、エリソン氏が基調講演。Databaseはクラウドスケールのマルチテナント機能を実装。