JMXを活用したJava VisualVM

次期JavaプラットフォームではJMXがアップデートされ、管理機能が大幅に強化される予定となっているが、セッションの後半にはそれに関連して、JMXを活用した高機能なトラブルシューティングツールである「Java VisualVM」が紹介され、開発者のLuis Miguel-Alventosa氏、Tomas Hurka氏によるデモンストレーションが行われた。

VisualVMではシステムプロパティやスレッドの状態、モニタ、ヒープダンプなどといったJVMの持つさまざまな情報を視覚化することができる。これによって実行中のJavaアプリケーションの状態を一目で把握することが可能となり、開発の効率を大幅に向上させる。

VisualVMはdev.java.net上のプロジェクトサイトにおいて公開されており、6日(現地時間)に最新版となる1.0 RCが公開された。

VisualVMによるメモリ・リークの表示 その1

VisualVMによるメモリ・リークの表示 その2

Java実行環境のサイズを改善する"コンシューマJRE"

今年秋に登場予定のJRE6 Update10では、Java実行環境のインストールの仕組みが大幅に変更される予定で、Sunではこれを"コンシューマJRE"と呼んでいる。コンシューマJREについてはいずれ別の機会に詳しく紹介したいと思うが、簡単に言えば最初はコアとなる機能をまとめた「Java Kernel」のみがインストールされ、残りの部分についてはアプリケーション実行時に必要に応じて自動的に追加されるという仕組みである。

Java実行環境であるJREのサイズはバージョンを追うごとに大きくなり続けている。したがってダウンロードやインストールにかかる時間が増しているわけだが、これは特にJava Web Startなどによって実行環境ごとアプリケーションを配布する場合には無視できないオーバーヘッドとなる。そこで必要最低限の機能のみを切り分けられるようにすることによってこの状況を改善しようというわけだ。

コンシューマJREにおいて興味深いのは、アプレットのアーキテクチャにも大幅な変更が加わえられることだ。従来のアプレットは、すべてWebブラウザ内に用意されたJVMによってWebブラウザと同じプロセスとして動作していた。新しいアーキテクチャでは、Webブラウザの外のJVM上で動作させることが可能となる。従来のアプレットはお世辞にも評判のいい存在とは言えなかったが、この新アーキテクチャによってアプレットに対する評価が一新するかもしれない。JRE 6u10はJDK6のプロジェクトサイトにおいてプレビュー版が公開されている。

新しいアプレット実行の仕組み