°³¹ßÀÚ »ý»ê¼º Çâ»ó ¹× ¸ÖƼ-ÄÚ¾î ¼º´É, Ç÷§Æû È®À强¿¡ ÁýÁß
[º¸¾È´º½º ±èÅÂÇü] ¿À¶óŬ(www.oracle.com)Àº JavaOne 2012¿¡¼ ÀÚ¹Ù Ç÷§Æû ½ºÅÄ´Ùµå ¿¡µð¼Ç(Java Platform, Standard Edition; Java SE) 8°ú ÀÚ¹Ù FX(JavaFX) 8ÀÇ ·Îµå¸ÊÀ» ¹ßÇ¥Çß´Ù. ¶ÇÇÑ ¿À¶óŬÀº 2013³â ÇϹݱ⿡ ÀÚ¹Ù SE 8(Java SE 8) ¹öÀüÀ» ÀÌ¿ëÇÒ ¼ö ÀÖÀ» °ÍÀ̶ó°í ¹àÇû´Ù.
ÀÚ¹Ù SE 8(JSR 337) Àü¹®°¡ ±×·ìÀº ÃÖ±Ù ÇÁ·ÎÁ§Æ® Á÷½î(Jigsaw)·Î ¾Ë·ÁÁø ¸ðµâÈ ½Ã½ºÅÛÀÇ Ãß°¡¸¦ ¿¬±âÇϱâ·Î °áÁ¤ÇßÀ¸¸ç ÀÚ¹Ù Ç÷§ÆûÀÇ ¸ðµâÈ´Â Ä¿¹Â´ÏƼÀÇ ÃæºÐÇÑ ¸®ºä ¹× Å×½ºÆÃÀ» °ÅÄ£ ÈÄ ÀÚ¹Ù SE 9¿¡¼ ±¸ÇöÇϱâ·Î Çß´Ù°í ¹àÇû´Ù.
¿À¶óŬÀº ÀÛÀº µð¹ÙÀ̽º¿¡¼µµ ÀÚ¹Ù SE 8ÀÇ ¼³Ä¡ ¹× ½ÇÇàÀÌ °¡´ÉÇϵµ·Ï Áö¿øÇϱâ À§ÇØ ÀÚ¹Ù SE Ç÷§ÆûÀÇ ÄÄÆÑÆ® ÇÁ·ÎÆÄÀÏ(compact Profiles) µéÀ» Á¦¾ÈÇß´Ù.
Ãß°¡ÀûÀ¸·Î Á¦¾ÈµÈ ÀÚ¹Ù SE 8 °ú ÀÚ¹Ù°³¹ßÅ°Æ®(JDK 8)ÀÇ ±â´ÉµéÀº ´ÙÀ½°ú °°´Ù.
¡â°³¹ßÀÚÀÇ »ý»ê¼º Çâ»ó ¹× ¸ÖƼÄÚ¾î CPUÀÇ È°¿ëµµ ±Ø´ëÈ, ÀÚ¹Ù Ä÷º¼Ç ÇÁ·¹ÀÓ¿öÅ©(Java Collections Framework)ÀÇ ´ë¿ë·® µ¥ÀÌÅÍ Ã³¸® °È¸¦ À§ÇÑ ÇÁ·ÎÁ§Æ® ¶÷´Ù Ç¥Çö½Ä(Lambda expressions)À» Áö¿øÇÑ´Ù.
¡âÀÚ¹Ù °¡»ó ¸Ó½Å(JVM)À» À§ÇÑ ÃÖÀûÈµÈ »õ·Î¿î ÀÚ¹Ù½ºÅ©¸³Æ® ¿£Áø ³ª½ºÈ£¸¥(Nashorn)À» ÅëÇØ ÀÚ¹Ù¿Í ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ »óÈ£ ¿î¿µ¼ºÀ» ±Ø´ëÈÇÑ´Ù.
¡â»õ·Î¿î ³¯Â¥ ¹× ½Ã°£, Ķ¸°´õ API(JSR 310) ±â´ÉÀ» Á¦°øÇÑ´Ù.
¡â³»ÀåµÈ µ¥ÀÌÅÍ Å¸ÀÔ ½Ã½ºÅÛ(Type system)À» °³¼±ÇÒ ¼ö ÀÖ´Â, Ç÷¯±×ÀÎ ÇüÅÂÀÇ Å¸ÀÔ °Ë»ç±â(Type Checkers)ÀÇ °³¹ßÀ» Áö¿øÇÏ´Â ¾î³ëÅ×ÀÌ¼Ç ½ºÆå(Annotations on Java types)À» Á¦°øÇÑ´Ù.
¡â¿À¶óŬ ÇÖ½ºÆÌ JVMÀÇ ÆÛ¸Ó³ÍÆ® Á¦³Ê·¹À̼Ç(Permanent Generation) ¿µ¿ªÀ» Á¦°ÅÇÏ¿© °¡ºñÁö Ä÷º¼Ç(Garbage Collection)ÀÌ º¸´Ù ½±°í È¿À²ÀûÀ¸·Î ÀÌ·ç¾îÁöµµ·Ï Çß´Ù.
¿À¶óŬÀº ¿À¶óŬ ÇÖ½ºÆÌ JVM°ú ¿À¶óŬ JRockit JVMÀ» Çϳª·Î ÅëÇÕÇÏ´Â ÀÛ¾÷À» ÃßÁø Áß¿¡ ÀÖÀ¸¸ç ÃÖ°íÀÇ ±â´É¸¸À» äÅÃÇؼ ÅëÇÕµÈ Á¦Ç°À¸·Î Á¦°øÇÒ °èȹÀÌ´Ù.
JDK 7Àº ÅëÇÕµÈ JVMÀÇ Ã¹ ¹ø° ¹öÀüÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÀÌ´Â JRockitÀÇ °ü¸®¿ëÀ̼º, ¸ÞŸµ¥ÀÌÅÍ ½ºÅ丮Áö, JRockit Flight RecorderÀÇ Ãʱ⠹öÀü¿¡ ÀÖ¾ú´ø ±â´ÉµéÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù.
ÇÖ½ºÆÌ°ú JRockitÀÇ JVM ÅëÇÕ ÇÁ·ÎÁ§Æ®´Â JDK 8¿¡¼ ¿Ï¼ºµÉ °ÍÀ̸ç, ¼º´É °È ¹× Á¦ 2 ¼¼´ë ÀÚ¹Ù Flight Recorder¸¦ ¼±º¸ÀÏ ¿¹Á¤ÀÌ´Ù.
OpenJDK Community´Â ÀÚ¹Ù SE 8 RI(Reference Implementation) ÀÇ °³¹ßÀ» ÁÖµµÇÒ °èȹÀ̸ç JDK 8¿¡ ´ëÇÑ °³¹ßÀÚ ÇÁ¸®ºä ºôµå(Weekly developer preview build)´Â ȨÆäÀÌÁö(jdk8.java.net)¸¦ ÅëÇØ Áö¼ÓÀûÀ¸·Î ´Ù¿î·Îµå ¹× ÀÌ¿ëÀÌ °¡´ÉÇÏ´Ù. OpenJDK´Â ¿À¶óŬ ¹× ´Ù¸¥ ±â¾÷, ¿¬±¸¿ø, °³ÀεéÀÇ ±âºÎ¿¡ ÀÇÇØ Áö¼ÓÀûÀ¸·Î ¼ºÀåÇØ ³ª°¡°í ÀÖ´Ù.
ÀÚ¹Ù FX ·Îµå¸Ê
ÀÚ¹Ù FX 8Àº ¿À¶óŬ JDK 8ÀÇ ÀϺκÐÀ¸·Î Ãâ½ÃµÉ ¿¹Á¤ÀÌ´Ù. ÀÓº£µðµå ½Ã½ºÅÛ ¾ÖÇø®ÄÉÀ̼ǰú µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ÇÀÌ µ¿ÀÏÇÑ ÇÁ·Î±×·¡¹Ö ȯ°æ¿¡¼ °³¹ßµÉ ¼ö ÀÖ°Ô ÇÏ´Â Java SE 8 Embedded¸¦ À§ÇÑ À¯Àú ÀÎÅÍÆäÀ̽º(User Interface; UI) ÅøŶÀ» žÀçÇÒ ¿¹Á¤ÀÌ´Ù. ¿¹»óµÇ´Â ÁÖ¿ä ±â´ÉÀº ´ÙÀ½°ú °°´Ù.
¡âÆÛºí¸¯ UI ÄÜÆ®·Ñ API(Public UI Control API)¸¦ ÅëÇØ ½áµå ÆÄƼ(Third Party) °³¹ßÀÚµéÀÌ UI ÄÜÆ®·ÑÀ» °³¹ßÇÏ°í, ȣȯ¼ºÀ» È®ÀÎÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
¡âÀ¥ºä¿¡¼ HTML5 ű׸¦ Áö¿øÇÏ¿©, ÀÚ¹Ù¿Í HTML 5ÀÇ ½Ã³ÊÁö¸¦ °ÈÇÑ´Ù.
¡â3D Áö¿øÀ» °ÈÇØ µ¥ÀÌÅÍ ½Ã°¢È(Data Visualization)¿Í »ç¿ëÀÚ ÀÎÅÍÆäÀ̽ºÀÇ Çõ½ÅÀ» Áö¿øÇÑ´Ù.
¡âBi-Directional(BiDi) ¾ð¾î ¹× Complex character setsÀ» Áö¿øÇØ º¸´Ù Çâ»óµÈ ´Ù±¹¾î Áö¿ø(Internationalization) ±â´ÉÀ» Á¦°øÇÑ´Ù.
¡âÀÚ¹Ù FX ¾Àºô´õ(JavaFX SceneBuilder) 2.0Àº ÀÚ¹Ù FX 8ÀÇ ÁÖ¿ä±â´ÉÀ» Áö¿øÇÒ »Ó ¾Æ´Ï¶ó ³ÝºóÁî ÅëÇÕ °³¹ß ȯ°æ(NetBeans Integrated Development Environment; IDE) ¹× ±âŸ ÀÚ¹Ù IDE¿Í ½±°Ô »óÈ£ ÀÛ¿ëÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
¿À¶óŬÀº ÀÚ¹Ù SE 9¿¡¼ ÀÚ¹Ù Ä¿¹Â´ÏƼ ÇÁ·Î¼¼½º(Java Community Process; JCP)¸¦ ÅëÇÑ ÀÚ¹Ù FX¿Í °ü·ÃµÈ ºÎºÐµéÀÇ Ç¥ÁØȸ¦ ½ÃµµÇÒ °èȹÀÌ´Ù.
[±èÅÂÇü ±âÀÚ(boan@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(http://www.boannews.com/) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>