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 ÆÄÀÏ·Î º¯È¯ÇÕ´Ï´Ù. |
Ŭ·¡½º 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 ¿£Áø
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ
ÂüÁ¶ÇϽʽÿÀ.