2012-10-22 4 views
7

jre-6u12-windows-i586-p.exe(Oracle JREインストーラ)の解凍に7zipを使用しました。 アンパック時に、core.zip、zipper.exe、その他のファイルがあります。JREインストーラですべてのjarファイルが圧縮されないのはなぜですか?

もう一度core.zipを展開しました。私はいくつかを見つけました。 core.zipには、7つのjarファイル以外のインストール後のすべてのjarファイルが含まれています。そこ

charsets.jar 
deploy.jar 
javaws.jar 
jsse.jar 
localedata.jar 
plugin.jar 
rt.jar 

代わりに、これらのjarファイルは、私はこれらがpack200.exe & unpack200.exeによって作成されたファイルであると考え、対応するpackfiles

charsets.pack 
deploy.pack 
javaws.pack 
jsse.pack 
localedata.pack 
plugin.pack 
rt.pack 

は、対応するjarファイルを作成するには、インストール後にそれらの上で実行されて存在しています。

だから今、私はいくつかの質問を持っている

  1. なぜpack200.exeを介して実行これらの7つのファイルにのみです。彼らは他のファイルよりも大きいので私は仮定します。しかし、インストール後にすべてのjarファイルをパックするには多くの努力が払われません。&。

  2. .pack拡張子は、これらはパックされていますが、gzipされていないことを示しています。なぜOracleはgzipもやっていないのでしょうか?たとえばrt.jarパッキングの場合、サイズを45 MBから12 MBに減らし、gzipを追加すると6 MBに減らすことができます。

+1

おそらく、インストーラの場合は、サイズの縮小はごくわずかです(すべてのインストーラ自体はすでに明らかにパックされています)。また、実行時のjarファイルは、圧縮されていない形式でも利用できます.JVMを起動するたびに解凍する必要はありません。 – Sebastian

+0

@Sebastianインストーラはそれらを圧縮することができ、インストール後に圧縮解除することができます。その後、各JVMスタートごとに解凍する必要はありません。 – user93353

答えて

1

上記のjarファイルの中には、場所、言語、またはマシン固有のものがあります。おそらくOracleは、インストーラがパックファイルに複数のバージョンを用意していますか?これは.packファイルの展開によってテストできます。 Oracleは、静的なもの(つまり、jarファイル)を含むインストーラをパッケージ化するためのツールを使用しますが、特定のものを.packファイルとして含めます。ちょうどいくつかのアイデア、おそらくそこで働くことなく知る方法はありません。

+0

いいえ、私はパックファイルを解凍し、チェックしました。 – user93353

+0

oracleの内部ワークフローについて確認しましたか? –