2012-10-22 27 views
7

我用7zip的解包JRE-6u12 - 窗口i586的-p.exe(甲骨文JRE安裝程序)。 在拆包,我得到了core.zip,一個zipper.exe和其他一些文件。爲什麼所有jar文件都不在JRE安裝程序中壓縮?

再次推翻有關core.zip我發現了一些東西。 core.zip包含所有的jar文件,就像安裝後的jar文件一樣,除了7個jar文件。

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

而不是這些jar文件存在相應的打包文件

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

我覺得這些都是由pack200.exe創建的文件& unpack200.exe安裝後在它們上面運行創建相應的jar文件。

所以現在我有幾個問題

  1. 爲什麼只有這7個文件通過pack200.exe運行。我認爲它是因爲它們比其他文件更大。但它不會採取大的力氣收拾所有jar文件&安裝後解壓它們。

  2. 的.pack擴展表明,這些被包裝而不是gzip壓縮。再次爲什麼Oracle不做gzip呢?例如使用rt.jar打包將大小從45 MB減小到12 MB,而添加gzip時也將其減小到6 MB。

+1

可能對於安裝程序來說,尺寸減小可以忽略不計(顯然,所有安裝程序本身已經打包好了)。運行時jar在未壓縮的形式下可以更好地執行 - 在每個JVM啓動時都不需要對它們進行解壓縮。 – Sebastian

+0

@Sebastian安裝程序可以壓縮它們,並且可以在安裝後將其解壓縮。那麼在每個JVM Start中都不需要解壓縮它們。 – user93353

回答

1

提到的一些jar文件似乎是位置,語言或機器特定的。也許Oracle在包文件中包含多個版本供安裝人員選擇?這可以通過解包.pack文件來測試。 Oracle可能使用工具來軟件包安裝程序,其包括靜態東西原樣(即jar文件),但包括具體的東西作爲.pack文件。只是一些想法,可能沒有辦法知道沒有在那裏工作。

+0

不,我打開包文件並檢查。 – user93353

+0

您是否檢查過有關oracle的內部工作流程? –

相關問題