मैंने jz-6u12-windows-i586-p.exe (ओरेकल जेआरई इंस्टॉलर) को अनपैक करने के लिए 7zip का उपयोग किया। अनपॅकिंग पर, मुझे कोर.ज़िप, एक zipper.exe और कुछ अन्य फाइलें मिलीं।जेआरई इंस्टॉलर में सभी जार फ़ाइलों को संपीड़ित क्यों नहीं किया जाता है?
कोरोडिंग विस्फोट पर फिर से मुझे कुछ चीजें मिलीं। core.zip में सभी जार फ़ाइलें शामिल हैं जैसे कि यह 7 जार फ़ाइलों को छोड़कर इंस्टॉलेशन के बाद होगी।
charsets.jar
deploy.jar
javaws.jar
jsse.jar
localedata.jar
plugin.jar
rt.jar
इसके बजाय इन जार फ़ाइलों के
इसी packfiles
charsets.pack
deploy.pack
javaws.pack
jsse.pack
localedata.pack
plugin.pack
rt.pack
मुझे लगता है कि इन इसी जार फ़ाइलों को बनाने के pack200.exe द्वारा बनाई गई फ़ाइलों & unpack200.exe स्थापना के बाद उन पर चलाया जाता है कर रहे हैं वहां मौजूद ।
तो अब मैं क्यों केवल इन 7 फ़ाइलें हैं pack200.exe के माध्यम से चलाने में कुछ प्रश्नों का
है। मैं इसे मानता हूं क्योंकि वे अन्य फाइलों से बड़े हैं। लेकिन यह सभी जार फ़ाइलों को पैक करने के लिए इतना प्रयास नहीं करेगा & स्थापना के बाद उन्हें अनपैक करें।
.pack एक्सटेंशन से पता चलता है कि ये पैक किए गए हैं लेकिन gzipped नहीं हैं। फिर ओरेकल एक gzip क्यों नहीं करेगा? उदाहरण के लिए rt.jar पैकिंग के साथ 45 एमबी से 12 एमबी के आकार को कम कर देता है, जबकि gzip जोड़ने से यह 6 एमबी तक कम हो जाता है।
शायद इंस्टॉलर के लिए आकार में कमी नगण्य थी (सभी इंस्टॉलर को पहले से ही पैक किया गया था, जाहिर है)। और रनटाइम जार असंपीड़ित रूप में उपलब्ध होने पर बेहतर प्रदर्शन करते हैं - प्रत्येक JVM प्रारंभ में उन्हें असम्पीडित करने की आवश्यकता नहीं होती है। – Sebastian
@ सेबेस्टियन इंस्टॉलर उन्हें संपीड़ित कर सकता है और यह पोस्ट इंस्टॉल के हिस्से के रूप में उन्हें असम्पीडित कर सकता है। फिर प्रत्येक JVM प्रारंभ में उन्हें असम्पीडित करने की आवश्यकता नहीं होगी। – user93353