1-2-2.Ç÷§Æû µ¶¸³¼º

ÀÚ¹Ù°¡ ±âÁ¸ ¾ð¾î¿Í ´Ù¸¥ °¡Àå Å« Â÷ÀÌÁ¡Àº Áß°£ Äڵ带 »ç¿ëÇÑ´Ù´Â Á¡ÀÌ´Ù. ³×ÀÌƼºê ¾ð¾îÀÇ °á°ú¹°ÀÎ exe ÆÄÀÏÀº CPU°¡ Çؼ®ÇÒ ¼ö ÀÖ´Â ±â°è¾î¿©¼­ ¹Ù·Î ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ¹Ý¸é ÀÚ¹Ù°¡ »ý¼ºÇϴ Ŭ·¡½º ÆÄÀÏ¿¡´Â °¡»ó ¸Ó½ÅÀ» À§ÇÑ ¹ÙÀÌÆ® Äڵ常 ÀÖÀ» »Ó CPU°¡ ¹Ù·Î ½ÇÇàÇÒ ¼ö ¾ø´Ù.

Ŭ·¡½º ÆÄÀÏ ±× ÀÚü´Â ½ÇÇàÇÒ ¼ö ¾øÀ¸¸ç °á±¹Àº ±â°è¾î·Î ¹Ù²ã¾ß Çϴµ¥ ÄÄÆÄÀÏ Å¸ÀÓÀÌ ¾Æ´Ñ ·±Å¸ÀÓ¿¡ ¹ø¿ªµÈ´Ù. java.exe·Î °¡»ó ¸Ó½ÅÀ» ±âµ¿ÇÏ°í ½ÇÇàÇÒ Å¬·¡½º¸¦ ¾Ë·Á ÁÖ¸é JIT(Just In Time) ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ ±â°è¾î·Î ¹ø¿ªµÇ¾î ½ÇÇàµÈ´Ù.

ÀϹÝÀûÀ¸·Î ½ÇÇà ÆÄÀÏÀº »ý¼ºÇÑ È¯°æ¿¡¼­¸¸ ±¸µ¿µÈ´Ù. À©µµ¿ì¿¡¼­ ÄÄÆÄÀÏÇϸé À©µµ¿ì¿ë ½ÇÇà ÆÄÀÏÀÌ µÇ°í ¸Æ¿¡¼­ ÄÄÆÄÀÏÇÏ¸é ¸Æ¿ë ½ÇÇà ÆÄÀÏÀÌ µÈ´Ù. ±×·¯³ª ÀÚ¹ÙÀÇ Å¬·¡½º ÆÄÀÏÀº °¡»ó ¸Ó½ÅÀ» À§ÇÑ Äڵ常 »ý¼ºÇϹǷΠ¾îµð¼­ ¸¸µé¾ú°Ç °¢ ¿î¿µÃ¼Á¦º° °¡»ó ¸Ó½Å(VM:Virtual Machine) À§¿¡¼­ Àß ½ÇÇàµÈ´Ù.

Ŭ·¡½º ÆÄÀÏÀ» ½ÇÇàÇÏ´Â ÁÖü´Â ¿î¿µÃ¼Á¦°¡ ¾Æ´Ñ °¡»ó ¸Ó½ÅÀÌ´Ù. ¾î¶² VMÀ§¿¡¼­ ½ÇÇàÇϴ°¡¿¡ µû¶ó ¹ø¿ªÀÌ ´Þ¶óÁø´Ù. VMÀº ¿î¿µÃ¼Á¦º°·Î µû·Î Á¦°øµÇ¸ç °¢ ¿î¿µÃ¼Á¦¿¡ Á¾¼ÓÀûÀÌ´Ù. À©µµ¿ì¿¡¼­´Â À©µµ¿ì¿ë VMÀÌ À©µµ¿ì¿¡ ¸Â´Â ÄÚµå·Î ¹ø¿ªÇÏ°í, ¸®´ª½º¿¡¼­´Â ¸®´ª½º¿ë VMÀÌ ¸®´ª½º¿¡ ¸Â´Â ÄÚµå·Î ¹ø¿ªÇÑ´Ù. ±×·¡¼­ Ŭ·¡½º ÆÄÀÏÀº ¾îµð¿¡¼­³ª Àß ½ÇÇàµÈ´Ù.

