我用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文件。
所以現在我有幾個問題
爲什麼只有這7個文件通過pack200.exe運行。我認爲它是因爲它們比其他文件更大。但它不會採取大的力氣收拾所有jar文件&安裝後解壓它們。
的.pack擴展表明,這些被包裝而不是gzip壓縮。再次爲什麼Oracle不做gzip呢?例如使用rt.jar打包將大小從45 MB減小到12 MB,而添加gzip時也將其減小到6 MB。
可能對於安裝程序來說,尺寸減小可以忽略不計(顯然,所有安裝程序本身已經打包好了)。運行時jar在未壓縮的形式下可以更好地執行 - 在每個JVM啓動時都不需要對它們進行解壓縮。 – Sebastian
@Sebastian安裝程序可以壓縮它們,並且可以在安裝後將其解壓縮。那麼在每個JVM Start中都不需要解壓縮它們。 – user93353