Tôi đã sử dụng 7zip để giải nén jre-6u12-windows-i586-p.exe (Trình cài đặt Oracle JRE). Khi giải nén, tôi có một tệp core.zip, một tệp zip.exe và một vài tệp khác.Tại sao tất cả các tệp jar không được nén trong trình cài đặt JRE?
Một lần nữa trên phát nổ core.zip Tôi đã tìm thấy một vài điều. core.zip chứa tất cả các tệp jar giống như nó sẽ sau khi cài đặt ngoại trừ 7 tệp jar.
charsets.jar
deploy.jar
javaws.jar
jsse.jar
localedata.jar
plugin.jar
rt.jar
Thay vì những tập tin jar có tồn tại các packfiles tương ứng
charsets.pack
deploy.pack
javaws.pack
jsse.pack
localedata.pack
plugin.pack
rt.pack
Tôi nghĩ rằng đây là những file được tạo ra bởi pack200.exe & unpack200.exe đang chạy trên chúng sau khi cài đặt để tạo ra các tập tin jar tương ứng .
Vì vậy, bây giờ tôi có một vài câu hỏi
Tại sao chỉ là những 7 file chạy qua pack200.exe. Tôi giả sử nó bởi vì chúng lớn hơn các tệp khác. Nhưng nó sẽ không mất nhiều nỗ lực để đóng gói tất cả các tập tin jar & giải nén chúng sau khi cài đặt.
Tiện ích mở rộng .pack cho biết các gói này được đóng gói nhưng không được nén. Một lần nữa tại sao Oracle cũng không làm một gzip? ví dụ với gói rt.jar giảm kích thước từ 45 MB xuống 12 MB, trong khi thêm gzip cũng giảm xuống còn 6 MB.
Có lẽ đối với trình cài đặt, việc giảm kích thước là không đáng kể (sau khi tất cả bản thân trình cài đặt đã được đóng gói, rõ ràng). Và các lọ thời gian chạy hoạt động tốt hơn khi có sẵn ở dạng không nén - không cần giải nén chúng ở mỗi và mọi JVM đều bắt đầu. – Sebastian
@Sebastian Trình cài đặt có thể được nén và có thể giải nén chúng như một phần của cài đặt bài đăng. Sau đó, sẽ không cần phải giải nén chúng tại mỗi & mọi JVM Start. – user93353