2007年5月、Ethan Nicholas氏とDennis Gu氏はJavaOneにおけるコンシューマJREを発表した。JavaOne以来、幾つかの詳細な点がリリースされてきた。コンシューマJREの発表では(再度!)、Ethan Nicholas氏が幾つかのハイライトを概説したが、これらは新しいインストーラ、パフォーマンスの向上、起動時間の短縮、JREのモジュラー化などを含んでいる。彼はまた、これらの機能の殆どが利用可能になるであろう日を予測した。
コンシューマJREはJava6のアップデートリリースとして、2008年の上半期に提供される見込みとなっています。
Chet Haase氏は、引き続き掘り下げたメッセージを投稿し、その多くはこれらの同様なポイントをカバーするものであるが、細部にわたっている。コンシューマJREとは、よりスリムで強靭なJavaなのである。彼は、迅速なリリースのために、コンシューマJREの変更点はAPIに影響を与えない変更であることが重要である、と指摘した。彼は変更点をこれらの要素へグループ化した。クイックスターター、Javaカーネル、ディプロイメントツールキット、インストーラの進化、Windows グラフィックパフォーマンス、Nimbusルック&フィール等。
クイックスターターについて、Chet Haase氏は、コールドスタートアップの時間(リブート後、最初のJavaランタイム環境の起動)は、Javaのスタートアップパフォーマンスの問題であると論じた。
その改善により、スタートアップ時に読まねばならないディスク上のメモリページが、必要となる前に既にロードされていることを確認でき、ディスクキャッシュを有効利用することができるようになるのです。
Javaランタイム環境を持たないコンシューマがJavaアプレットやJavaアプリケーションを最初に使用しようとするとき、Javaカーネルは、それらが必要なJREの割り当て分のみをダウンロードすることしか許さない。そして、JavaアプレットやJava アプリケーションを使って開始し、一方で残りのランタイム環境をバックグラウンドでダウンロードするのである。これはダウンロードサイズの顕著な改善につながるだろう。
未だにJavaカーネルの開発は進んでいるのですが(Ethan Nicholas氏は狂ったようにそれについてクランクをまわしていますが)、中程度のサイズのSwingアプリケーションについては60%を越えるダウンロードサイズの縮小が可能であることが初期の結果として示されています。
ディプロイメントツールキットは更によりパワフルで複数のブラウザやプラットフォームを横断して実行するユビキタスシステムであり、Javaが既にインストールされている場合、開発者が、ユーザーが何を持っていてそれについて何をすべきか、またどのようにアプリケーションを実行すればよいかをより自動的に検出することが可能になる。グラフィックパフォーマンスは、Swing の原型より多くのためのハードウエア促進型のDirectXコールを使って、単純かつ複雑なSwingアプリケーションのためにより良いパフォーマンスをもたらすことにつながるだろう。Nimbusルック&フィールはSwingアプリケーションのためによりモダンなスタイルを提供してくれる。
これらの機能の幾つかは他の機能よりも早く利用可能になるだろう、というEthan Nicholas氏の記述をサポートし、Chet Haase氏は下記のように付け加えている。
我々はこれらの機能を利用可能になり次第、展開するつもりですので、ここで紹介された機能の全てを2008年年初まで待つ必要はありません。例えば、改良されたインストレーション経験はJava SE 6のアップデート2に含まれて出てくるべきであり、Java SE 6のアップデート2は現在、6月後半に設定されています。
Nimbus、コンシューマJRE、Java一般に関するより詳細な情報については、引き続きInfoQの Java コミュニティに注目してほしい。
(原文は2007年5月23日にリリースされました)