Ho usato 7zip per decomprimere jre-6u12-windows-i586-p.exe (Oracle JRE Installer). Sul disimballaggio, ho ottenuto un core.zip, un zipper.exe e alcuni altri file.Perché tutti i file jar non sono compressi nell'installer JRE?
Ancora nell'esplosione di core.zip ho trovato alcune cose. core.zip contiene tutti i file jar proprio come sarebbe dopo l'installazione ad eccezione di 7 file jar.
charsets.jar
deploy.jar
javaws.jar
jsse.jar
localedata.jar
plugin.jar
rt.jar
Invece di questi file jar esiste la packfiles corrispondenti
charsets.pack
deploy.pack
javaws.pack
jsse.pack
localedata.pack
plugin.pack
rt.pack
Penso che questi sono i file creati da pack200.exe & unpack200.exe viene eseguito su di loro dopo l'installazione per creare i file jar corrispondenti .
Così ora ho un paio di domande
Perché sono solo questi 7 file attraversano pack200.exe. Presumo perché è più grande di altri file. Ma non ci vorrebbe tanto sforzo per imballare tutti i file jar & decomprimerli dopo l'installazione.
L'estensione .pack suggerisce che sono imballati ma non compressi con gzip. Ancora una volta perché Oracle non dovrebbe fare anche un gzip? ad esempio con l'imballaggio rt.jar si riduce la dimensione da 45 MB a 12 MB, mentre l'aggiunta di gzip lo riduce anche a 6 MB.
Probabilmente per l'installatore la riduzione delle dimensioni era trascurabile (dopo tutto l'installatore stesso era già imballato, ovviamente). Inoltre, i file di esecuzione hanno prestazioni migliori se disponibili in formato non compresso: non è necessario decomprimerli a ogni avvio di JVM. – Sebastian
@Sebastian L'installer può averli compressi e può decomprimerli come parte dell'installazione post. Quindi non sarà necessario decomprimerli a ogni avvio di JVM. – user93353