Âü°í: ÀÌ Á¤º¸¿Í ÀÌ Á¤º¸°¡ Áö¿øÇÏ´Â Á¦Ç°À» »ç¿ëÇϱâ Àü¿¡ ¹Ýµå½Ã ÁÖÀÇ»çÇ×ÀÇ ÀÏ¹Ý Á¤º¸¸¦ ÀÐÀ¸½Ê½Ã¿À.
ÀÌ »ç¿ëÀÚ ¾È³»¼ °³Á¤ÆÇÀº IBM Runtime Environment for Linux on AMD64 architecture, Java 2 Technology Edition, ¹öÀü 1.4.2¿¡ Àû¿ëµË´Ï´Ù.
(c) Copyright Sun Microsystems, Inc. 1997, 2003, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.
(c) Copyright International Business Machines Corporation, 1999, 2004. All rights reserved.
ÀÌ »ç¿ëÀÚ ¾È³»¼´Â IBM(R) Runtime Environmentfor Linux(TM) on AMD64 architecture¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
IBM Runtime Environment¿¡´Â Java(TM) Virtual Machine (JVM), ÇÙ½É Sun Microsystems Java Ŭ·¡½º ¹× Áö¿ø ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù. Runtime Environment¿¡´Â SDK ÆÐŰÁö¿¡ ÀÖ´Â ¸ðµç Ŭ·¡½º°¡ ÀÖÁö´Â ¾Ê½À´Ï´Ù.
»ç¿ëÀÚ ¾È³»¼¿¡¼´Â Runtime Environment¿¡ ´ëÇÑ ÀÏ¹Ý Á¤º¸¿Í Runtime Environment¸¦ Sun¿¡¼ ±¸ÇöÇÑ °Í°ú IBM¿¡¼ ±¸ÇöÇÑ °Í °£ÀÇ Â÷ÀÌ¿¡ ´ëÇÑ Æ¯Á¤ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù. »ç¿ëÀÚ ¾È³»¼¸¦ Sun À¥ »çÀÌÆ® http://java.sun.com¿¡ ÀÖ´Â ´Ù¸¥ ´Ù¾çÇÑ Ã¥µé°ú °°ÀÌ Àд °ÍÀÌ ÁÁ½À´Ï´Ù.
IBM JVM Áø´Ü ¾È³»¼¿¡´Â IBM JVM¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸°¡ µé¾î ÀÖ½À´Ï´Ù.
SDK for Linux°¡ Å×½ºÆ®µÈ ȯ°æ ¸ñ·ÏÀ» º¸·Á¸é http://www-106.ibm.com/developerworks/java/jdk/linux/tested.htmlÀ» ÂüÁ¶ÇϽʽÿÀ.
Runtime Environment for Linux´Â SDK¿¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç Java ÀÀ¿ëÇÁ·Î±×·¥¸¸ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. SDK¸¦ ¼³Ä¡Çϸé Runtime Environment°¡ Æ÷ÇԵ˴ϴÙ.
"Runtime Environment" ¹× "Java Virtual Machine"À̶ó´Â ¿ë¾î´Â ÀÌ ¾È³»¼¿¡¼ »óÈ£ ±³È¯ÀûÀ¸·Î »ç¿ëµË´Ï´Ù.
Runtime Environment¿¡´Â JVM(Java Virtual Machine), Java Ŭ·¡½º ¹× Áö¿ø ÆÄÀÏÀÌ µé¾î ÀÖ½À´Ï´Ù. Runtime Environment¿¡´Â SDK¿¡ Àִ Ŭ·¡½º ¼ºê¼¼Æ®¸¸ Æ÷ÇԵǾî ÀÖÀ¸¸ç Java Ŭ·¡½º¸¦ ½ÇÇàÇÒ ¼ö ÀÖÁö¸¸ Java ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÒ ¼ö´Â ¾ø½À´Ï´Ù.
Runtime Environment for Linux¿¡´Â ·±Å¸ÀÓ ½Ã ÇÁ·Î±×·¥ Áö¿ø¿¡ ÇÊ¿äÇÑ Å¬·¡½º ÆÄÀÏ ¹× 2Áø ¿ÀºêÁ§Æ® ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù. Runtime Environment for Linux¿¡´Â ¾ÖÇø´ ºä¾î³ª Java ÄÄÆÄÀÏ·¯(javac) ¶Ç´Â °³¹ß ½Ã½ºÅÛ¿¡¸¸ °ü·ÃµÈ Ŭ·¡½º µî°ú °°Àº °³¹ß µµ±¸´Â Æ÷ÇԵǾî ÀÖÁö ¾Ê½À´Ï´Ù.
¶ÇÇÑ Runtime Environment for Linux¿¡ »ç¿ëÇϵµ·Ï Java Communications API(Application Programming Interface) ÆÐŰÁö°¡ Á¦°øµË´Ï´Ù. Java Communications API¸¦ ¼³Ä¡ÇÑ °æ¿ì JavaComm API »ç¿ëÀÚ ¾È³»¼¿¡¼ ÀÌ¿¡ °üÇÑ Á¤º¸¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù.
LICENSE_xx.html ÆÄÀÏ¿¡´Â Runtime Environment for Linux ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇÑ ¶óÀ̼¾½º °è¾àÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. (xx´Â ¾ð¾îÀÇ ¾à¾îÀÔ´Ï´Ù.)
¶óÀ̼¾½º °è¾àÀ» º¸°Å³ª ÀμâÇÏ·Á¸é À¥ ºê¶ó¿ìÀú¿¡¼ ÆÄÀÏÀ» ¿©½Ê½Ã¿À.
JIT(just-in-time) ÄÄÆÄÀÏ·¯(libjitc.so)´Â ½ÇÇà ½Ã Java ÀÀ¿ëÇÁ·Î±×·¥ ¹× ¾ÖÇø´¿¡¼ ÀÚÁÖ »ç¿ëµÇ´Â ¹ÙÀÌÆ® ÄÚµå ¼ø¼¿¡ ´ëÇØ ½Ã½ºÅÛ Äڵ带 µ¿ÀûÀ¸·Î »ý¼ºÇÕ´Ï´Ù.
Linux¿ë Runtime Environment¿¡´Â ±âº»ÀûÀ¸·Î »ç¿ë °¡´ÉÇÑ JIT(libjitc.so)°¡ ÀÖ½À´Ï´Ù. Java ÀÀ¿ëÇÁ·Î±×·¥, ¾ÖÇø´ ¶Ç´Â ÄÄÆÄÀÏ·¯¿¡ ¹®Á¦°¡ ÆÄ±ÞµÇ´Â °ÍÀ» ¸·±â À§ÇØ JIT¸¦ »ç¿ë ºÒ°¡´É Çϵµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
JIT¸¦ »ç¿ë ºÒ°¡´ÉÇÏ°Ô ÇÏ·Á¸é -Xint ¿É¼ÇÀ» »ç¿ëÇϽʽÿÀ. ÀÀ¿ëÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â shell ÇÁ·ÒÇÁÆ® â¿¡¼ ´ÙÀ½À» ÀÔ·ÂÇϽʽÿÀ.
java -Xint class
JITÀÇ »ç¿ë °¡´É ¿©ºÎ¸¦ È®ÀÎÇÏ·Á¸é ½© ÇÁ·ÒÇÁÆ®¿¡¼ ´ÙÀ½À» ÀÔ·ÂÇϽʽÿÀ.
java -version
JIT°¡ »ç¿ëµÇ°í ÀÖÀ¸¸é ´ÙÀ½ ¸Þ½ÃÁö°¡ Ç¥½ÃµË´Ï´Ù.
(JIT enabled)
JIT°¡ »ç¿ëµÇ°í ÀÖÁö ¾ÊÀ¸¸é ´ÙÀ½ ¸Þ½ÃÁö°¡ Ç¥½ÃµË´Ï´Ù.
(JIT disabled)
JNI(Java Native Interface)´Â Runtime Environment¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. JNI »ç¿ë¿¡ °üÇÑ Á¤º¸´Â Sun À¥ »çÀÌÆ®, http://java.sun.com/j2se/1.4.2/docs/guide/jni¸¦ ÂüÁ¶ÇϽʽÿÀ.
IBMÀº ÀÌ ¸±¸®½º¿¡¼ NMI(Native Method Interface)¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥¿¡¼ ÀÌ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À.
Runtime Environment¸¦ ¼³Ä¡ÇÑ ÈÄ ½© ·Î±×ÀÎ ½ºÅ©¸³Æ®¸¦ ÆíÁýÇÏ¿© PATH ¸í·É¹®¿¡ ´ÙÀ½ µð·ºÅ丮¸¦ Ãß°¡ÇϽʽÿÀ.
/opt/IBMJava2-142/jre/bin
Runtime Environment¸¦ /opt/IBMJava2-142/ ÀÌ¿ÜÀÇ ´Ù¸¥ µð·ºÅ丮¿¡ ¼³Ä¡ÇÑ °æ¿ì /opt/IBMJava2-142/¸¦ Runtime Environment¸¦ ¼³Ä¡ÇÑ µð·ºÅ丮·Î ¹Ù²Ù½Ê½Ã¿À.
Runtime Environment for Linux¸¦ Á¦°ÅÇÏ´Â µ¥ »ç¿ëµÇ´Â ÇÁ·Î¼¼½º´Â ¼³Ä¡ °¡´ÉÇÑ RPM(Red Hat Package Manager) ÆÐŰÁö¸¦ ¼³Ä¡ÇÑ °æ¿ì ¶Ç´Â ¾ÐÃàµÈ TAR(Tape Archive) ÆÐŰÁö¸¦ ¼³Ä¡ÇÑ °æ¿ì¿¡ µû¶ó ´Ù¸¨´Ï´Ù. Áö½Ã»çÇ×Àº ¼³Ä¡ °¡´ÉÇÑ RPM ÆÐŰÁö ¼³Ä¡ Á¦°Å ¶Ç´Â ¾ÐÃàµÈ TAR ÆÐŰÁö ¼³Ä¡ Á¦°Å¸¦ ÂüÁ¶ÇϽʽÿÀ.
¼³Ä¡ °¡´ÉÇÑ RPM ÆÐŰÁö¸¦ ¼³Ä¡ÇÑ °æ¿ì Linux¿ë Runtime Environment¸¦ ¼³Ä¡ Á¦°ÅÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
rpm -e IBMJava2-JRE-1.4.2-0.0
¾ÐÃàµÈ TAR ÆÐŰÁö¸¦ ¼³Ä¡ÇÑ °æ¿ì Linux¿ë Runtime Environment¸¦ Á¦°ÅÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
java ÅøÀº Java ÀÀ¿ëÇÁ·Î±×·¥À» ½ÇÇàÇÕ´Ï´Ù. ¸Å°³º¯¼ö·Î Ãʱâ Java Ŭ·¡½º À̸§ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ Å¬·¡½º À̸§À» Á¦°øÇÏÁö ¾ÊÀ¸¸é »ç¿ë¹ý ¸Þ½ÃÁö°¡ ÀμâµË´Ï´Ù.
JVMÀº ºÎÆ®½ºÆ®·¦ Ŭ·¡½º °æ·Î, ¼³Ä¡µÈ È®Àå ¹× »ç¿ëÀÚ Å¬·¡½º °æ·Î µîÀÇ ¼¼ °¡Áö À§Ä¡ ¼¼Æ®¿¡¼ »ç¿ëµÇ´Â ½ÃÀÛ Å¬·¡½º ¹× ±âŸ Ŭ·¡½º¸¦ °Ë»öÇÕ´Ï´Ù. Ŭ·¡½º À̸§ ¶Ç´Â JAR ÆÄÀÏ À̸§ ´ÙÀ½ÀÇ Àμö°¡ ±âº» ÇÔ¼ö¿¡ Àü´ÞµË´Ï´Ù.
javaw ¸í·ÉÀº java¿Í µ¿ÀÏÇÕ´Ï´Ù. ´Ü, javaw¿¡´Â ¿¬°üµÈ ÄÜ¼Ö Ã¢ÀÌ ¾ø½À´Ï´Ù. ¸í·É ÇÁ·ÒÇÁÆ® âÀÌ Ç¥½ÃµÇÁö ¾Ê°Ô ÇÏ·Á¸é javaw¸¦ »ç¿ëÇϽʽÿÀ. javaw ½ÇÇà ÇÁ·Î±×·¥Àº ½ÇÇà¿¡ ½ÇÆÐÇÒ °æ¿ì ¿À·ù Á¤º¸°¡ ÀÖ´Â ´ëÈ »óÀÚ¸¦ Ç¥½ÃÇÕ´Ï´Ù.
java ¹× javaw ¸í·ÉÀº ´ÙÀ½°ú °°Àº ±¸¹®À» °®½À´Ï´Ù.
java [ options ] class [ arguments ... ] java [ options ] -jar file.jar [ arguments ... ] javaw [ options ] class [ arguments ... ] javaw [ options ] -jar file.jar [ arguments ... ]
´ë°ýÈ£ ³»¿¡ Ç¥½ÃµÈ Ç׸ñÀº ¼±ÅÃÀûÀÔ´Ï´Ù.
-jar ¿É¼ÇÀÌ ÁöÁ¤µÈ °æ¿ì, ¸í¸íµÈ JAR ÆÄÀÏ¿¡´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡ ´ëÇÑ ÀÚ¿ø ÆÄÀϰú Ŭ·¡½º°¡ Æ÷ÇÔµÇ°í ½ÃÀÛ Å¬·¡½º´Â Main-Class manifest ¸Ó¸®±Û·Î Ç¥½ÃµË´Ï´Ù.
½ÇÇà ÇÁ·Î±×·¥¿¡´Â ÇöÀçÀÇ Runtime Environment¿¡¼ Áö¿øµÇ¸ç Â÷ÈÄ ¸±¸®½º¿¡¼µµ Áö¿øµÉ Ç¥ÁØ ¿É¼Ç ¼¼Æ®°¡ ÀÖ½À´Ï´Ù. ¶ÇÇÑ ºñÇ¥ÁØ ¿É¼Ç ¼¼Æ®µµ ÀÖ½À´Ï´Ù.
¾Æ·¡¿¡ ³ª¿µÈ -X ¿É¼ÇÀº ºñÇ¥ÁØ ¿É¼ÇÀ̸ç ÁÖÁ¦°¡ ÅëÁö¾øÀÌ º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù.
java ¸í·É ¹× ±âŸ java ½ÇÇà ÇÁ·Î±×·¥ ¸í·É(¿¹: javaw)À» »ç¿ëÇϸé Ŭ·¡½º À̸§À» ÇöÀç ·ÎÄÉÀÏÀÇ ¹®ÀÚ ¼¼Æ®¿¡ ÀÖ´Â Unicode ¹®ÀÚ·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Java À̽ºÄÉÀÌÇÁ ¼ø¼¸¦ »ç¿ëÇÏ¿© Ŭ·¡½º À̸§°ú Àμö¿¡ ÀÓÀÇÀÇ Unicode ¹®ÀÚ¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. À̸¦ ¼öÇàÇÏ·Á¸é -XargencodingÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. Unicode ¹®ÀÚ¸¦ ÁöÁ¤ÇÏ·Á¸é, \u#### Çü½ÄÀÇ À̽ºÄÉÀÌÇÁ ¼ø¼¸¦ »ç¿ëÇϽʽÿÀ. ¿©±â¼ #´Â 16Áø ¼ýÀÚ(0-9, A-F)ÀÔ´Ï´Ù.
¶Ç´Â Ŭ·¡½º À̸§ ¹× ¸í·É Àμö°¡ UTF8 ÀÎÄÚµùÀ¸·Î µÇµµ·Ï ÁöÁ¤ÇÏ·Á¸é -Xargencoding:utf8À» »ç¿ëÇϰųª ISO8859_1 ÀÎÄÚµù¿¡¼ -Xargencoding:latinÀ» »ç¿ëÇϽʽÿÀ.
java ¹× javaw ¸í·ÉÀº º¯È¯µÈ °á°ú¹° ¸Þ½ÃÁö¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ½ÃÁö´Â Java°¡ ½ÇÇàµÇ´Â ·ÎÄÉÀÏ¿¡ µû¶ó ´Ù¸¨´Ï´Ù. java¿¡ ÀÇÇØ ¸®ÅϵǴ ÀÚ¼¼ÇÑ ¿À·ù ¼³¸í ¹× ±âŸ µð¹ö±× Á¤º¸´Â ¿µ¾îÀÔ´Ï´Ù.
Àüü °æ·Î ¹× .class È®ÀåÀÚ¸¦ Æ÷ÇÔÇÏ¿© Àüü ÆÄÀÏ À̸§À¸·Î Ŭ·¡½º À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌÀü ¹öÀü¿¡¼´Â CLASSPATH¿Í °ü·ÃµÈ Ŭ·¡½º¸¸ ÁöÁ¤ÇÒ ¼ö ÀÖ¾úÀ¸¸ç .class È®ÀåÀÚ´Â Çã¿ëµÇÁö ¾Ê¾Ò½À´Ï´Ù. ¿ÏÀüÇÑ ÆÄÀÏ À̸§À» »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î µ¥½ºÅ©Å¾À̳ª ÆÄÀÏ ½ÇÇà ÇÁ·Î±×·¥¿¡¼ Java ÀÀ¿ëÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. °æ·Î ¹× È®ÀåÀÚ¿Í ÇÔ²² .class ÆÄÀÏÀ» ÁöÁ¤ÇÏ´Â °æ¿ì ÁöÁ¤µÇ´Â °æ·Î´Â CLASSPATH¿¡ Ãß°¡µË´Ï´Ù. ¿¹¸¦ µé¾î, java ~/myapp/thisapp.class ¸í·ÉÀº java -classpath ~/myapp thisapp¸¦ ÁöÁ¤ÇÏ´Â °Í°ú µ¿ÀÏÇÕ´Ï´Ù.
-Xgcpolicy JVM ·±Å¸ÀÓ ¿É¼ÇÀº °¡ºñÁö ÄÝ·º¼Ç Á¤Ã¥À» ÁöÁ¤ÇÕ´Ï´Ù.
-Xgcpolicy´Â optthruput(±âº»°ª), optavgpause ¶Ç´Â gencon °ªÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀº °¡ºñÁö ÄÝ·ºÅÍÀÇ ÀÛµ¿À» Á¦¾îÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥°ú Àüü ½Ã½ºÅÛÀÇ Ã³¸®·® ¹× °¡ºñÁö ÄÝ·º¼Ç¿¡ ÀÇÇØ ¹ß»ýµÇ´Â ÀϽÃÁ¤Áö ½Ã°£ »çÀÌÀÇ ±ÕÇüÀ» ¸ÂÃä´Ï´Ù.
¿É¼Ç ¹× ÇØ´ç °ªÀÇ Çü½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.
-Xgcpolicy:optthruput
-Xgcpolicy:optavgpause
-Xgcpolicy:gencon
ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¿ÀºêÁ§Æ® ÀÛ¼ºÀ» ½ÃµµÇÒ ¶§ Èü ³»ÀÇ »ç¿ë °¡´ÉÇÑ °ø°£¿¡¼ Áï½Ã ÃæÁ·µÇÁö ¾Ê´Â °æ¿ì, °¡ºñÁö ÄÝ·ºÅÍ´Â ÂüÁ¶µÇÁö ¾ÊÀº ¿ÀºêÁ§Æ®(°¡ºñÁö)¸¦ ½Äº°ÇÏ°í »èÁ¦ÇÏ¿© Áï°¢ÀûÀÌ¸ç °è¼ÓÀûÀÎ ÇÒ´ç ¿äûÀ» ½Å¼ÓÇÏ°Ô ÃæÁ·½Ãų ¼ö ÀÖ´Â »óÅ·ΠÈüÀ» µÇµ¹¸³´Ï´Ù. ÀÌ·¯ÇÑ °¡ºñÁö ÄÝ·º¼Ç ÁÖ±â·Î ÀÎÇØ ¶§¶§·Î ÀÀ¿ëÇÁ·Î±×·¥ ÄÚµåÀÇ ½ÇÇà ½Ã ¿¹»óÄ¡ ¸øÇÑ ÀϽÃÁ¤Áö°¡ ¹ß»ýÇϱ⵵ ÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ÀÇ Å©±â¿Í º¹Àâµµ°¡ Áõ°¡Çϰí, Èüµµ Ä¿Áö°Ô ¶§¹®¿¡ ÀÌ °¡ºñÁö ÄÝ·º¼Ç ÀϽÃÁ¤Áö ½Ã°£ÀÌ ±æ¾îÁö¸ç ±× Á߿伺µµ ³ô¾ÆÁý´Ï´Ù. °¡ºñÁö ÄÝ·º¼Ç ±âº»°ªÀÎ optthruputÀº ÀÀ¿ëÇÁ·Î±×·¥¿¡ ¸Å¿ì ¸¹Àº 󸮷®À» ºÎ°úÇϳª ±×·Î ÀÎÇØ ¶§¶§·Î ÀϽÃÁ¤Áö°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ¸¸ç ÀϽÃÁ¤Áö ½Ã°£Àº ÈüÀÇ Å©±â¿Í °¡ºñÁöÀÇ ¾ç¿¡ µû¶ó ¹Ð¸®ÃÊ¿¡¼ ¸î ÃÊ¿¡ À̸£±â±îÁö ´Ù¾çÇÕ´Ï´Ù.
JVMÀº ´ÙÀ½°ú °°ÀÌ µÎ °¡Áö ±â¼úÀ» »ç¿ëÇÏ¿© ÀϽÃÁ¤Áö ½Ã°£À» ´ÜÃàÇÕ´Ï´Ù.
-Xgcpolicy:optavgpause ¸í·ÉÇà ¿É¼ÇÀº °¡ºñÁö ÄÝ·º¼Ç ÀϽÃÁ¤Áö¿¡ ¼Ò¸ðµÇ´Â ½Ã°£À» Å©°Ô ÁÙÀÏ ¼ö ÀÖµµ·Ï µ¿½Ã °¡ºñÁö ÄÝ·º¼ÇÀÇ »ç¿ëÀ» ¿ä±¸ÇÕ´Ï´Ù. µ¿½Ã °¡ºñÁö ÄÝ·º¼ÇÀº Èü ÄÝ·º¼ÇÀ¸·Î À¯¹ßµÇ´Â Áß´ÜÀ» ÃÖ¼ÒÈÇϱâ À§ÇØ Á¤»ó ÇÁ·Î±×·¥ ½ÇÇà°ú µ¿½Ã¿¡ ÀϺΠ°¡ºñÁö ÄÝ·º¼Ç Ȱµ¿À» ¼öÇàÇÏ¿© ÀϽÃÁ¤Áö ½Ã°£À» ´ÜÃàÇÕ´Ï´Ù. -Xgcpolicy:optavgpause ¿É¼ÇÀº ¶ÇÇÑ °¡ºñÁö ÄÝ·º¼Ç ÀϽÃÁ¤Áö ±æÀÌ¿¡ ¹ÌÄ¡´Â Èü Å©±â Áõ°¡ÀÇ ¿µÇâÀ» Á¦ÇÑÇÕ´Ï´Ù. -Xgcpolicy:optavgpause ¿É¼ÇÀº Å« ÈüÀÌ ÀÖ´Â ±¸¼º¿¡ À¯¿ëÇÕ´Ï´Ù. ÀϽÃÁ¤Áö ½Ã°£À» ÁÙÀ̸é ÀÀ¿ëÇÁ·Î±×·¥ 󸮷®ÀÌ ¾î´À Á¤µµ °¨¼ÒÇÒ ¼ö ÀÖ½À´Ï´Ù.
µ¿½Ã °¡ºñÁö ÄÝ·º¼Ç Áß¿¡ ÄÝ·ºÆ®ÇÒ ¼ö ¾ø´Â, »ó´ëÀûÀ¸·Î Àå±â°£ Áö¼ÓµÇ´Â ¿ÀºêÁ§Æ®¸¦ ½Äº°ÇÏ´Â µ¥ ¸¹Àº ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù. °¡ºñÁö ÄÝ·º¼ÇÀÌ ÀçȰ¿ë °¡´É¼ºÀÌ ³ôÀº ¿ÀºêÁ§Æ®¿¡¸¸ ÁýÁßÇÏ´Â °æ¿ì ÀϺΠÀÀ¿ëÇÁ·Î±×·¥¿¡ ´ëÇÑ ÀϽÃÁ¤Áö ½Ã°£À» Ãß°¡·Î ´ÜÃàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼¼´ë °¡ºñÁö ÄÝ·º¼ÇÀº ÈüÀ» µÎ "¼¼´ë", Áï "nursery" ¹× "tenure" ¿µ¿ªÀ¸·Î ³ª´©¾î À̸¦ ¼öÇàÇÕ´Ï´Ù. ³ªÀÌ¿¡ µû¶ó ÀÌ·¯ÇÑ ¿µ¿ª Áß Çϳª¿¡ ¿ÀºêÁ§Æ®°¡ ¹èÄ¡µË´Ï´Ù. nursery´Â µÑ Áß Å©±â°¡ ´õ ÀÛ°í, ¾î¸° ¿ÀºêÁ§Æ®¸¦ Æ÷ÇÔÇÕ´Ï´Ù. tenure´Â Å©±â°¡ ´õ Å©°í, ¿À·¡µÈ ¿ÀºêÁ§Æ®¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ¿ÀºêÁ§Æ®´Â ¸ÕÀú nursery¿¡ ÇÒ´çµË´Ï´Ù. Àå±â°£ À¯ÁöµÇ´Â °æ¿ì °á±¹ tenure ¿µ¿ªÀ¸·Î ½Â°ÝµË´Ï´Ù.
¼¼´ë °¡ºñÁö ÄÝ·º¼ÇÀº Àå±â°£ À¯ÁöµÇÁö ¾Ê´Â ´ëºÎºÐÀÇ ¿ÀºêÁ§Æ®¿¡ µû¸¨´Ï´Ù. ¼¼´ë °¡ºñÁö ÄÝ·º¼ÇÀº ´ëºÎºÐÀÇ ÀçȰ¿ë °¡´ÉÇÑ °ø°£ÀÌ Àֱ⠶§¹®¿¡ nursery¿¡ ÀúÀ念¿ª Àç»ý ³ë·ÂÀ» ÁýÁßÇÏ¿© ÀϽÃÁ¤Áö ½Ã°£À» ´ÜÃàÇÕ´Ï´Ù. Àüü ÈüÀ» ÄÝ·ºÆ®ÇÒ ¶§ °¡²û¾¿ÀÌÁö¸¸ Àå±â°£ÀÇ ÀϽÃÁ¤Áö ½Ã°£ÀÌ ¹ß»ýÇÏ´Â ´ë½Å ´õ¿í ºó¹øÇÏ°Ô nursery°¡ ¼öÁýµÇ°í nursery°¡ ÀÛÀº °æ¿ì ÀϽÃÁ¤Áö ½Ã°£Àº ºñ±³Àû ª½À´Ï´Ù. ±×·¯³ª ¼¼´ë °¡ºñÁö ÄÝ·º¼ÇÀÇ °æ¿ì ³Ê¹« ¸¹Àº ¿ÀºêÁ§Æ®°¡ ¿À·§µ¿¾È Áö¼ÓµÇ´Â °æ¿ì ½Ã°£ÀÌ Áö³ª¸é¼ tenure ¿µ¿ªÀÌ °¡µæ Âû ¼ö ÀÖ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ »óȲÀÌ ¹ß»ýÇÒ ¶§ ÀϽÃÁ¤Áö ½Ã°£À» ÃÖ¼ÒÈÇÏ·Á¸é µ¿½Ã °¡ºñÁö ÄÝ·º¼Ç°ú ¼¼´ë °¡ºñÁö ÄÝ·º¼ÇÀ» Á¶ÇÕÇÏ¿© »ç¿ëÇϽʽÿÀ. -Xgcpolicy:gencon ¿É¼ÇÀº ¸ðµç °¡ºñÁö ÄÝ·º¼Ç ÀϽÃÁ¤Áö¿¡ ¼Ò¿äµÇ´Â ½Ã°£À» ÃÖ¼ÒÈÇϱâ À§ÇØ µ¿½Ã °¡ºñÁö ÄÝ·º¼Ç°ú ¼¼´ë °¡ºñÁö ÄÝ·º¼ÇÀ» Á¶ÇÕÇÏ¿© »ç¿ëÇϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù.
Java ÈüÀÌ °ÅÀÇ °¡µæ Â÷°Ô µÇ°í Àç»ýµÉ ¼ö ÀÖ´Â °¡ºñÁö°¡ °ÅÀÇ ¾ø´Â °æ¿ì, Áï½Ã »ç¿ë °¡´ÉÇÑ °ø°£ÀÌ ¾øÀ¸¹Ç·Î »õ ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ ¿äûÀÌ ½Å¼ÓÈ÷ ÃæÁ·µÇÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ÈüÀÌ °ÅÀÇ °¡µæ Âù ¿ë·®À¸·Î Á¶ÀÛµÉ °æ¿ì À§ÀÇ ¿É¼Ç Áß¿¡¼ ¾î´À ¿É¼ÇÀÌ »ç¿ëµÇ´ÂÁö¿¡ °ü°è¾øÀÌ ÀÀ¿ëÇÁ·Î±×·¥ ¼º´ÉÀÌ ÀúÇ쵃 ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ´õ ¸¹Àº Èü °ø°£ ¿äûÀÌ °è¼Ó ÀÛ¼ºµÇ¸é ÀÀ¿ëÇÁ·Î±×·¥¿¡ OutofMemory ¿¹¿Ü°¡ ¹ß»ýÇÏ°Ô µÇ¸ç, ÀÌ ¿¹¿Ü¸¦ ã¾Æ ó¸®ÇÏÁö ¸øÇϸé JVMÀÌ Á¾·áµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¶§ JVMÀº "javadump" Áø´Ü ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¶°Ç¿¡¼´Â -Xmx ¿É¼ÇÀ» »ç¿ëÇÏ¿© Èü Å©±â¸¦ ´Ã¸®°Å³ª »ç¿ë ÁßÀÎ ÀÀ¿ëÇÁ·Î±×·¥ ¿ÀºêÁ§Æ®ÀÇ ¼ö¸¦ ÁÙÀ̽ʽÿÀ.
JVM°ú °ü·ÃµÈ ½ÅÈ£°¡ ¿À¸é, ½ÅÈ£ Çڵ鷯°¡ È£ÃâµË´Ï´Ù. ÀÌ ½ÅÈ£ Çڵ鷯´Â Java ¶Ç´Â Java ÀÌ¿ÜÀÇ ½º·¹µå¿¡ ´ëÇØ È£ÃâµÇ¾ú´ÂÁö¸¦ ÆÇº°ÇÕ´Ï´Ù.
½ÅÈ£°¡ Java ½º·¹µå¿¡ ´ëÇÑ °ÍÀ̸é, JVMÀº ½ÅÈ£ 󸮸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ½ÅÈ£¿¡ ´ëÇÑ ÀÀ¿ëÇÁ·Î±×·¥ Çڵ鷯°¡ ¼³Ä¡µÇ¾î ÀÖÀ¸³ª JVMÀÌ Ã³¸®¸¦ ¿Ï·áÇÑ ÈÄ -Xnosigchain ¸í·ÉÇà ¿É¼ÇÀ» ÁöÁ¤ÇÏÁö ¾ÊÀº °æ¿ì ÀÌ ½ÅÈ£ÀÇ ÀÀ¿ëÇÁ·Î±×·¥ Çڵ鷯°¡ È£ÃâµË´Ï´Ù.
½ÅÈ£°¡ Java ÀÌ¿ÜÀÇ ½º·¹µå¿¡ ´ëÇÑ °ÍÀ̸ç JVM¸¦ ¼³Ä¡ÇÑ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ½ÅÈ£¿¡ ´ëÇÑ ÀÚü Çڵ鷯°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â °æ¿ì¿¡´Â ÇØ´ç Çڵ鷯°¡ ½ÅÈ£¸¦ Á¦¾îÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, JVM ¶Ç´Â Java ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ½ÅÈ£¸¦ ¿äûÇÑ °æ¿ì ½ÅÈ£°¡ ¹«½ÃµÇ°Å³ª ±âº» Á¶Ä¡°¡ ÃëÇØÁý´Ï´Ù.
¿¹¿Ü ¹× ¿À·ù ½ÅÈ£ÀÇ °æ¿ì, JVMÀº ´ÙÀ½ Áß Çϳª¸¦ ¼öÇàÇÕ´Ï´Ù.
ÀÎÅÍ·´Æ® ½ÅÈ£ÀÇ °æ¿ì, JVMÀº Á¦¾îµÈ ½Ã½ºÅÛ Á¾·á ¼ø¼·Î µé¾î°©´Ï´Ù. ÀÌ ¶§, ´ÙÀ½°ú °°Àº Á¤»ó Á¾·á·Î 󸮵˴ϴÙ.
ÀÌ ½Ã½ºÅÛ Á¾·á´Â System.exit() Java ¸Þ¼Òµå È£Ãâ¿¡ ÀÇÇØ ÃʱâȵǴ ½Ã½ºÅÛ Á¾·á¿Í µ¿ÀÏÇÕ´Ï´Ù.
JVM¿¡¼ »ç¿ëµÇ´Â ±âŸ ½ÅÈ£´Â ³»ºÎ Á¦¾î¿ëÀ̸ç JVMÀ» Á¾·á½ÃŰÁö ¾Ê½À´Ï´Ù. °ü·ÃµÈ Á¦¾î ½ÅÈ£´Â SIGQUIT »ÓÀ̸ç ÀÌ´Â Javadump¸¦ »ý¼ºÇÕ´Ï´Ù.
¾Æ·¡ÀÇ Ç¥ 1¿¡¼´Â JVM¿¡¼ »ç¿ëµÇ´Â ½ÅÈ£¸¦ º¸¿©ÁÝ´Ï´Ù. ½ÅÈ£´Â ´ÙÀ½°ú °°ÀÌ À¯Çü ¶Ç´Â ¿ëµµº°·Î ºÐ·ùµÇ¾î ÀÖ½À´Ï´Ù.
½ÅÈ£ À̸§ | ½ÅÈ£ À¯Çü | ¼³¸í | -Xrs¿¡ ÀÇÇØ »ç¿ë ºÒ°¡´É |
---|---|---|---|
SIGBUS | ¿¹¿Ü | À߸øµÈ ¸Þ¸ð¸® ¾×¼¼½º(µ¥ÀÌÅÍ Á¤·Ä ¿À·ù) | ¾Æ´Ï¿À |
SIGSEGV | ¿¹¿Ü | À߸øµÈ ¸Þ¸ð¸® ¾×¼¼½º(¾×¼¼½ºÇÒ ¼ö ¾ø´Â ¸Þ¸ð¸®¿¡ ¾²±â) | ¾Æ´Ï¿À |
SIGILL | ¿¹¿Ü | À߸øµÈ ¸í·É¾î(¾Ë¼ö ¾ø´Â ½Ã½ºÅÛ ¸í·ÉÀ» È£ÃâÇÏ·Á´Â ½Ãµµ) | ¾Æ´Ï¿À |
SIGFPE | ¿¹¿Ü | ºÎµ¿ ¼Ò¼öÁ¡ ¿¹¿Ü(0À¸·Î ³ª´©±â) | ¾Æ´Ï¿À |
SIGABRT | ¿À·ù | ºñÁ¤»ó Á¾·á. JVM °áÇÔÀ» ¹ß°ßÇÒ ¶§¸¶´Ù JVMÀÌ ÀÌ ½ÅÈ£¸¦ ÀÏÀ¸Åµ´Ï´Ù. | ¾Æ´Ï¿À |
SIGINT | ÀÎÅÍ·´Æ® | ´ëÈ½Ä ÁÖÀÇ(CTRL-C). JVMÀÌ Á¤»óÀûÀ¸·Î Á¾·áÇÕ´Ï´Ù. | ¿¹ |
SIGTERM | ÀÎÅÍ·´Æ® | Á¾·á ¿äû. JVMÀÌ Á¤»ó Á¾·áÇÕ´Ï´Ù. | ¿¹ |
SIGHUP | ÀÎÅÍ·´Æ® | ²÷±â. JVMÀÌ Á¤»óÀûÀ¸·Î Á¾·áÇÕ´Ï´Ù. | ¿¹ |
SIGQUIT | Á¦¾î | ´Ü¸»±â¿¡ ´ëÇÑ Á¾·á ½ÅÈ£. JVMÀº ÀÌ ½ÅÈ£¸¦ »ç¿ëÇÏ¿© Javadumps¸¦ °¡Á®¿É´Ï´Ù. | ¾Æ´Ï¿À |
SIGPIPE | Á¦¾î | Áß´ÜµÈ ÆÄÀÌÇÁ. SIG_IGN·Î ¼³Á¤ | ¾Æ´Ï¿À |
JVMÀÌ ´ëºÎºÐÀÇ ½ÅÈ£¸¦ ó¸®ÇÏÁö ¾Êµµ·Ï ÇÏ·Á¸é -Xrs(½ÅÈ£ »ç¿ë ´ÜÃà) ¿É¼ÇÀ» »ç¿ëÇϽʽÿÀ. ÀÚ¼¼ÇÑ »çÇ×Àº http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html¿¡ ÀÖ´Â SunÀÇ Java ÀÀ¿ëÇÁ·Î±×·¥ ½ÇÇà ÇÁ·Î±×·¥ ÆäÀÌÁö¸¦ ÂüÁ¶ÇϽʽÿÀ.
JVM ½º·¹µåÀÇ ½ÅÈ£ 1(SIGHUP), 2(SIGINT), 4(SIGILL), 7(SIGBUS), 8(SIGFPE), 11(SIGSEGV) ¹× 15(SIGTERM)´Â JVMÀ» Á¾·á½Ãŵ´Ï´Ù. ±×·¯¹Ç·Î ÀÀ¿ëÇÁ·Î±×·¥ ½ÅÈ£ Çڵ鷯´Â JVM ¼ºñ½º°¡ ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾ÊÀº °æ¿ì¸¦ Á¦¿ÜÇÏ°í º¹±¸¸¦ ½ÃµµÇÏÁö ¸¶½Ê½Ã¿À.
Runtime Environment¿¡´Â ½ÅÈ£ üÀÎ ±â´ÉÀÌ ÀÖ½À´Ï´Ù. ½ÅÈ£ üÀÎ ±â´ÉÀ¸·Î JVMÀº ÀÚü ½ÅÈ£ Çڵ鷯¸¦ ¼³Ä¡ÇÏ´Â ¿ø½Ã ÄÚµå¿Í º¸´Ù È¿À²ÀûÀ¸·Î °øµ¿ Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
½ÅÈ£ üÀÎ ±â´ÉÀ» »ç¿ëÇÏ¸é ½Ã½ºÅÛ ¶óÀ̺귯¸® Àü¿¡ ÀÀ¿ëÇÁ·Î±×·¥À» °øÀ¯ ¶óÀ̺귯¸® libjsig.so¿¡ ¸µÅ©ÇÏ°í ·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. libjsig.so ¶óÀ̺귯¸®´Â signal(), sigset() ¹× sigaction() µîÀÇ È£ÃâÀ» Â÷´ÜÇÏ¿© ÇØ´ç Çڵ鷯°¡ JVMÀÇ ½ÅÈ£ Çڵ鷯¸¦ ´ëüÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ´ë½Å, À̵é È£ÃâÀº »õ ½ÅÈ£ Çڵ鷯¸¦ ÀúÀåÇϰųª À̸¦ JVMÀÌ ¼³Ä¡µÈ Çڵ鷯 µÚ¿¡ "üÀÎ"ÇÕ´Ï´Ù. ³ªÁß¿¡ ÀÌµé ½ÅÈ£ Áß Çϳª°¡ ¹ß»ýµÇ°í JVMÀ» ´ë»óÀ¸·Î ÇÏÁö ¾ÊÀº °æ¿ì, »çÀü ¼³Ä¡µÈ Çڵ鷯°¡ È£ÃâµË´Ï´Ù.
libjsig.so¸¦ »ç¿ëÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇϽʽÿÀ.
gcc -L$JAVA_HOME/bin -ljsig -L$JAVA_HOME/bin/j9vm -ljvm java_application.c¶Ç´Â
export LD_PRELOAD=$JAVA_HOME/bin/libjsig.so; java_application (bash and ksh) setenv LD_PRELOAD=$JAVA_HOME/bin/libjsig.so; java_application (csh)(JAVA_HOMEÀÌ ¼³Á¤µÇ¾î ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é /opt/IBMJava2-142/jre¸¦ »ç¿ëÇϽʽÿÀ.)
sigaction()À» »ç¿ëÇÏ´Â ½ÅÈ£ Çڵ鷯¸¦ ¼³Ä¡ÇÒ °æ¿ì, JVMÀÌ ÀÌ ½ÅÈ£¸¦ »ç¿ëÇÒ ¶§ ÀϺΠsa_flags°¡ °üÂûµÇÁö ¾Ê½À´Ï´Ù. À̵éÀº ´ÙÀ½°ú °°½À´Ï´Ù.
libjsig.so ¶óÀ̺귯¸®µµ ÀÀ¿ëÇÁ·Î±×·¥¿¡¼ JVM ½ÅÈ£ Çڵ鷯¸¦ ¼û±é´Ï´Ù. µû¶ó¼ JVMÀÌ ½ÃÀÛµÈ ÈÄ¿¡ ÀÛ¼ºµÈ signal(), sigset() ¹× sigaction()°ú °°Àº È£ÃâÀº ´õ ÀÌ»ó JVM ½ÅÈ£ Çڵ鷯¿¡ ´ëÇÑ ÂüÁ¶¸¦ ¸®ÅÏÇÏÁö ¾ÊÁö¸¸, ´ë½Å JVMÀÌ ½ÃÀ۵DZâ Àü¿¡ ¼³Ä¡µÈ ¸ðµç Çڵ鷯¸¦ ¸®ÅÏÇÕ´Ï´Ù.
±âº»ÀûÀ¸·Î RMI ¿¬°á Çڵ鷯ÀÇ ½º·¹µå Ç®¸µÀº »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
RMI TCPTransport ·¹º§¿¡¼ ±¸ÇöµÈ ¿¬°á Ç®¸µÀ» »ç¿ë °¡´ÉÇÏ°Ô ÇÏ·Á¸é ´ÙÀ½ ¿É¼ÇÀ» ¼³Á¤ÇϽʽÿÀ.
-Dsun.rmi.transport.tcp.connectionPool=true(¶Ç´Â nullÀÌ ¾Æ´Ñ °ª)
ÀÌ ¹öÀüÀÇ Runtime Environment¿¡´Â ¿¬°á Ç®ÀÇ ½º·¹µå ¼ö¸¦ Á¦ÇÑÇÒ ¼ö ÀÖ´Â ¼³Á¤ÀÌ ¾ø½À´Ï´Ù.
ÀÚ¼¼ÇÑ Á¤º¸¸¦ º¸·Á¸é Sun Java »çÀÌÆ® http://java.sun.comÀ» ÂüÁ¶ÇϽʽÿÀ.
IBM ºôµå ¹× ¹öÀü ¹øÈ£¸¦ ¾Ë·Á¸é ½© ÇÁ·ÒÇÁÆ®¿¡¼ ´ÙÀ½À» ÀÔ·ÂÇϽʽÿÀ.
java -version
floatingÀÌ ¾Æ´Ñ ½ºÅà Linux ½Ã½ºÅÛ¿¡¼´Â -XssÀÇ ¼³Á¤¿¡ °ü°è¾øÀÌ °¢ ½º·¹µå¿¡ ´ëÇØ ÃÖ¼ÒÇÑÀÇ °íÀ¯ ½ºÅà ũ±âÀÎ 256KB°¡ Á¦°øµË´Ï´Ù. floating ½ºÅà Linux ½Ã½ºÅÛ¿¡¼´Â -Xss °ªÀÌ ÁÖ¾îÁý´Ï´Ù. µû¶ó¼ floatingÀÌ ¾Æ´Ñ ½ºÅà Linux ½Ã½ºÅÛ¿¡¼ ÀÌÁÖÇÏ´Â °æ¿ì, -Xss °ªÀÌ ÃæºÐÈ÷ Å«Áö ±×¸®°í 256KBÀÇ ÃÖ¼Ò ½ºÅÿ¡ ÀÇÁ¸Çϰí ÀÖÁö ¾ÊÀºÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
2¹ÙÀÌÆ® ¹®ÀÚ ¼¼Æ®(DBCS) ½Ã½ºÅÛ¿¡¼ ÀÔ·Â ¹æ¹ýÀ» ÀüȯÇÏ·Á´Â °æ¿ì, IBMJAVA_INPUTMETHOD_SWITCHKEY ¹× IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS ȯ°æ º¯¼ö ´ë½Å java.util.prefs.Preferences Ŭ·¡½º¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº SunÀÇ Input Method Framework SpecificationÀ» ÂüÁ¶ÇϽʽÿÀ.
Á¦Ç°À» °³¹ßÇÏ°í ¿î¼ÛÇÒ Áغñ°¡ µÇ¸é, Á¦Ç°À» »ç¿ëÀÚ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ°í »ç¿ëÀÚ ¼ÒÇÁÆ®¿þ¾î¸¦ Áö¿øÇϵµ·Ï »ç¿ëÀÚ ½Ã½ºÅÛ°ú Runtime Environment¸¦ ±¸¼ºÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
Runtime Environment for Linux¸¦ »ç¿ëÇÏ´Â °æ¿ì, »ç¿ëÀÚ ¼³Ä¡ ÇÁ·Î½ÃÀú°¡ ±âÁ¸ÀÇ ¼³Ä¡¸¦ ´ëüÇÏÁö ¾Êµµ·Ï È®ÀÎÇØ¾ß ÇÕ´Ï´Ù(±âÁ¸ Runtime Environment for Linux°¡ ÀÌÀü ¹öÀüÀÎ °æ¿ì´Â Á¦¿Ü).
Runtime Environment for Linux¸¦ ÀçºÐ¹èÇÏ·Á¸é Runtime Environment for Linux¸¦ »ç¿ëÀÚÀÇ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÑ ÈÄ, ÇÊ¿äÇÑ ÆÄÀÏÀ» »ç¿ëÀÚÀÇ ¼³Ä¡ ¼¼Æ®·Î º¹»çÇϽʽÿÀ. ÀÌ ¹æ¹ýÀ» ¼±ÅÃÇϸé, Runtime Environment for Linux¿Í ÇÔ²² Á¦°øµÈ ¸ðµç ÆÄÀÏÀ» ¹Ýµå½Ã Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù. Runtime Environment for Linux ¼ÒÇÁÆ®¿þ¾î´Â ¸ðµç ÆÄÀÏÀÌ Æ÷ÇÔµÈ °æ¿ì¿¡¸¸ ÀçºÐ¹èµÉ ¼ö ÀÖ½À´Ï´Ù. »ç½Ç»ó, ÀÀ¿ëÇÁ·Î±×·¥À» ¿î¼ÛÇÒ ¶§ ÀÀ¿ëÇÁ·Î±×·¥Àº ÀÚüÀÇ °íÀ¯ Runtime Environment for Linux »çº»À» °¡Áö°í ÀÖ½À´Ï´Ù.
¹Ýµå½Ã ÀçºÐ¹èµÇ¾î¾ß ÇÏ´Â ÆÄÀÏ¿¡ ´ëÇÑ »ó¼¼ÇÑ Á¤º¸´Â ÀÌ Á¦Ç°¿¡ ÇÔ²² µé¾î ÀÖ´Â ¶óÀ̼¾½º °è¾àÀ» ÂüÁ¶ÇϽʽÿÀ.
´ÙÀ½ Àý¿¡¼´Â Linux¿ë Runtime EnvironmentÀÇ ¾Ë·ÁÁø Á¦ÇÑ»çÇ׿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
»ç¿ë °¡´ÉÇÑ ½º·¹µåÀÇ ÃÖ´ë ¼ö´Â ´ÙÀ½ÀÇ ÃÖ¼ÒÄ¡¿¡ ÀÇÇØ °áÁ¤µË´Ï´Ù.
±×·¯³ª ÃÖ´ë ½º·¹µå ¼ö¿¡ µµ´ÞÇϱâ Àü¿¡ °¡»ó ÀúÀ念¿ªÀ» ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
xmodmap -pkÀÌ·Î ÀÎÇØ SDK´Â Meta¿Í Alt¸¦ ÇÔ²² ´©¸£´Â °ÍÀ¸·Î °£ÁÖÇÕ´Ï´Ù. ½© ÇÁ·ÒÇÁÆ®¿¡¼ ´ÙÀ½À» ÀÔ·ÂÇÏ¿© Meta_x ¸ÊÇÎÀ» Á¦°ÅÇÏ¿© ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
xmodmap -e "keysym Alt_L = Alt_L" -e "keysym Alt_R = Alt_R"
»ç¿ëÀÚ ¾È³»¼¿¡ ´ëÇÑ °í°´ÀÇ À¯¿ëÇÑ Á¤º¸¿¡ ´ëÇØ¼ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ÀǰßÀ» Áֽñ⠹ٶø´Ï´Ù. ÀÌ·¯ÇÑ Ã¤³ÎÀº ±â¼úÀû Áú¹®¿¡ ´ëÇØ ÀÀ´äÇϱâ À§ÇÑ °ÍÀº ¾Æ´Ï¸ç ¹®¼¿¡ ´ëÇÑ ÀǰßÀ» µè±â À§ÇÑ °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀÇ ÀǰßÀ» ±â´Ù¸®°í ÀÖ½À´Ï´Ù.
ÀÛÀº ±ÛÀÚ ºÎºÐ. IBM¿¡ ¸Þ½ÃÁö¸¦ º¸³»´Â °æ¿ì IBMÀº Áú¹®, Àǰß, Á¦¾È°ú °°Àº Çǵå¹é µ¥ÀÌÅÍ µî ¸Þ½ÃÁö¿¡ Æ÷ÇÔµÈ ¸ðµç Á¤º¸¸¦ ±â¹ÐÀÌ ¾Æ´Ñ °ÍÀ¸·Î °£ÁÖÇÏ¿© ÀÌ·¯ÇÑ Á¤º¸¿Í °ü·ÃÇÏ¿©¼´Â ¾Æ¹« Ã¥ÀÓÀ» ÁöÁö ¾ÊÀ¸¸ç ÀÌ Á¤º¸¸¦ Á¦ÇÑ ¾øÀÌ º¹Á¦, »ç¿ë, ¹ßÇ¥ ¹× ŸÀο¡°Ô ¹èÆ÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. ³ª¾Æ°¡ IBMÀº º» Á¤º¸¿Í ¿¬°üµÈ Á¦Ç°ÀÇ °³¹ß, Á¦Á¶, ¸¶ÄÉÆÃÀ» Æ÷ÇÔÇÏ¿©(´Ü, ÀÌ¿¡ ÇÑÇÏÁö ¾ÊÀ½) ¾î¶°ÇÑ ¸ñÀûÀ¸·Îµµ º» Á¤º¸¿¡ Æ÷ÇÔµÈ ¾ÆÀ̵ð¾î, °³³ä, ³ëÇÏ¿ì ¶Ç´Â ±â¼úÀ» Á¦ÇѾøÀÌ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ Á¤º¸´Â ¹Ì±¹¿¡¼ Á¦°øµÇ´Â Á¦Ç° ¹× ¼ºñ½º¿ëÀ¸·Î ÀÛ¼ºµÈ °ÍÀÔ´Ï´Ù. IBMÀº ´Ù¸¥ ±¹°¡¿¡¼´Â ÀÌ ÀÚ·á¿¡ ±â¼úµÈ Á¦Ç°, ¼ºñ½º ¶Ç´Â ±â´ÉÀ» Á¦°øÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÇöÀç »ç¿ëÇÒ ¼ö ÀÖ´Â Á¦Ç° ¹× ¼ºñ½º¿¡ ´ëÇÑ Á¤º¸´Â Çѱ¹ IBM ´ã´çÀÚ¿¡°Ô ¹®ÀÇÇϽʽÿÀ. ÀÌ Ã¥¿¡¼ IBM Á¦Ç°, ÇÁ·Î±×·¥ ¶Ç´Â ¼ºñ½º¸¦ ¾ð±ÞÇÏ´Â °ÍÀÌ ÇØ´ç IBM Á¦Ç°, ÇÁ·Î±×·¥ ¶Ç´Â ¼ºñ½º¸¸À» »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÏÁö´Â ¾Ê½À´Ï´Ù. IBMÀÇ ÁöÀû Àç»ê±ÇÀ» Ä§ÇØÇÏÁö ¾Ê´Â ÇÑ, ±â´É»óÀ¸·Î µ¿µîÇÑ Á¦Ç°, ÇÁ·Î±×·¥ ¶Ç´Â ¼ºñ½º¸¦ ´ë½Å »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ºñIBM Á¦Ç°, ÇÁ·Î±×·¥ ¶Ç´Â ¼ºñ½ºÀÇ ¿î¿ë¿¡ ´ëÇÑ Æò°¡ ¹× °ËÁõÀº »ç¿ëÀÚÀÇ Ã¥ÀÓÀÔ´Ï´Ù.
IBMÀº ÀÌ Ã¥¿¡¼ ´Ù·ç°í Àִ ƯÁ¤ ³»¿ë¿¡ ´ëÇØ ƯÇ㸦 º¸À¯Çϰí Àְųª ÇöÀç Æ¯Çã Ãâ¿ø ÁßÀÏ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Ã¥À» Á¦°øÇÑ´Ù°í ÇØ¼ ƯÇã¿¡ ´ëÇÑ ¶óÀ̼¾½º±îÁö ºÎ¿©ÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ¶óÀ̼¾½º¿¡ ´ëÇÑ Àǹ®»çÇ×Àº ´ÙÀ½À¸·Î ¹®ÀÇÇϽʽÿÀ.
2¹ÙÀÌÆ®(DBCS) Á¤º¸¿¡ °üÇÑ ¶óÀ̼¾½º ¹®ÀÇ´Â Çѱ¹ IBM °í°´¸¸Á·¼¾ÅÍ¿¡ ¹®ÀÇÇϰųª ´ÙÀ½ ÁÖ¼Ò·Î ¼¸é ¹®ÀÇÇϽñ⠹ٶø´Ï´Ù
´ÙÀ½ ´Ü¶ôÀº ÇöÁö¹ý°ú »óÃæÇÏ´Â ¿µ±¹À̳ª ±âŸ ±¹°¡¿¡¼´Â Àû¿ëµÇÁö ¾Ê½À´Ï´Ù.
IBMÀº ŸÀÎÀÇ ±Ç¸® ºñÄ§ÇØ, »óǰ¼º ¹× ƯÁ¤ ¸ñÀû¿¡ÀÇ ÀûÇÕ¼º¿¡ ´ëÇÑ ¹¬½ÃÀû º¸ÁõÀ» Æ÷ÇÔÇÏ¿©(´Ü, ÀÌ¿¡ ÇÑÇÏÁö ¾ÊÀ½) ¹¬½ÃÀûÀÌµç ¸í½ÃÀûÀÌµç ¾î¶°ÇÑ Á¾·ùÀÇ º¸Áõ¾øÀÌ ÀÌ Ã¥À» "Çö»óÅ´ë·Î" Á¦°øÇÕ´Ï´Ù. ÀϺΠ±¹°¡¿¡¼´Â ƯÁ¤ °Å·¡¿¡¼ ¸í½ÃÀû ¶Ç´Â ¹¬½ÃÀû º¸ÁõÀÇ ¸éÃ¥»çÇ×À» Çã¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î, ÀÌ »çÇ×ÀÌ Àû¿ëµÇÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù.
ÀÌ Á¤º¸¿¡´Â ±â¼úÀûÀ¸·Î ºÎÁ¤È®ÇÑ ³»¿ëÀ̳ª Àμâ»óÀÇ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ Á¤º¸´Â ÁÖ±âÀûÀ¸·Î º¯°æµÇ¸ç, º¯°æ»çÇ×Àº ÃÖ½ÅÆÇ¿¡ ÅëÇյ˴ϴÙ. IBMÀº ÀÌ Á¤º¸¿¡ ±â¼úµÈ Á¦Ç° ¹×(¶Ç´Â) ÇÁ·Î±×·¥À» »çÀü ÅëÁö¾øÀÌ ¾ðÁ¦µçÁö °³¼± ¹×(¶Ç´Â) º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ Á¤º¸¿¡¼ ¾ð±ÞµÇ´Â ºñIBMÀÇ À¥ »çÀÌÆ®´Â ´ÜÁö ÆíÀÇ»ó Á¦°øµÈ °ÍÀ¸·Î, ¾î¶² ¹æ½ÄÀ¸·Îµç À̵é À¥ »çÀÌÆ®¸¦ ¿ËÈ£ÇϰíÀÚ ÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÇØ´ç À¥ »çÀÌÆ®ÀÇ ÀÚ·á´Â º» IBM Á¦Ç° ÀÚ·áÀÇ ÀϺΰ¡ ¾Æ´Ï¹Ç·Î ÇØ´ç À¥ »çÀÌÆ® »ç¿ëÀ¸·Î ÀÎÇÑ À§ÇèÀº »ç¿ëÀÚ º»ÀÎÀÌ °¨¼öÇØ¾ß ÇÕ´Ï´Ù.
IBMÀº ±ÍÇÏÀÇ ±Ç¸®¸¦ Ä§ÇØÇÏÁö ¾Ê´Â ¹üÀ§ ³»¿¡¼ ÀûÀýÇÏ´Ù°í »ý°¢ÇÏ´Â ¹æ½ÄÀ¸·Î ±ÍÇϰ¡ Á¦°øÇÑ Á¤º¸¸¦ »ç¿ëÇϰųª ¹èÆ÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.
(i) µ¶¸³ÀûÀ¸·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥°ú ±âŸ ÇÁ·Î±×·¥(º» ÇÁ·Î±×·¥ Æ÷ÇÔ)°£ÀÇ Á¤º¸ ±³È¯ ¹× (ii) ±³È¯µÈ Á¤º¸ÀÇ »óÈ£ ÀÌ¿ëÀ» ¸ñÀûÀ¸·Î Á¤º¸¸¦ ¿øÇÏ´Â ÇÁ·Î±×·¥ ¶óÀ̼¾½º »ç¿ëÀÚ´Â ´ÙÀ½ ÁÖ¼Ò·Î ¹®ÀÇÇϽʽÿÀ.
ÀÌ·¯ÇÑ Á¤º¸´Â ÇØ´ç Á¶°Ç(¿¹¸¦ µé¾î, »ç¿ë·á ÁöºÒ µî)¿¡ µû¶ó »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ Á¤º¸¿¡ ±â¼úµÈ ¶óÀ̼¾½º°¡ ÀÖ´Â ÇÁ·Î±×·¥ ¹× ÀÌ ÇÁ·Î±×·¥¿¡ ´ëÇØ »ç¿ë °¡´ÉÇÑ ¸ðµç ¶óÀ̼¾½º°¡ ÀÖ´Â ÀÚ·á´Â IBMÀÌ IBM ±âº» °è¾à, IBM ÇÁ·Î±×·¥ ¶óÀ̼¾½º °è¾à(IPLA) ¶Ç´Â ÀÌ¿Í µ¿µîÇÑ °è¾à¿¡ µû¶ó Á¦°øÇÑ °ÍÀÔ´Ï´Ù.
º» ¹®¼¿¡ Æ÷ÇÔµÈ ¸ðµç ¼º´É µ¥ÀÌÅÍ´Â Á¦ÇÑµÈ È¯°æ¿¡¼ »êÃâµÈ °ÍÀÔ´Ï´Ù. µû¶ó¼ ´Ù¸¥ ¿î¿µ ȯ°æ¿¡¼ ¾ò¾îÁø °á°ú´Â »ó´çÈ÷ ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù. ÀϺΠ¼º´ÉÀº °³¹ß ·¹º§ »óÅÂÀÇ ½Ã½ºÅÛ¿¡¼ ÃøÁ¤µÇ¾úÀ» ¼ö ÀÖÀ¸¹Ç·Î ÀÌ·¯ÇÑ ÃøÁ¤Ä¡°¡ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â ½Ã½ºÅÛ¿¡¼µµ µ¿ÀÏÇÏ°Ô ³ªÅ¸³¯ °ÍÀ̶ó°í´Â º¸ÁõÇÒ ¼ö ¾ø½À´Ï´Ù. ¶ÇÇÑ, ÀϺΠ¼º´ÉÀº ÃßÁ¤À» ÅëÇØ ÃßÃøµÇ¾úÀ» ¼öµµ ÀÖÀ¸¹Ç·Î ½ÇÁ¦ °á°ú´Â ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Ã¥ÀÇ »ç¿ëÀÚ´Â ÇØ´ç µ¥ÀÌÅ͸¦ »ç¿ëÀÚÀÇ Æ¯Á¤ ȯ°æ¿¡¼ °ËÁõÇØ¾ß ÇÕ´Ï´Ù.
ºñIBM Á¦Ç°¿¡ °üÇÑ Á¤º¸´Â ÇØ´ç Á¦Ç°ÀÇ °ø±Þ¾÷ü, °ø°³ ÀÚ·á ¶Ç´Â ´Ù¸¥ ±âŸ ¹ü¿ë ¼Ò½º·ÎºÎÅÍ ¾òÀº °ÍÀÔ´Ï´Ù. IBM¿¡¼´Â ÀÌ·¯ÇÑ ºñIBM Á¦Ç°À» Å×½ºÆ®ÇÏÁö ¾Ê¾ÒÀ¸¹Ç·Î, À̵é Á¦Ç°°ú °ü·ÃµÈ ¼º´ÉÀÇ Á¤È®¼º, ȣȯ¼º ¶Ç´Â ±âŸ ÁÖÀå¿¡ ´ëÇØ¼´Â È®½ÅÇÒ ¼ö ¾ø½À´Ï´Ù. ºñIBM Á¦Ç°ÀÇ ¼º´É¿¡ ´ëÇÑ Àǹ®»çÇ×Àº ÇØ´ç Á¦Ç°ÀÇ °ø±Þ¾÷ü¿¡ ¹®ÀÇÇϽʽÿÀ.
IBMÀº ¹Ì±¹ ¶Ç´Â ±âŸ ±¹°¡¿¡¼ »ç¿ëµÇ´Â International Business Machines CorporationÀÇ »óÇ¥ÀÔ´Ï´Ù.
Java ¹× ¸ðµç Java ±â¹Ý »óÇ¥¿Í ·Î°í´Â ¹Ì±¹ ¶Ç´Â ±âŸ ±¹°¡¿¡¼ Sun Microsystems, Inc.ÀÇ »óÇ¥ ¶Ç´Â µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Linux´Â ¹Ì±¹ ¶Ç´Â ±âŸ ±¹°¡¿¡¼ »ç¿ëµÇ´Â Linus TorvaldsÀÇ »óÇ¥ÀÔ´Ï´Ù.
±âŸ ȸ»ç, Á¦Ç° ¹× ¼ºñ½º À̸§Àº Ÿ»çÀÇ »óÇ¥ ¶Ç´Â ¼ºñ½ºÇ¥ÀÔ´Ï´Ù.
ÀÌ Á¦Ç°¿¡´Â Apache Software Foundation http://www.apache.org/¿¡¼ °³¹ßÇÑ ¼ÒÇÁÆ®¿þ¾î°¡ µé¾î ÀÖ½À´Ï´Ù.