JavaTM 2 Platform
Standard Ed. 5.0

java.util.jar
Ŭ·¡½º Pack200

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.jar.Pack200

public abstract class Pack200
extends Object

JAR ÆÄÀÏÀ» Pack200 Çü½ÄÀÇ ÆѽºÆ®¸²¿¡ º¯È¯À¸·Î Çϰųª Pack200 Çü½ÄÀÇ ÆѽºÆ®¸²À» JAR ÆÄÀÏ·Î º¯È¯ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº http://jcp.org/aboutJava/communityprocess/review/jsr200/index.html ¡¸Network Trasfer Format JSR 200 Specification¡¹¸¦ ÂüÁ¶ÇϽʽÿÀ.

º¸Åë, packer ¿£ÁøÀº Web »çÀÌÆ®¿¡ JAR ÆÄÀÏÀ» ¹èÄ¡ ¶Ç´Â È£½ºÆ® ÇÏ´Â °æ¿ì¿¡ ¾îÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù. unpacker ¿£ÁøÀº ¹ÙÀÌÆ® ½ºÆ®¸²À» ¿øÀÇ JAR Çü½ÄÀ¸·Î º¯È¯ÇÏ´Â °æ¿ì¿¡ ¹èÄ¡ ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.

ÀÌÇÏ¿¡ packer ¹× unpacker »ç¿ë¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

import java.util.jar.Pack200;
 import java.util.jar.Pack200. *;
 ... // Create the Packer object Packer packer = Pack200.newPacker();
 // Initialize the state by setting the desired properties Map p = packer.properties(); // take more time choosing codings for better compression p.put(Packer.EFFORT, "7");  // default is "5" // use largest-possible archive segments (>10% better compression).  p.put(Packer.SEGMENT_LIMIT, "-1"); // reorder files for better compression.  p.put(Packer.KEEP_FILE_ORDER, Packer.FALSE); // smear modification times to a single value.  p.put(Packer.MODIFICATION_TIME, Packer.LATEST); // ignore all JAR deflation requests, // transmitting a single request to use "store" mode.  p.put(Packer.DEFLATE_HINT, Packer.FALSE); // discard debug attributes p.put(Packer.CODE_ATTRIBUTE_PFX+"LineNumberTable", Packer.STRIP); // throw an error if an attribute is unrecognized p.put(Packer.UNKNOWN_ATTRIBUTE, Packer.ERROR); // pass one class file uncompressed: p.put(Packer.PASS_FILE_PFX+0, "mutants/Rogue.class"); try { JarFile jarFile = new JarFile("/tmp/testref.jar"); FileOutputStream fos = new FileOutputStream("/tmp/test.pack"); // Call the packer packer.pack(jarFile, fos); jarFile.close(); fos.close();         File f = new File("/tmp/test.pack"); FileOutputStream fostream = new FileOutputStream("/tmp/test.jar"); JarOutputStream jostream = new JarOutputStream(fostream); Unpacker unpacker = Pack200.newUnpacker(); // Call the unpacker unpacker.unpack(f, jostream); // Must explicitly close the output.  jostream.close(); } catch (IOException ioe) { ioe.printStackTrace(); } 

gzip¸¦ »ç¿ëÇØ ¾ÐÃàµÈ Pack200 ÆÄÀÏÀº HTTP/1. 1 Web ¼­¹ö¿¡ ¼ö¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹èÄ¡ ¾îÇø®ÄÉÀ̼ÇÀº,"Accept-Encoding=pack200-gzip"¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº Ŭ¶óÀ̾ðÆ® ¾îÇø®ÄÉÀ̼ÇÀÌ Pack200 ·Î encode µÇ¾î ¶ÇÇÑ gzip ·Î ¾ÐÃàµÈ ÆÄÀÏÀÇ ¹öÀüÀ» ¿ä±¸ÇÏ°í ÀÖ´Â °ÍÀ» ¼­¹ö¿¡ ³ªÅ¸³À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ¡¸Java Deployment Guide¡¹¸¦ ÂüÁ¶ÇϽʽÿÀ.

ƯÈ÷ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº ÇÑ, null Àμö¸¦ ÀÌ Å¬·¡½ºÀÇ »ý¼ºÀÚ ¶Ç´Â ¸Þ¼­µå¿¡ °Ç³×ÁÖ¸é, NullPointerExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.5

Áßø(Nested) Ŭ·¡½º °³¿ä
static interface Pack200.Packer
          packer ¿£ÁøÀº ´Ù¾çÇÑ º¯È¯À» ÀÔ·Â JAR ÆÄÀÏ¿¡ Àû¿ëÇØ, ÆѽºÆ®¸²À» gzip ³ª zip µîÀÇ ¾Ð·ÂÀ» »ç¿ëÇØ Å«ÆøÀ¸·Î ¾ÐÃà °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù.
