火曜日 10 28, 2008
火曜日 10 28, 2008
Java SE 6 Update 10 の新機能の中でも、Java Kernel って響き的に興味がわいてしまうものの 1 つではないでしょうか。それなのに、まだあまり情報が整理されていないように思えるのでまとめてみます。
JRE インストーラのサイズは増加の一途。現時点で 15+MB。例えば Java がインストールされていないクライアントで、1MB に満たないようなアプレットを実行させたい、というような場合にその前にこの 15MB をダウンロード、インストールしてもらうのは、なかなか恐縮です。(下記グラフは SDN 記事「Introducing Java SE 6 Update 10」より)
この敷居を下げるべく導入されたのが Kernel インストーラです。
従来のオフラインインストーラ、オンラインインストーラに加え、Kernel インストーラが導入されました。インストーラのサイズとしては 200KB 程度で、オンラインインストーラの 1/3 程度。オンラインインストーラも一応十分小さいので、注目すべきはそのサイズではなく、Kernel インストーラでインストールされた Java が、全てをダウンロードするのを待たずに、アプリが必要とするファイルをダウンロードしつつそのアプリを実行できる点です。オンラインインストーラでは全てのファイルをインストーラがダウンロードするまでインストーラが完了しませんが、Kernel インストーラの場合はインストーラはすぐに完了し、Java プログラムを実行できる状態にしつつ、バックグラウンドでインストールを継続するわけです。結果的に 3-4MB 程のダウンロードサイズでほとんどのアプリを実行することができるようになります。
しかしながら、いったいどんな仕掛けなのでしょう。理解しておきたいポイントは 2 つです。ライブラリがモジュラー化されていることと、それが一時的であることです。実際に Kernel インストーラを実行してみてみます。
新しいカーネルインストーラを実行する様子を結構詳しくみてきましたが、実はこのインストーラは単体で実行しても、ふーん、というかあまり面白いものではないです。とても有効なケースとしては、(必要なバージョンの) Java がインストールされていないマシンでアプレットが埋め込まれている web ページを開く、というようなもので、これまた Update 10 で新しく入った Deployment Toolkit と組み合わせると、驚くほど素早く Java をインストール、アプレットを起動することができます。ここらへんは 9 月のホットトピックセミナーでのデモをブログでも少し触れているので、こちらも参考にしてみて下さい。
もうちょっと噛み砕いて簡単にしたトピックを書こうとしてます。
ところでキャッシュに残るのは jnlp ファイルって言う認識で合ってましたっけ「(゚~゚ )?
Posted by jack sparrow on 10月 29, 2008 at 01:35 午後 JST #
情報提供どんどんおねがいします。ローカルにバイナリも残りますよ。
Posted by ogino on 10月 30, 2008 at 12:16 午前 JST #
おぉ!
そだったですか!
これで謎は解明されたので、早速例のトピックの後編を執筆します。
この辺正確な情報を記載しないと、多くの人に間違った知識が流れ出してしまうので、注意深く執筆させていただきます。
Posted by jack sparrow on 10月 30, 2008 at 09:34 午前 JST #