ÀÚ¹Ù´Â ÇÁ·Î±×·¥À» ¸¸µå´Â ¾ð¾îÀ̸鼭 µ¿½Ã¿¡ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â Ç÷§ÆûÀÌ´Ù. º¸Åë Ç÷§ÆûÀ̶ó Çϸé Çϵå¿þ¾î¿Í ¿î¿µÃ¼Á¦·Î ±¸¼ºµÈ ½ÇÇà ȯ°æÀ» ÀǹÌÇϴµ¥ ÀÚ¹Ù´Â ¼ÒÇÁÆ®¿þ¾î¸¸À¸·Î ±¸¼ºµÈ ³í¸®ÀûÀÎ Ç÷§ÆûÀÌ´Ù. ÀÚ¹Ù Ç÷§ÆûÀº °¡»ó ¸Ó½Å°ú ÀÚ¹Ù API·Î ±¸¼ºµÇ¸ç ´Ù¸¥ ¿î¿µÃ¼Á¦ À§¿¡¼­ ½ÇÇàµÈ´Ù.

°¡»ó ¸Ó½ÅÀº ¼ÒÇÁÆ®¿þ¾î·Î ¸¸µç °¡Â¥ ÄÄÇ»ÅÍÀÌ´Ù. ÀÚ¹Ù API´Â ¹Ì¸® ¸¸µé¾î ³õÀº Ŭ·¡½ºÀÇ ÁýÇÕÀ̸ç ÀÚ¹Ù ÀÀ¿ë ÇÁ·Î±×·¥Àº ÀÌ API¸¦ È£ÃâÇÏ¿© °¡»ó ¸Ó½ÅÀÇ ±â´ÉÀ» »ç¿ëÇÑ´Ù. ÀÚ¹Ù ÀÀ¿ë ÇÁ·Î±×·¥Àº ¾Æ·¡ÂÊÀÇ Çϵå¿þ¾î³ª ¿î¿µÃ¼Á¦¿Í Á÷Á¢ Åë½ÅÇÏÁö ¾ÊÀ¸¸ç Áß°£ÀÇ ÀÚ¹Ù Ç÷§Æû¿¡¼­ ½ÇÇàµÈ´Ù.

±×·¡¼­ ÀÚ¹Ù´Â Ç÷§Æû¿¡ µ¶¸³ÀûÀÌ´Ù. ¹ÙÀÌÆ® ÄÚµå´Â ¿À·ÎÁö ÀÚ¹Ù °¡»ó ¸Ó½Å(JVM:Java Virtual Machine)¿¡¼­¸¸ ½ÇÇàµÇµµ·Ï Ç¥ÁØÈ­µÇ¾î ÀÖ´Ù. ´ë½Å °¡»ó ¸Ó½ÅÀº Ç÷§Æûº°·Î Á¦°øµÈ´Ù. Çϵå¿þ¾îÀÇ ´Ù¾ç¼ºÀº ¿î¿µÃ¼Á¦°¡ ±Øº¹ÇØ ÁÖ°í ¿î¿µÃ¼Á¦ÀÇ ´Ù¾ç¼ºÀº °¡»ó ¸Ó½ÅÀÌ ±Øº¹ÇÑ´Ù.