static interface Pack200.Unpacker
          unpacker ¿£ÁøÀº ÆÑ µÈ ½ºÆ®¸²À» JAR ÆÄÀÏ·Î º¯È¯ÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
static Pack200.Packer newPacker ()
          Packer¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃëµæÇÕ´Ï´Ù.
static Pack200.Unpacker newUnpacker ()
          Unpacker¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃëµæÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

¸Þ¼­µåÀÇ »ó¼¼

newPacker

public static Pack200.Packer  newPacker()
Packer¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃëµæÇÕ´Ï´Ù.
  • ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.util.jar.Pack200.Packer°¡ Á¤Àǵǰí ÀÖÀ¸¸é, °ªÀÌ ±¸»ó ±¸Çö Ŭ·¡½ºÀÇ ¿ÏÀü ¼ö½Ä¸íÀÌ µÈ´Ù. ÀÌ°ÍÀº Packer¸¦ ±¸ÇöÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ÀÌ Å¬·¡½º°¡ ·Îµå µÇ¾î ±× ÀνºÅϽº°¡ ÀÛ¼ºµÈ´Ù. ÀÌ Ã³¸®¿¡ ½ÇÆÐÇßÀ» °æ¿ì, ¹ÌÁöÁ¤ÀÇ ¿¡·¯°¡ Throw µÈ´Ù.

  • ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¸¦ »ç¿ëÇØ ±¸ÇöÀÌ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ½Ã½ºÅÛÀÇ µðÆúÆ® ±¸Çö Ŭ·¡½ºÀÇ ÀνºÅϽº°¡ ÀÛ¼ºµÇ¾î °á°ú°¡ ¸®ÅϵȴÙ.

  • ÁÖ: ¸®ÅÏµÈ °´Ã¼¸¦ º¹¼ö thread°¡ µ¿½Ã¿¡ »ç¿ëÇÏ´Â °æ¿ì, ±× °´Ã¼°¡ ÀûÁ¤ÇÏ°Ô µ¿ÀÛÇÏ´Â °ÍÀº º¸ÁõµÇÁö ¾Ê½À´Ï´Ù. multi-threadÀÇ ¾îÇø®ÄÉÀ̼ÇÀº º¹¼öÀÇ packer ¿£ÁøÀ» ÇÒ´çÇÏ´ÂÁö, ¶ôÀ» °¡Áö´Â 1°³ÀÇ ¿£ÁøÀÇ »ç¿ëÀ» Á÷·ÄÈ­ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

    ¹Ýȯ°ª:
    »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ¾ú´ø Packer ¿£Áø

    newUnpacker

    public static Pack200.Unpacker  newUnpacker()
    Unpacker¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃëµæÇÕ´Ï´Ù.
  • ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.util.jar.Pack200.Unpacker°¡ Á¤Àǵǰí ÀÖÀ¸¸é, °ªÀº ±¸»ó ±¸Çö Ŭ·¡½ºÀÇ ¿ÏÀü ¼ö½Ä¸íÀÌ µÈ´Ù. ÀÌ°ÍÀº Unpacker¸¦ ±¸ÇöÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ÀÌ Å¬·¡½º°¡ ·Îµå µÇ¾î ±× ÀνºÅϽº°¡ ÀÛ¼ºµÈ´Ù. ÀÌ Ã³¸®¿¡ ½ÇÆÐÇßÀ» °æ¿ì, ¹ÌÁöÁ¤ÀÇ ¿¡·¯°¡ Throw µÈ´Ù.

  • ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¸¦ »ç¿ëÇØ ±¸ÇöÀÌ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ½Ã½ºÅÛÀÇ µðÆúÆ® ±¸Çö Ŭ·¡½ºÀÇ ÀνºÅϽº°¡ ÀÛ¼ºµÇ¾î °á°ú°¡ ¸®ÅϵȴÙ.

  • ÁÖ: ¸®ÅÏµÈ °´Ã¼¸¦ º¹¼ö thread°¡ µ¿½Ã¿¡ »ç¿ëÇÏ´Â °æ¿ì, ±× °´Ã¼°¡ ÀûÁ¤ÇÏ°Ô µ¿ÀÛÇÏ´Â °ÍÀº º¸ÁõµÇÁö ¾Ê½À´Ï´Ù. multi-threadÀÇ ¾îÇø®ÄÉÀ̼ÇÀº º¹¼öÀÇ unpacker ¿£ÁøÀ» ÇÒ´çÇÏ´ÂÁö, ¶ôÀ» °¡Áö´Â 1°³ÀÇ ¿£ÁøÀÇ »ç¿ëÀ» Á÷·ÄÈ­ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

    ¹Ýȯ°ª:
    »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ¾ú´ø Unpacker ¿£Áø

    JavaTM 2 Platform
    Standard Ed. 5.0

    Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.