BEAのJDK5.0、JRockitを試す

MYCOMジャーナルにBEAのJRockitについての記事が載っていた。
http://journal.mycom.co.jp/articles/2006/05/18/bea/index.html

GCの遅延時間について面白い拡張があるようだ。

JRockitが提供しているガベージコレクタは、ガベージコレクタの実行時間を平均的に分散させ、最大遅延時間を保証することに成功している。

この記事を読むまではBEAにあまり興味がなかったのだが、これを読んで急に興味が沸いてしまった。

BEAのサイトは記事にもあるように,http://www.bea.comである。
日本のサイトはhttp://jp.bea.com/だ。
ちなみにhttp://www.bea.co.jp/に行くと英会話学校のようだ。

BEAのサイトはとてもシンプルなつくりで好感が持てる。
今まで知らなかったが、JRockitは記事にもあるように簡単に、無料でダウンロードができる。

http://commerce.bea.com/products/weblogicjrockit/accept_terms50.jsp

上でライセンスを読んでからI Acceptを押せば、ダウンロード画面に移るはずだ。
後は自分のプラットフォームに合う製品をダウンロードすれば良い。
Windows,Linux共に32Bit,64Bit対応が公開されている。
きちんと、

BEA JRockit® 5.0 R26.3.0-32 is certified to be compatible with J2SE 5.0 Update 6

このように書いてあるのがとても嬉しい。
このへんはぜひIBMも見習ってほしい。
SR1が出たそうだが、何の情報もないので落とすのもやめてしまった。

さてSunとIBMが既に入っている環境に入れるのはちょっとだけ躊躇いつつもインストーラを実行してみる。ライセンスに同意するとMercuryProfilingToolというものが付属で付いてくるようで、さらにライセンスに同意が必要。ここは面倒くさい。
デフォルトのインストールディレクトリは、

C:\Program Files\Java\jrockit-R26.3.0-jdk1.5.0_06

とのこと。
ここには既にSunのJREが入っているので、適当に変更した。
またディレクトリを変更しようとするとインストーラが日本語のフォルダに対応していないようで豆腐の羅列が表示されてしまう。漢字やスペースのあるフォルダは避けたほうが無難な気がした。
ディレクトリを指定すると、

Do you want to install JRockit as public the JRE for this computer?

と聞いてくるのでここはトラブルを回避すべくNoと答えた。*1
綺麗な広告が表示されつつ、インストールが実行され無事に終了。とても読んでいる暇がなかったが、商用の仕様も無料なことに改めて気付き感心した。


インストールされたディレクトリにいくと見慣れたフォルダが並んでいる。
うれしいことにsrc.zipもちゃんと付いてきた。
Sunとクラスライブラリは同じとあったので別になくても構わないのかもしれないがあるとやはりうれしい。IBMのJDK5.0Eclipse同梱版にはsrc.zipが付いてこなかったのでがっかりしていた。IBMのWASやWSADにはsrc.zipが付いてきているのを以前に確認しているので、なんらかの事故であることを願っている。

さて、恒例のバージョン表記

java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
BEA JRockit(R) (build R26.3.0-32-58710-1.5.0_06-20060308-2022-win-ia32, )

JRockit Management Consoleというものが付いてくる。
JMXJRockitの拡張APIによる管理コンソールのようだ。
http://edocs.bea.com/jrockit/tools/usingjmc/monitoring.html
自分自身について診てもらおうとしてみたがちょっとダメだった。
上のURLの記事を見るとタコメータとかが表示されていて面白そう。

またJRA(JRockit Runtime Analyzer)というプロファイラも付いてくる。
ヒープビューや、インスタンスビュー等があるところを見るとかなり有益な情報が得られそうだ。

さらにMemoryLeakDetecterに先述のMercury Diagnostics Profilerとおまけがかなり充実している。
今はまだこれらを使いこなすためドキュメントを読む時間がないのだが、これは便利そうだ。

BEAのJDK5.0はお勧めかもしれない。

*1:どこもMSかSunしかテストしてないでしょうから少し不安だっただけです。