¾îµð¿¡¼­³ª Àß ½ÇÇàµÇ´Â ÀÚ¹Ù ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ Æ¯¼ºÀ» WORA(Write Once Run Anywhere)¶ó°í ºÎ¸¥´Ù. ÇÑ ¹ø¸¸ Àß ¸¸µé¾î µÎ¸é ¾îµð¼­³ª ½ÇÇàÇÒ ¼ö ÀÖ¾î »ý»ê¼ºÀÌ ³ô°í À̱âÁ¾ÀÇ ³×Æ®¿÷ ȯ°æÀÎ À¥¿¡ ÃÖÀûÀÌ´Ù.

´ë½Å ´À¸®´Ù´Â Ä¡¸íÀûÀÎ ¾àÁ¡ÀÌ ÀÖ´Ù. Áß°£ ÄÚµå´Â CPU°¡ Á÷Á¢ ½ÇÇàÇÏ´Â ³×ÀÌƼºê Äڵ庸´Ù ´ë·« 2.5¹è ´À·Á È°¿ëµµ¿¡ Á¦¾àÀÌ ÀÖ´Ù. º¹ÀâÇÑ µ¥½ºÅ©Å¾ ÀÀ¿ë ÇÁ·Î±×·¥À̳ª ¼Óµµ¸¦ ¿äÇÏ´Â °ÔÀÓ¿¡´Â ÀûÇÕÇÏÁö ¾Ê´Ù. ¶Ç °øÅëÀûÀÎ ±â´É¸¸ Á¦°øÇϹǷΠÇ÷§ÆûÀÇ °íÀ¯ÇÑ ±â´ÉÀ» È°¿ëÇϱ⠾î·Æ´Ù´Â ´ÜÁ¡µµ ÀÖ´Ù.

ÀÌ·± ÇÚµðĸÀÌ ÀÖÀ½¿¡µµ ÀÚ¹Ù°¡ ¼º°øÇÑ ÀÌÀ¯´Â Çϵå¿þ¾îÀÇ ºñ¾àÀûÀÎ ¹ßÀüÀ¸·Î ¼Óµµ°¡ ÃæºÐÈ÷ »¡¶óÁ³°í ÀÚ¹Ù ÀÚüµµ ÃÖÀûÈ­µÈ JIT, AOT ÄÄÆÄÀÏ·¯¸¦ µµÀÔÇÏ¿© ¼Óµµ¸¦ °³¼±Ç߱⠶§¹®ÀÌ´Ù. ¿äÁòÀº ÀΰǺñ°¡ ºñ½Î µÎ ¹èÀÇ Àηº¸´Ù µÎ ¹è ºü¸¥ Çϵå¿þ¾î¸¦ ÅõÀÔÇÏ´Â °ÍÀÌ ´õ °æÁ¦ÀûÀÌ°í È®½ÇÇÑ ÇØ°áÃ¥ÀÌ´Ù.

ÇÑ ¹ø Àß ¸¸µé¾î ³õÀº Äڵ带 ÀÓÀÇÀÇ ÇÁ·ÎÁ§Æ®¿¡ µÎ·ç »ç¿ëÇÒ ¼ö ÀÖ´Â Àç»ç¿ë¼ºµµ Áß¿äÇÑ ÀåÁ¡ÀÌ´Ù. ÀÚ¹Ù´Â °´Ã¼ÁöÇâÀÇ Àç»ç¿ë¼º¿¡ Ç÷§Æû µ¶¸³¼º±îÁö °®Ãß¾î ¾î¶² ¾ð¾îº¸´Ù Àç»ç¿ë¼ºÀÌ Å¹¿ùÇÏ´Ù. ÀÚ¹Ù ÇÁ·¹ÀÓ¿öÅ©´Â ½Å¼ÓÇÑ °³¹ß, ¾ÈÁ¤ÀûÀÎ ±â´É, ÀçÈ°¿ë¼ºÀ» Àß ÃæÁ·ÇÏ¿© ´ë±Ô¸ðÀÇ ÆÀ ÇÁ·ÎÁ§Æ®¿¡ ÀûÇÕÇÏ´Ù.