2012-10-22 13 views
7

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

  1. 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.

  2. 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.

+1

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

+0

@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

risposta

1

Alcuni dei file jar menzionati sembrano essere specifici per posizione, lingua o macchina. Forse Oracle include più versioni nei file del pacchetto da cui l'installer può scegliere? Questo potrebbe essere verificato scompattando i file .pack. Oracle può utilizzare uno strumento per il pacchetto di programmi di installazione che include roba statica così com'è (cioè file jar), ma include elementi specifici come file .pack. Solo alcune idee, probabilmente nessun modo per saperlo senza lavorare lì.

+0

No, ho decompresso il file del pacchetto e controllato. – user93353

+0

Hai controllato il flusso di lavoro interno di oracle? –