📑 Table of Contents

Pack200, specified in JSR 200[1] (J2SE 1.5), deprecated in JEP 336[2] (Java SE 11) and removed in JEP 367 (Java SE 14),[3] is a compacting archive format developed by Sun, capable of reducing JAR file sizes by up to a factor of 9,[4] with a factor of 3 to 4 seen in practice.[5][6] Pack200 is optimized for compressing JAR archive files, specifically the Java bytecode portion of the JAR files. Applications of this technology include faster Java application deployment over Java Web Start.

After Pack200, gzip compression is usually applied. In HTTP compression, such content is specified by the Content-Encoding type pack200-gzip. When stored as a file, the extension .pack.gz is used.[7]

Pack200 may also refer to the Pack200 compression tools (pack200 and unpack200) provided in the Java Development Kit from Java 5 until Java 14.

Design

edit

Pack200 modifies the contents of the Java class files in the JAR archive undergoing compression. Transformations to the class files include merging constant pools and removing duplicated attributes.[8] The format is not lossless; it is possible for a JAR file after unpacking to not be identical to how it was before packing.[9]

References

edit
  1. ^ "JSR 200: Network Transfer Format for Java Archives". Retrieved 2014-06-09.
  2. ^ "JEP 336: Deprecate the Pack200 Tools and API". Retrieved 2018-11-10.
  3. ^ "JEP 367: Remove the Pack200 Tools and API". Retrieved 2020-06-02.
  4. ^ "Pack200: A Packed Class Deployment Format For Java Applications". docs.oracle.com. Retrieved 2022-05-14.
  5. ^ "Smaller Java". dzone.com. Archived from the original on 2022-07-04. Retrieved 2022-05-14.
  6. ^ "Combining Ant, Jar, Signatures and Pack200". bfo.com. Retrieved 2022-05-14.
  7. ^ "Pack200 and Compression for Network Deployment". web.mit.edu. Retrieved 2022-05-14.
  8. ^ "Pack200 Compression Method". www.advancedinstaller.com. Retrieved 2022-05-14.
  9. ^ "Commons Compress – Commons Compress Pack200 Package". commons.apache.org. Retrieved 2022-05-14.
edit

📚 Artikel Terkait di Wikipedia

Java Web Start

Start application Sun Microsystems introduced a compression system called Pack200 in Java 1.5.0. It can compress a large jar file to one-ninth of its original

Hexspeak

txt". "MPE Error Messages (page 30-66)" (PDF). "9front system". "Pack200: A Packed Class Deployment Format For Java Applications". Retrieved November

Magic number (programming)

(bytecode) and Mach-O binaries start with hex CA FE BA BE. When compressed with Pack200 the bytes are changed to CA FE D0 0D. GIF image files have the ASCII code

Java Development Kit

jstat daemon (experimental) keytool – tool for manipulating the keystore pack200 – JAR compression tool policytool – the policy creation and management

Java version history

JEP 335: Deprecate the Nashorn JavaScript Engine JEP 336: Deprecate the Pack200 Tools and API A number of features from previous releases were dropped;

Executable compression

PackFire Known executable compressors for Java: JAR files: HASP Envelope pack200 ProGuard WAR files: HASP Envelope There are two types of compression that

Fluent interface

Pipeline (Unix) Martin Fowler, "FluentInterface", 20 December 2005 "Interface Pack200.Packer". Oracle. Retrieved 13 November 2019. Rossum, Guido van (October

HTTP compression

transformation is used. This is the default value for content coding. pack200-gzip – Network Transfer Format for Java Archives zstd – Zstandard compression