Java SE 6開発チームは11日(米国時間)、Java SE 6の将来のリリースとなるJava SE 6 Update 14のEarly Access版を公開した。主な変更点は以下の2つ。
特筆すべきは後者で、HotSpot 14では新しいガーベージコレクタ「Garbage-Firstガーベージコレクタ(以下、G1 GC)」が利用可能となる。G1-GCはJava SE 7で正式採用される予定となっているオープンソースのGCだ。
現在のHotSpotでは「世代別GC」と呼ばれる手法が採用されている。これはヒープ領域をYoung領域とOld領域(Tenured領域)に(物理的に)分け、新しいオブジェクトはYoung領域へ、長く使用されているオブジェクトはOld領域に配置し、それぞれ別に管理するというもの。
Young領域はさらに1つのEden領域と2つのSurvivor領域に分割されていて、Eden領域が一杯になった段階で、まだ必要なオブジェクトはSurvivor領域またはOld領域に移動され、残りは破棄される。これはCopy GCと呼ばれる手法である。
一方、Old領域を含めたフルGCではMark&Sweepという手法が採用されている。Mark&Sweepでは全領域を走査して不要なオブジェクトにマークを付け(Markフェイズ)、マークミスが生じないようにリマークを行った上で、マークされたオブジェクトを破棄する(Sweepフェイズ)。
さてG1 GCでは従来のGCとは異なり、ヒープ領域は1つだけ用意され、その中を小さな領域に分割する。そしてその領域のうちいくつかをYoung領域とし、残りをOld領域として利用する。Young GCでは、Young領域にあるオブジェクトのうちまだ必要なものを空いている領域(Survivor領域かOld領域)に移動した上で、領域ごとメモリを開放する。この作業は領域ごとに並列で行われるという。
Old GCでは、まずMarkフェイズで領域ごとに並列にマークが行われる。そして必要なオブジェクトをひとつも含まない領域はリマーク時に即座に開放される。SweepフェイズではGCの対象となるオブジェクトを多く含む領域をピックアップし、その領域内でまだ必要なオブジェクトのみ空いている領域に移動した上で、領域ごと開放する。
これはCopy GCと同様の手法であるため、従来のSweepと異なりフラグメンテーションが生じ難いというメリットがある。また全ヒープ領域に対して常にフルGCを実施するのではなく、GCの効果が高い領域を優先的に開放するので、アプリケーションの停止時間を大幅に減少できるという。
Java SE 6 Update 14のEarly Access版はjava.netのプロジェクトサイトよりダウンロードできる。Windows版、Linux版、Solaris版について、JREのみのバイナリ/ソースと、JDKを含むバイナリ/ソースがそれぞれ公開されている。ただし、あくまでも開発者向けの公開であり動作は保証されないので注意が必要。
-versionオプションを付けてjavaコマンドを実行すると、JVMが「OpenJDK Client VM build 14」になっていることがわかる。
>java -version
java version "1.6.0_14-ea"
Java(TM) SE Runtime Environment (build 1.6.0_14-ea-b01)
OpenJDK Client VM (build 14.0-b10, mixed mode, sharing)
G1 GCを有効にするには、アプリケーション実行時に「-XX:+UnlockExperimentalVMOptions」と「-XX:+UseG1GC」の2つのオプションを指定すればよい(ただし、-XX:+UseG1GCの方を後ろにする必要がある)。そのほかにもG1 GCでは、1度のガーベージコレクションにかける最大時間を制限するなど、より細かな指定を行うことが可能となっている。
> java -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC クラス名
Java SE 6の現在の最新版はUpdate 12。Update 14の正式リリースは2009年第2四半期を予定しているとのことだ。
| Java API、使ってますか? 第60回 どうなる? 今後のJavaプラットフォーム(Java SE編) [2009/2/9] |
| Java SE 6最新版、Windows 2008とAMD64対応プラグイン [2009/2/5] |
| OpenJDK 6、Java互換試験に合格 - 完全FLOSSのJava SE 6誕生 [2008/6/20] |
| マイナビ、3月より書籍連動型のクリエイティブ・デザイン系セミナー開講 [12:00 2/10] |
| Linux Mint 12 KDE登場 [10:26 2/10] |
| Dell、重複排除により最大98%のデータ削減が可能なバックアップストレージを発売 [09:44 2/10] |
| 北大、「ポジトロン断層撮影法」による脳腫瘍の性質を診断する手法を開発 [09:40 2/10] |
| NICTなど、手術支援ロボット「da Vinci」の3D裸眼映像伝送実証実験を計画 [09:36 2/10] |
|
桜の開花日を当てると特別金利! 池田泉州銀行が『花咲か定期預金』13日発売 [15:48 2/10] ライフ |
|
【特別企画】2012年 VAIO春モデルカスタマイズポイント ~VAIO Z編~ [15:44 2/10] パソコン |
|
iPadでワイヤレス操作可能な16chデジタルミキサー「MACKIE DL1608」 [15:43 2/10] クリエイティブ |
|
中国銀行、今秋開設のインターネット支店の名称を公募--最優秀作品に10万円 [15:33 2/10] ライフ |
|
車検クーポンサイト「お宝車検.com」、予約専用フリーダイヤル全国版を開設 [15:21 2/10] ライフ |