´ë·®±¸¸ÅȨ >
Àü°øµµ¼­/´ëÇб³Àç
>
°øÇа迭
>
ÄÄÇ»ÅÍ°øÇÐ

ÆîÃ帱â
±âº»±â°¡ źźÇÑ ÀÚ¹Ù °³¹ßÀÚ : ¸ð´ø ÀÚ¹ÙÀÇ »õ·Î¿î ±â´ÉÀ» ¹è¿ì°í ÀÚ¹Ù Àü¹®°¡°¡ µÇ´Â ¹ý
Á¤°¡ 45,000¿ø
ÆǸŰ¡ 40,500¿ø (10% , 4,500¿ø)
I-Æ÷ÀÎÆ® 2,250P Àû¸³(6%)
ÆǸŻóÅ ǰÀý
ºÐ·ù ÄÄÇ»ÅÍ°øÇÐ
ÀúÀÚ Clark, Jason , º¥Àú¹Î J. ¿¡¹ø½º , Martijn Verburg ( ¿ªÀÚ : ±è¼º¿ø )
ÃâÆÇ»ç/¹ßÇàÀÏ Á¦ÀÌÆà / 2024.08.14
ÆäÀÌÁö ¼ö 828 page
ISBN 9791193926277
»óÇ°ÄÚµå 356964070
°¡¿ëÀç°í Àç°íºÎÁ·À¸·Î ÃâÆÇ»ç ¹ßÁÖ ¿¹Á¤ÀÔ´Ï´Ù.
 
ÁÖ¹®¼ö·® :
´ë·®±¸¸Å Àü¹® ÀÎÅÍÆÄÅ© ´ë·®ÁÖ¹® ½Ã½ºÅÛÀ» ÀÌ¿ëÇÏ½Ã¸é °ßÀû¿¡¼­ºÎÅÍ ÇàÁ¤¼­·ù±îÁö Æí¸®ÇÏ°Ô ¼­ºñ½º¸¦ ¹ÞÀ¸½Ç ¼ö ÀÖ½À´Ï´Ù.
µµ¼­¸¦ °ßÀûÇÔ¿¡ ´ãÀ¸½Ã°í ½Ç½Ã°£ °ßÀûÀ» ¹ÞÀ¸½Ã¸é ±â´Ù¸®½Ç ÇÊ¿ä¾øÀÌ ÇÒÀιÞÀ¸½Ç ¼ö ÀÖ´Â °¡°ÝÀ» È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
¸ÅÁÖ ¹ß¼ÛÇØ µå¸®´Â ÀÎÅÍÆÄÅ©ÀÇ ½Å°£¾È³» Á¤º¸¸¦ ¹Þ¾Æº¸½Ã¸é »óÇ°ÀÇ ¼±Á¤À» ´õ¿í Æí¸®ÇÏ°Ô ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

 ´ë·®±¸¸ÅȨ  > Àü°øµµ¼­/´ëÇб³Àç  > °øÇа迭  > ÄÄÇ»ÅÍ°øÇÐ

 
Ã¥³»¿ë
´õ ³ªÀº ÀÚ¹Ù °³¹ßÀÚ°¡ µÇ´Â ¹ýÀÚ¹Ù´Â ¸¹Àº °³¹ßÀÚ¿¡°Ô ÀÌ¹Ì Àͼ÷ÇÑ ¾ð¾î´Ù. 1995³â ½ã ¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî¿¡¼­ °³¹ßÇØ ¹«·Á 30¿© ³â µ¿¾È »ç¶û¹Þ¾Æ¿ÔÀ¸¸ç, ÀÚ¹Ù 21±îÁö Ãâ½ÃµÆ´Ù. Àͼ÷Çϸé ÃʽÉÀ» Àر⠸¶·ÃÀÌ´Ù. Áö±Ýº¸´Ù ´õ ³ªÀº °³¹ßÀÚ°¡ µÇ°í ½Í´Ù¸é ±âº»±â¸¦ °®Ãç¾ß ÇÑ´Ù. ±âº»±â°¡ źźÇÒ¼ö·Ï º¯È­ÇÏ´Â ±â¼ú ȯ°æ¿¡ Àß ÀûÀÀÇØ È°¿ëÇÏ´Â °³¹ßÀÚ°¡ µÉ ¼ö ÀÖ´Ù. ÀÚ¹Ù¿¡ ´ëÇÑ ±âº»±â¸¦ źźÇÏ°Ô °®Ãß°í ½Í°í, 6°³¿ùÀ̶ó´Â ºü¸¥ ¸±¸®½º ÁÖ±â¿Í ÀÚ¹Ù 21ÀÌ Ãâ½ÃµÆÀ½¿¡µµ ¿©ÀüÈ÷ ÀÚ¹Ù 8À» »ç¿ëÇÑ´Ù´Â ÀÌÀ¯·Î »õ·Î¿î ÀÚ¹Ù¸¦ ¹è¿ì´Â °ÍÀÌ ½±Áö ¾Ê¾Ò´Ù¸é ¹Ù·Î ÀÌ Ã¥À» ¼±ÅÃÇÏÀÚ. 2012³â ¡¶The Well-Grounded Java Developer¡·ÀÇ 2ÆÇÀ¸·Î, 10¿© ³â µ¿¾È º¯È­ÇØ¿Â ÀÚ¹Ù¿¡ ´ëÇÑ ¸ðµç °ÍÀ» ´ã¾Ò´Ù. ÀÚ¹Ù 7¿¡¼­ ÀÚ¹Ù 8°ú 11ÀÌ ´ë¼¼·Î ÀÚ¸® Àâ¾Ò°í, ½ºÄ®¶ó´Â ¸Å¿ì °­·ÂÇÑ JVM ¾ð¾î°¡ µÆ´Ù. ÀÌ Ã¥Àº È帧¿¡ ¸ÂÃç ÀÚ¹Ù 8ºÎÅÍ 17±îÁöÀÇ ÁÖ¿ä ±â´É°ú º¯È­¸¦ ü°èÀûÀ¸·Î ¼³¸íÇÑ´Ù. ¶÷´Ù Ç¥Çö½Ä, ½ºÆ®¸² API, ¸ðµâ ½Ã½ºÅÛ, Text ºí·Ï µî ÃֽŠ±â´ÉµéÀ» ½ÇÁ¦ Äڵ忡 ¾î¶»°Ô Àû¿ëÇÒ ¼ö ÀÖ´ÂÁö¸¦ º¸¿©ÁÖ°í, JVM ¾ð¾î¸¦ Æø³Ð°Ô Ž±¸ÇÑ´Ù. ÃÑ 5ºÎ·Î ±¸¼ºµÆ´Ù. 1ºÎ¿¡¼­´Â ¹öÀü 8ºÎÅÍ 11±îÁö¸¦ ÀÚ¼¼È÷ »ìÆ캻´Ù. ÀÚ¹Ù 17·Î ¾÷±×·¹À̵åÇÏ´Â ¹æ¹ý°ú ÇÔ²² ÀÚ¹Ù 11¿¡ Æ÷ÇÔµÈ ÆíÀǼº Çâ»ó¿¡ ´ëÇÑ ³»¿ëÀ¸·Î ½ÃÀÛÇØ ÀÚ¹Ù 8 ÀÌÈÄ ÀÚ¹Ù »ýÅ°è¿Í ¸±¸®½º ÁֱⰡ ¾î¶»°Ô º¯È­Çß´ÂÁö ¾Ë¾Æº»´Ù. ƯÈ÷ ¿ÏÀü ¸ðµâ ½Ã½ºÅÛ Ãß°¡¿¡ ´ëÇØ ÀÚ¼¼È÷ ¾Ë ¼ö ÀÖ¾î ¾ÖÇø®ÄÉÀ̼ǰú ¶óÀ̺귯¸®¿¡¼­ È°¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë°Ô µÉ °ÍÀÌ´Ù. 2ºÎ¿¡¼­´Â JVMÀÌ ½ÇÁ¦·Î ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö »ìÆ캻´Ù. ÀÚ¹Ù °³¹ßÀÚ´Â ÀÚ¹ÙÀÇ µ¿½Ã¼º ±â´É¿¡ ´ëÇØ Àß ¾Ë°í ÀÖ¾î¾ß Çϴµ¥, 2ºÎ¿¡¼­ ÃֽŠÇÁ·Î¼¼¼­¸¦ ÃÖ´ëÇÑ È°¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù. ¶ÇÇÑ, ¼º´É¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â JVMÀÇ µÎ °¡Áö ÁÖ¿ä ºÎºÐÀÎ °¡ºñÁö Ä÷º¼Ç°ú JIT ÄÄÆÄÀÏ·¯¿¡ ´ëÇØ ÁýÁßÀûÀ¸·Î ´Ù·é´Ù. 3ºÎ¿¡¼­´Â JVM¿¡¼­ÀÇ ´ÙÁß ¾ð¾î ÇÁ·Î±×·¡¹ÖÀ» ´Ù·é´Ù. ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀº ÀÚ¹Ù°¡ Ç¥ÇöÇÑ ÀüÇüÀûÀÎ °´Ã¼ÁöÇâÀû ½Ã°¢¿¡ ´ëÇÑ ´ë¾ÈÀ¸·Î °è¼ÓÇؼ­ ÁÖ¸ñ¹Þ°í Àִµ¥, À̸¦ ¾Ë¾Æº¸±â À§ÇØ ÄÚƲ¸°°ú Ŭ·ÎÀú¸¦ »ìÆ캻´Ù. 4ºÎ¿¡¼­´Â ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀ» ºôµå, Å×½ºÆ®, ¹èÆ÷Çϱâ À§ÇÑ µµ±¸¸¦ È¿°úÀûÀ¸·Î »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. °¡Àå ³Î¸® »ç¿ëµÇ´Â µÎ °¡Áö ÀÚ¹Ù ºôµå µµ±¸ÀÎ ¸ÞÀ̺ì°ú ±×·¡µéÀ» »ìÆ캸°í, ÀÚ¹Ù ¾ÖÇø®ÄÉÀÌ¼Ç È¯°æÀ» ÄÁÅ×À̳ʿ¡ ÅëÇÕÇÏ´Â ±¸Ã¼ÀûÀÎ ¹æ¹ý, ´Ù¾çÇÑ Å×½ºÆ® Á¢±Ù ¹æ½Ä°ú °¢°¢ÀÇ Àå´ÜÁ¡¿¡ ´ëÇØ Å½±¸ÇÑ´Ù. 5ºÎ¿¡¼­´Â Áö±Ý±îÁöÀÇ ÇнÀÀ» ±â¹ÝÀ¸·Î ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö, µ¿½Ã¼º, Ç÷§Æû ³»ºÎ¿¡ ´ëÇØ ´õ ±í°Ô »ìÆ캻´Ù. ºÎ·Ï¿¡¼­´Â ÀÚ¹Ù¸¦ ¼±ÅÃÇÏ´Â ¹æ¹ý°ú ÀÚ¹Ù 8 ½ºÆ®¸²°ú °ü·ÃµÈ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» °£·«ÇÏ°Ô ¾Ë¾Æº»´Ù. ÀÌ Ã¥À» ÅëÇØ »õ·Î¿î ÀÚ¹Ù ±â´ÉÀ» ¹ß°ßÇÏ°í, Å×½ºÆ® Á᫐ °³¹ß ¹× ÄÁÅ×ÀÌ³Ê ±â¹Ý ¹èÆ÷¿Í °°Àº ÇʼöÀûÀÎ ÃֽŠ¼ÒÇÁÆ®¿þ¾î ±â¼ú¿¡ Àͼ÷ÇØÁö´Â °ÍÀº ¹°·Ð JVM¿¡¼­ÀÇ ºñÀÚ¹Ù ¾ð¾î¸¦ ÇнÀÇÒ ¼ö ÀÖ´Ù. ±âº»±â°¡ źźÇÑ ÀÚ¹Ù °³¹ßÀÚ¸¦ ³Ñ¾î ÈǸ¢ÇÑ ÀÚ¹Ù °³¹ßÀÚ·Î ¼ºÀåÇÏ´Â µ¥ ÈǸ¢ÇÑ ±æÀâÀÌ°¡ µÉ °ÍÀÌ´Ù. ÁÖ¿ä ³»¿ë ¡Ü ÀÚ¹Ù 11 ¹× 17ÀÇ »õ·Î¿î ±â´É ¡Ü ÄÁÅ×À̳ʿ¡¼­ JVM ½ÇÇàÇÏ´Â ¹ý ¡Ü JDK µ¿½Ã¼º ¶óÀ̺귯¸® »ç¿ë¹ý ¡Ü ÄÚƲ¸° ¹× Ŭ·ÎÀú µî ´Ù¸¥ JVM ¾ð¾îÀÇ Á߿伺 ¡Ü ¸ÞÀ̺ì°ú ±×·¡µé·Î CI/CD¸¦ ±Ø´ëÈ­ÇÏ´Â ¹æ¹ý ¡Ü µ¿½Ã¼º°ú ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö »çÀÌÀÇ »óÈ£ÀÛ¿ë
¸ñÂ÷
ÁöÀºÀÌ¡¤¿Å±äÀÌ ¼Ò°³ xv ¿Å±äÀÌ ¸Ó¸®¸» xvii º£Å¸¸®´õ Èıâ xviii Ãßõ ¼­¹®(ÇÏÀÎÃ÷ Ä«ºÎÃ÷) xx ½ÃÀÛÇϸç xxii °¨»çÀÇ ±Û xxv ÀÌ Ã¥¿¡ ´ëÇÏ¿© xxviii Ç¥Áö¿¡ ´ëÇÏ¿© xxxii PART I ¹öÀü 8¿¡¼­ 11 ±×¸®°í ±× ÀÌÈÄ 1 CHAPTER 1 ¸ð´ø ÀÚ¹Ù ¼Ò°³ 3 1.1 ¾ð¾î¿Í Ç÷§Æû 4 1.2 »õ·Î¿î ÀÚ¹Ù ¸±¸®½º ¸ðµ¨ 6 1.3 Çâ»óµÈ ŸÀÔ Ãß·Ð(var Å°¿öµå) 10 1.4 ¾ð¾î ¹× Ç÷§Æû º¯°æ 15 1.5 ÀÚ¹Ù 11¿¡¼­ÀÇ ÀÛÀº º¯°æ »çÇ× 20 ¢º ¿ä¾à 30 CHAPTER 2 ÀÚ¹Ù ¸ðµâ 31 2.1 ¹è°æ ¼³¸í 32 2.2 ±âº»ÀûÀÎ ¸ðµâ ±¸¹® 41 2.3 ¸ðµâ ·ÎµåÇϱâ 45 2.4 ù ¸ðµâÇü ¾Û ºôµåÇϱâ 48 2.5 ¸ðµâÀ» À§ÇÑ ¾ÆÅ°ÅØó 55 2.6 ¸ðµâÀ» ³Ñ¾î¼­ 64 ¢º ¿ä¾à 66 CHAPTER 3 ÀÚ¹Ù 17 67 3.1 Text ºí·Ï 67 3.2 switch Ç¥Çö½Ä 69 3.3 record 73 3.4 sealed ŸÀÔ 85 3.5 instanceofÀÇ »õ·Î¿î Çü½Ä 91 3.6 ÆÐÅÏ ¸ÅĪ°ú ÇÁ¸®ºä ±â´É 92 ¢º ¿ä¾à 96 PART II ÇÑ ¹ß ´õ µé¾î°¡±â 97 CHAPTER 4 Ŭ·¡½º ÆÄÀÏ°ú ¹ÙÀÌÆ®ÄÚµå 99 4.1 Ŭ·¡½º ·Îµù°ú Ŭ·¡½º °´Ã¼ 100 4.2 Ŭ·¡½º·Î´õ 105 4.3 Ŭ·¡½º ÆÄÀÏ »ìÆ캸±â 117 4.4 ¹ÙÀÌÆ®ÄÚµå 123 4.5 ¸®Ç÷º¼Ç 138 ¢º ¿ä¾à 144 CHAPTER 5 ÀÚ¹Ù µ¿½Ã¼º ±âÃÊ 145 5.1 µ¿½Ã¼º ÀÌ·Ð ÀÔ¹® 146 5.2 µðÀÚÀÎ ÄܼÁÆ® 151 5.3 ºí·Ï ±¸Á¶ µ¿½Ã¼º(ÀÚ¹Ù 5 ÀÌÀü) 156 5.4 ÀÚ¹Ù ¸Þ¸ð¸® ¸ðµ¨ 179 5.5 ¹ÙÀÌÆ®ÄÚµå·Î µ¿½Ã¼º ÀÌÇØÇϱâ 182 ¢º ¿ä¾à 205 CHAPTER 6 JDK µ¿½Ã¼º ¶óÀ̺귯¸® 206 6.1 ÃֽŠµ¿½Ã ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ºôµù ºí·Ï 206 6.2 ¾ÆÅä¹Í Ŭ·¡½º 207 6.3 Àá±Ý Ŭ·¡½º 209 6.4 CountDownLatch 212 6.5 ConcurrentHashMap 214 6.6 CopyOnWriteArrayList 225 6.7 ºí·ÎÅ· Å¥ 229 6.8 ǻó 239 6.9 ÀÛ¾÷°ú ½ÇÇà 243 ¢º ¿ä¾à 251 CHAPTER 7 ÀÚ¹Ù ¼º´É ÀÌÇØÇϱâ 252 7.1 ¸î °¡Áö ¼º´É ¿ë¾îÀÇ ±âº» Á¤ÀÇ 255 7.2 ¼º´É ºÐ¼®¿¡ ´ëÇÑ ½Ç¿ëÀûÀÎ Á¢±Ù ¹æ½Ä 258 7.3 ¹«¾ùÀÌ ¹®Á¦ÀÎÁö ¿Ö ½Å°æ ½á¾ß Çϴ°¡? 265 7.4 ÀÚ¹Ù ¼º´É Æ©´×Àº ¿Ö ¾î·Á¿î°¡? 269 7.5 °¡ºñÁö Ä÷º¼Ç 274 7.6 ÇÖ½ºÆý¿¡¼­ÀÇ JIT ÄÄÆÄÀÏ 284 7.7 JDK Flight Recorder 291 ¢º ¿ä¾à 298 PART III JVM¿¡¼­ ÀÚ¹Ù ¿ÜÀÇ ¾ð¾î 299 CHAPTER 8 ´Ù¸¥ JVM ¾ð¾î 301 8.1 ¾ð¾î ºÐ·ùÇÐ 302 8.2 JVM¿¡¼­ÀÇ ´ÙÁß ¾ð¾î ÇÁ·Î±×·¡¹Ö 307 8.3 ÇÁ·ÎÁ§Æ®¿¡ ºñÀÚ¹Ù ¾ð¾î¸¦ ¼±ÅÃÇÏ´Â ¹æ¹ý 314 8.4 JVMÀÌ ´Ù¸¥ ¾ð¾î¸¦ Áö¿øÇÏ´Â ¹æ¹ý 318 ¢º ¿ä¾à 322 CHAPTER 9 ÄÚƲ¸° 323 9.1 ÄÚƲ¸°À» »ç¿ëÇÏ´Â ÀÌÀ¯ 324 9.2 ÆíÀǼº°ú °£°á¼º 325 9.3 Ŭ·¡½º¿Í °´Ã¼¿¡ ´ëÇÑ ´Ù¸¥ ½Ã°¢ 337 9.4 ¾ÈÀü¼º 345 9.5 µ¿½Ã¼º 349 9.6 ÀÚ¹Ù¿ÍÀÇ »óÈ£ ¿î¿ë¼º 353 ¢º ¿ä¾à 358 CHAPTER 10 Ŭ·ÎÀú: ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ´Ù¸¥ °üÁ¡ 359 10.1 Ŭ·ÎÀú ¼Ò°³ 360 10.2 Ŭ·ÎÀú ã¾Æº¸±â: ±¸¹® ¹× Àǹ̷Р370 10.3 ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö°ú closure 388 10.4 Ŭ·ÎÀú ½ÃÄö½º ¼Ò°³ 390 10.5 Ŭ·ÎÀú¿Í ÀÚ¹Ù °£ÀÇ »óÈ£ ¿î¿ë¼º 397 10.6 ¸ÅÅ©·Î 403 ¢º ¿ä¾à 410 PART IV ºôµå¿Í µðÇ÷ÎÀ̸ÕÆ® 411 CHAPTER 11 ±×·¡µé°ú ¸ÞÀ̺ìÀ» »ç¿ëÇÑ ºôµå 413 11.1 ±âº»±â°¡ źźÇÑ °³¹ßÀÚ¿¡°Ô ºôµå µµ±¸°¡ ¿Ö Áß¿äÇÑ°¡ 413 11.2 ¸ÞÀ̺ì 419 11.3 ±×·¡µé 450 ¢º ¿ä¾à 481 CHAPTER 12 ÄÁÅ×À̳ʿ¡¼­ ÀÚ¹Ù ½ÇÇàÇϱâ 482 12.1 ±âº»±â°¡ Æ°Æ°ÇÑ °³¹ßÀÚ¿¡°Ô ÄÁÅ×À̳ʰ¡ Áß¿äÇÑ ÀÌÀ¯ 483 12.2 µµÄ¿ ±âº» 487 12.3 µµÄ¿·Î ÀÚ¹Ù ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÇϱâ 494 12.4 Äí¹ö³×Ƽ½º 510 12.5 °üÃø °¡´É¼º°ú ¼º´É 519 ¢º ¿ä¾à 524 CHAPTER 13 Å×½ºÆ® ±âº» 525 13.1 Å×½ºÆ®ÇÏ´Â ÀÌÀ¯ 526 13.2 Å×½ºÆ® ¹æ¹ý 526 13.3 Å×½ºÆ® ÁÖµµ °³¹ß 530 13.4 Å×½ºÆ® ´õºí 539 13.5 Junit 4¿¡¼­ 5·Î 552 ¢º ¿ä¾à 559 CHAPTER 14 JunitÀ» ³Ñ¾î¼± Å×½ºÆ® 560 14.1 Å×½ºÆ®ÄÁÅ×À̳ʸ¦ ÀÌ¿ëÇÑ ÅëÇÕ Å×½ºÆ® 560 14.2 Spek°ú ÄÚƲ¸°À» »ç¿ëÇÑ ¸í¼¼ ½ºÅ¸ÀÏ Å×½ºÆà 572 14.3 Ŭ·ÎÀú¸¦ »ç¿ëÇÑ ¼Ó¼º ±â¹Ý Å×½ºÆ® 579 ¢º ¿ä¾à 594 PART V ÀÚ¹ÙÀÇ »õ ¿µ¿ª 595 CHAPTER 15 °í±Þ ÇÔ¼ö ÇÁ·Î±×·¡¹Ö 597 15.1 ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö °³³ä ¼Ò°³ 598 15.2 ÀÚ¹ÙÀÇ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼­ÀÇ ÇÑ°è 603 15.3 ÄÚƲ¸° ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö 619 15.4 Ŭ·ÎÀú ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö 637 ¢º ¿ä¾à 644 CHAPTER 16 °í±Þ µ¿½Ã¼º ÇÁ·Î±×·¡¹Ö 645 16.1 Fork/Join ÇÁ·¹ÀÓ¿öÅ© 646 16.2 µ¿½Ã¼º°ú ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö 653 16.3 ÄÚƲ¸° ÄÚ·çƾÀÇ ³»¸é µé¿©´Ùº¸±â 660 16.4 Ŭ·ÎÀú µ¿½Ã¼º 669 ¢º ¿ä¾à 685 CHAPTER 17 ÃֽŠ³»ºÎ ±¸Á¶ 686 17.1 JVM ³»ºÎ ±¸Á¶ ¼Ò°³: ¸Þ¼­µå È£Ãâ 687 17.2 ¸®Ç÷º¼Ç ³»ºÎ 694 17.3 ¸Þ¼­µå ÇÚµé 700 17.4 Invokedynamic 707 17.5 ³»ºÎÀÇ ÀÛÀº º¯È­µé 713 17.6 Unsafe 721 17.7 Áö¿øµÇ´Â API·Î Unsafe ´ëüÇϱâ 726 ¢º ¿ä¾à 731 CHAPTER 18 ¾ÕÀ¸·ÎÀÇ ÀÚ¹Ù 732 18.1 ÇÁ·ÎÁ§Æ® ¾Ú¹ö 733 18.2 ÇÁ·ÎÁ§Æ® Æijª¸¶ 735 18.3 ÇÁ·ÎÁ§Æ® ·ë 743 18.4 ÇÁ·ÎÁ§Æ® ¹ßÇÒ¶ó 753 18.5 ÀÚ¹Ù 18 762 ¢º ¿ä¾à 763 APPENDIX A ÀÚ¹Ù ¼±ÅÃÇϱâ 765 A.1 ÀÚ¹Ù´Â ¿©ÀüÈ÷ ¹«·á´Ù 765 A.2 ÀÚ¹Ù SE 8 À¯Áö 766 A.3 ÀÚ¹Ù SE 11 ¹Þ±â 766 A.4 ÀÚ¹Ù SE 17(Àå±â Áö¿ø ¹öÀü) ¹Þ±â 767 A.5 À¯·á Áö¿ø 768 APPENDIX B ÀÚ¹Ù 8¿¡¼­ÀÇ ½ºÆ®¸²¿¡ ´ëÇÑ ¿ä¾à 769 B.1 ÇÏÀ§ ȣȯ¼º 769 B.2 µðÆúÆ® ¸Þ¼­µå 770 B.3 ½ºÆ®¸² 772 B.4 Ä÷º¼ÇÀÇ ÇÑ°è 776 B.5 ¹«ÇÑ ½ºÆ®¸² 776 B.6 ¿ø½Ã ŸÀÔ ´Ù·ç±â 777 B.7 º´·Ä ¿¬»ê? 779 ã¾Æº¸±â 781
º»¹®Áß¿¡¼­
JMOD Çü½ÄÀº ±âÁ¸ JAR Çü½Ä°ú ´Ù¼Ò À¯»çÇÏÁö¸¸, ÀÚ¹Ù 8¿¡¼­Ã³·³ º°µµÀÇ °øÀ¯ °´Ã¼ ÆÄÀÏÀ» Á¦°øÇÏÁö ¾Ê°í, ³×ÀÌƼºê Äڵ带 ´ÜÀÏ ÆÄÀÏÀÇ ÀϺηΠÆ÷ÇÔÇÒ ¼ö ÀÖµµ·Ï ¼öÁ¤µÆ´Ù. ¸ÞÀ̺쿡 ¸ðµâÀ» °Ô½ÃÇÏ´Â µî ´ëºÎºÐÀÇ °³¹ßÀÚÀÇ °æ¿ì, ÀÚü ¸ðµâÀ» JMODº¸´Ù´Â ¸ðµâ½Ä JAR·Î ÆÐŰ¡ÇÏ´Â °ÍÀÌ ´õ ÁÁ´Ù. / JIMAGE Çü½ÄÀº ÀÚ¹Ù ·±Å¸ÀÓ À̹ÌÁö¸¦ ³ªÅ¸³»´Â µ¥ »ç¿ëµÈ´Ù. ÀÚ¹Ù 8 ÀÌÀü±îÁö´Â µÎ °¡Áö ·±Å¸ÀÓ À̹ÌÁö(JDK¿Í ÀÚ¹Ù ½ÇÇà ȯ°æ(Java Runtime Environment, JRE))¸¸ Á¸ÀçÇßÁö¸¸, ÀÌ´Â ´ëºÎºÐ ¿ª»çÀû ¿ì¿¬À̾ú´Ù. ¿À¶óŬÀº ¿ÏÀüÇÑ ¸ðµâÈ­¸¦ ÇâÇÑ µðµõµ¹·Î ÀÚ¹Ù 8(¹× ÄÞÆÑÆ® ÇÁ·ÎÆÄÀÏ)°ú ÇÔ²² Server JRE¸¦ µµÀÔÇß´Ù. ÀÌ À̹ÌÁö´Â ±âº»ÀûÀ¸·Î ¼­¹ö Ãø ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿ä±¸ »çÇ׿¡ ¸ÂÃç ´õ ÀÛÀº °ø°£À» Â÷ÁöÇϱâ À§ÇØ ÀϺΠ±â´É(¿¹: GUI ÇÁ·¹ÀÓ¿öÅ©)À» Á¦°ÅÇß´Ù. (34ÂÊ) ÀÚ¹Ù 11¿¡¼­ ´Ù¾çÇÑ ÁÖ¹®À» ¸ðµ¨¸µÇÏ°í ½Í´Ù°í °¡Á¤Çغ¸°Ú´Ù. ÀÌ °æ¿ì µÎ °¡Áö ´ë¾È Áß Çϳª¸¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù. ù°, ½ÇÁ¦ ŸÀÔÀ» º¸À¯ÇÏ´Â »óÅ Çʵ带 °¡Áø ´ÜÀÏ ±¸Çö Ŭ·¡½º(¶Ç´Â ·¹ÄÚµå)ÀÎ FXOrder¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ÀÌ ÆÐÅÏÀº »óÅ Çʵ尡 ¿­°ÅÇüÀÌ°í ÀÌ °´Ã¼°¡ ½ÇÁ¦·Î ¾î¶² ŸÀÔÀ» ÀǹÌÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â Á¤º¸¸¦ Á¦°øÇÔÀ¸·Î½á ÀÛµ¿ÇÑ´Ù. ÀÌ ÆÐÅÏÀº Çʵ尡 °¡Áú ¼ö ÀÖ´Â ¸ðµç ŸÀÔÀÇ °æ¿ì¸¦ ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¸Ó°¡ ÀÏÀÏÀÌ Ã¼Å©ÇÏ°í ÃßÀûÇØ¾ß ÇϹǷΠÂ÷¼±Ã¥ÀÌ µÉ ¼ö ÀÖ´Ù. ¶Ç´Â ±âº» Ãß»ó Ŭ·¡½ºÀÎ BaseOrder¸¦ ¼±¾ðÇÏ°í À̸¦ ¼­ºêŬ·¡½ÌÇؼ­ ±¸Ã¼ÀûÀΠŸÀÔÀÎ MarketOrder¿Í LimitOrder¸¦ °¡Áöµµ·Ï ÇÒ ¼ö ÀÖ´Ù. (86ÂÊ) ¸¹Àº ¿ÀÆÛ·¹ÀÌ¼Ç Äڵ忡´Â ¿©±âÀú±â¼­ ¸î ¹ÙÀÌÆ®¸¦ Àý¾àÇϱâ À§ÇÑ ¹Ù·Î °¡±â Çü½Äshortcut formÀÌ ÀÖ´Ù. ÀϹÝÀûÀÎ ÆÐÅÏÀº ƯÁ¤ ·ÎÄà º¯¼ö°¡ ´Ù¸¥ º¯¼öº¸´Ù ÈξÀ ´õ ÀÚÁÖ ¾×¼¼½ºµÇ¹Ç·Î ·ÎÄà º¯¼ö¸¦ Àμö·Î ÁöÁ¤ÇÏ´Â ´ë½Å ¡®·ÎÄà º¯¼ö¿¡ Á÷Á¢ ÀÏ¹Ý ¿¬»êÀ» ¼öÇ࡯Ç϶ó´Â °ÍÀ» ÀǹÌÇϴ Ư¼öÇÑ ¿ÀÆÛ·¹ÀÌ¼Ç Äڵ带 »ç¿ëÇÏ´Â °ÍÀÌ ÇÕ¸®ÀûÀÌ´Ù. ¿¹¸¦ µé¾î load/store Æйи® ³»¿¡¼­ aload_0, dstore_2¿Í °°Àº ¿ÀÆÛ·¹ÀÌ¼Ç ÄÚµå´Â µ¿µîÇÑ ¹ÙÀÌÆ® ½ÃÄö½ºÀÎ aload 00 ¶Ç´Â dstore 02º¸´Ù 1¹ÙÀÌÆ® ´õ ª´Ù. (138ÂÊ) FutureTask Ŭ·¡½º´Â ÈçÈ÷ »ç¿ëµÇ´Â Future ÀÎÅÍÆäÀ̽ºÀÇ ±¸Çö Áß ÇϳªÀ̸ç, Runnableµµ ±¸ÇöÇÑ´Ù. ÀÌ´Â FutureTask¸¦ ½ÇÇàÀÚ¿¡°Ô Àü´ÞÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. FutureTaskÀÇ API´Â ±âº»ÀûÀ¸·Î Future¿Í RunnableÀÌ °áÇÕµÈ ÇüÅ´Ù. get(), cancel(), isDone(), isCancelled(), run()°ú °°Àº ¸Þ¼­µå°¡ ÀÖ´Ù. ±×·¯³ª ½ÇÁ¦ ÀÛ¾÷À» ¼öÇàÇÏ´Â ¸¶Áö¸· ¸Þ¼­µå´Â Ŭ¶óÀ̾ðÆ® Äڵ尡 Á÷Á¢ È£ÃâÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ½ÇÇàÀÚ¿¡ ÀÇÇØ È£ÃâµÈ´Ù. / FutureTask¿¡´Â Æí¸®ÇÑ »ý¼ºÀÚ µÎ °¡Áö°¡ Á¦°øµÈ´Ù. Çϳª´Â CallableÀ» »ç¿ëÇÏ°í, ´Ù¸¥ Çϳª´Â RunnableÀ» »ç¿ëÇÑ´Ù(ÀÌ °æ¿ì¿¡´Â Executors.callable()À» »ç¿ëÇÏ¿© RunnableÀ» Callable·Î º¯È¯ÇÑ´Ù). ÀÌ´Â ÀÛ¾÷À» À¯¿¬ÇÏ°Ô Ã³¸®ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇϸç, ÀÛ¾÷À» Callable·Î ÀÛ¼ºÇÑ ´ÙÀ½ Runnable ÇüÅÂÀÎ FutureTask·Î ·¡ÇÎÇؼ­ ½ÇÇàÀÚ¿¡°Ô ½ÇÇàÀ» ¿¹¾àÇÏ°í ÇÊ¿äÇÑ °æ¿ì Ãë¼ÒÇÒ ¼ö ÀÖ´Ù. (245ÂÊ) ÄÁÅ×À̳ʴ ¹èÆ÷¸¦ À§ÇÑ ´õ¿í ÀÏ°üµÈ ÆÐŰ¡ÀÇ ¼¼°è¸¦ ¿­¾ú´Ù. ¿¹Àü¿¡´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¹ÙÀÌÆ®µéÀ» ¹èÆ÷ ȯ°æ¿¡ º¹»çÇÏ´Â ¹æ¹ý, ¿î¿µÃ¼Á¦ ÀÇÁ¸¼ºÀ» °ü¸®ÇÏ´Â ¹æ¹ý, ½ÉÁö¾î ÇÁ·Î¼¼½º ½ÃÀÛÀ» °ü¸®ÇÏ´Â ¹æ¹ý±îÁö ¸ðµÎ Á¦°¢°¢À̾ú´Ù. ÄÁÅ×À̳ʴ ÀÌ ¸ðµç °Í¿¡ ´ëÇÑ ÇØ´äÀ» Á¦°øÇϹǷΠ¾öû³­ ¾çÀÇ µµ±¸¿Í »ç¿ëÀÚ Á¤ÀÇ ½ºÅ©¸³Æ®°¡ ÇÊ¿äÇÏÁö ¾Ê´Ù. ¶ÇÇÑ ¹èÆ÷ ȯ°æ°ú ÄÁÅ×À̳ÊÀÇ ÄÜÅÙÃ÷ »çÀÌ¿¡ ´Ü¿­ ±â´ÉÀ» Á¦°øÇÑ´Ù. ÄÁÅ×ÀÌ³Ê ¿£ÁøÀº ÄÁÅ×ÀÌ³Ê ³»ºÎ¸¦ ¾î¶»°Ô ¹èÄ¡ÇÒÁö ½Å°æ ¾µ ÇÊ¿ä ¾øÀÌ ¿äûÀÌ ÀÖÀ» ¶§ ½º½º·Î ½ÃÀÛÇÏ´Â ¹æ¹ý¸¸ ¾Ë¸é µÈ´Ù. ÄÁÅ×ÀÌ³Ê À̹ÌÁöÀÇ ÆÐŰ¡Àº ½Ã½ºÅÛ °èÃþ¿¡ ´ëÇØ ¼±¾ðÀûÀÌ°í, ¼Ò½º ÄÁÆ®·ÑµÈ ¼³¸íÀ» »ç¿ëÇÑ ¼­ºñ½ºÇü ÀÎÇÁ¶ó½ºÆ®·°Ã³(infrastructure as a service, IaaS)ÀÇ Áß¿äÇÑ ¿¹´Ù. °ú°Å¿¡´Â ÁÖÀÇ ±íÀº ¸í·ÉÇü ±¸¼ºÀÌ ÇÊ¿äÇß´ø °Í°ú ´Þ¸® ÇöÀç´Â ´õ¿í °£ÆíÇÏ°Ô ÀÌ·ïÁø´Ù. (486ÂÊ) ÇϽºÄÌ°ú °°Àº ¸¹Àº ÇÔ¼öÇü ¾ð¾î´Â Áö¿¬ Æò°¡¿¡ Å©°Ô ÀÇÁ¸ÇÑ´Ù. ÄÚƲ¸°Àº JVM ¾ð¾î·Î, ÇÙ½É ½ÇÇà ¸ðµ¨¿¡¼­ Áö¿¬ Æò°¡¸¦ Áß½ÉÀ¸·Î µÎÁö ¾Ê´Â´Ù. ±×·¯³ª Lazy ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ÇÊ¿äÇÑ °÷¿¡ Áö¿¬À» À§ÇÑ ÃÖ»óÀÇ Áö¿øÀ» Á¦°øÇÑ´Ù. ÀÌ°ÍÀº 󸮸¦ Áö¿¬½ÃÅ°°Å³ª ¾Æ¿¹ °Ç³Ê¶Ù·Á°í ÇÒ ¶§, Ç¥ÁØ ±¸Á¶¸¦ Á¦°øÇÑ´Ù. / ÀϹÝÀûÀ¸·Î Lazy¸¦ Á÷Á¢ ±¸ÇöÇÏÁö ¾Ê°í lazy() ÇÔ¼ö¸¦ »ç¿ëÇؼ­ ÀνºÅϽº¸¦ »ý¼ºÇÑ´Ù. °¡Àå °£´ÜÇÑ ÇüÅ·Πlazy()´Â ¶÷´Ù¸¦ ÃëÇϸç ÇØ´ç ¶÷´ÙÀÇ ¹Ýȯ ŸÀÔÀÌ ¹ÝȯµÈ ÀÎÅÍÆäÀ̽º TÀÇ Å¸ÀÔÀ» °áÁ¤ÇÑ´Ù. ¶÷´Ù´Â value°¡ ¸í½ÃÀûÀ¸·Î ¿äûÇÒ ¶§±îÁö ½ÇÇàµÇÁö ¾Ê´Â´Ù. ¶ÇÇÑ ´ÙÀ½°ú °°ÀÌ ÀÌ¹Ì °ªÀ» °è»êÇß´ÂÁö È®ÀÎÇÒ ¼öµµ ÀÖ´Ù. (631ÂÊ)

ÀúÀÚ
Clark, Jason
   The Art £¦ Craft of Coffee Cocktails | Clark, Jason | Ryland Peters & Small
   The Art £¦ Craft of Coffee Cocktails | Clark, Jason | Ryland Peters & Small
º¥Àú¹Î J. ¿¡¹ø½º
·¹µåÇÞÀÇ Àڹ٠èÇǾðÀÌÀÚ ¼ö¼® ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î´Ù. ´º·¼¸¯, µµÀÌü ¹æÅ©¿¡¼­ ¼ö¼® ¾ÆÅ°ÅØÆ®¿´À¸¸ç, ¸ð°Ç ½ºÅĸ®¿¡¼­ ¼ö¼® ±â¼ú °­»ç·Î ±Ù¹«Çß´Ù. jClarity¸¦ °øµ¿ ⸳Çß°í, ÀÚ¹Ù Ä¿¹Â´ÏƼ ÇÁ·Î¼¼½º ÁýÇàÀ§¿øȸ¿¡¼­ »õ·Î¿î Àڹ٠ǥÁØÀ» Á¤ÀÇÇÏ´Â µ¥ µµ¿òÀ» Áá´Ù. Àú¼­·Î ¡ºÀÚ¹Ù ÃÖÀûÈ­¡»(ÇѺû¹Ìµð¾î, 2019)¿Í ¡ºJava in a Nutshell¡»(O¡¯Reilly, 2014) µîÀÌ ÀÖ´Ù. Àü ¼¼°è ±â¾÷ ¹× ÄÜÆÛ·±½º¿¡¼­ ÀÚ¹Ù Ç÷§Æû, ½Ã½ºÅÛ ¾ÆÅ°ÅØó, ¼º´É ¹× µ¿½Ã¼º µîÀÇ ÁÖÁ¦·Î Á¤±âÀûÀ¸·Î ¿¬¼³ ¹× ±³À°ÇÏ°í ÀÖ´Ù.
Martijn Verburg
Martijn Verburg is the principal SWE group manager for the Java Engineering Group at Microsoft. He is the co-leader of the London Java User Group (LJC) where he co-founded AdoptOpenJDK, the world's leading (non-Oracle) OpenJDK distribution. He has been made a Java Champion in recognition for his contribution to the Java ecosystem.

¿ªÀÚ
±è¼º¿ø
1999³âºÎÅÍ ¾È·¦ µî ¿©·¯ ȸ»ç¿¡ ±Ù¹«Çϸ鼭 ´Ù¾çÇÑ ¾ð¾î·Î ¿£ÅÍÇÁ¶óÀÌÁî¿ë ÀÀ¿ë ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ Âü¿©ÇØ ¿ÔÀ¸¸ç ÃÖ±Ù¿¡´Â À½¼ºÀνÄ, NLP ±â¼ú¿¡ °ü½ÉÀ» °¡Áö°í ÀÖ´Ù. Àú¼­·Î´Â ¡º»õ·Î ¾²´Â ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¹Ö¡», ¡º½±°Ô Ç®¾î ¾´ ÀÚ¹Ù µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö¡», ¿ª¼­·Î´Â ¡ºiPhone °ÔÀÓ °³¹ßÀÚ ·¹ÆÛ·±½º¡», ¡ºÄÚµù ÀÎÅͺä Äù½ºÃµ¡», ¡ºNode.js µðÀÚÀÎ ÆÐÅÏ ¹ÙÀÌºí¡» µîÀÌ ÀÖ´Ù.
   ÄÚµù ÀÎÅͺä Äù½ºÃµ | ±è¼º¿ø | ¿µÁø´åÄÄ
   Node.js µðÀÚÀÎ ÆÐÅÏ | ±è¼º¿ø | ¿µÁø´åÄÄ
   Node.js µðÀÚÀÎ ÆÐÅÏ ¹ÙÀ̺í | ±è¼º¿ø | ¿µÁø´åÄÄ
   ÄÚµù Å×½ºÆ®·Î ½ÃÀÛÇÏ´Â ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö | ±è¼º¿ø | ¿µÁø´åÄÄ
   ÆÄÀÌºê ¶óÀνº ¿Àºê ÄÚµå | ±è¼º¿ø | À§Å°ºÏ½º
   ¿¹Á¦·Î ¹è¿ì´Â Django 4 | ±è¼º¿ø | ¿µÁø´åÄÄ

ÀÌ ÃâÆÇ»çÀÇ °ü·Ã»óÇ°
ÆÄÀ̽ã°ú ÀÚ¹Ù½ºÅ©¸³Æ®·Î ¹è¿ì´Â OpenAI ÇÁ·Î±×·¡¹Ö | ±è¸ð¼¼,¼î´Ù ¾²¾ß³ë | Á¦ÀÌÆà
Ä¿¸Çµå¶óÀÎ ·¯½ºÆ® | Á¶¼º¸¸,ÄË À¯¿£½º Ŭ¶óÅ© | Á¦ÀÌÆà
ÆÄÀ̽㠽ð迭 ¿¹Ãø ºÐ¼® | µ¿µ¿±¸,Peixeiro, Marco | Á¦ÀÌÆà
´©±¸³ª ½±°Ô ¿Ï¼ºÇÏ´Â ÇÁ·ÎÅ©¸®¿¡ÀÌÆ® µå¸² 2D ¾Ö´Ï¸ÞÀÌ¼Ç with ¾ÆÀÌÆеå | Á¤ÁøÈ£ | Á¦ÀÌÆà
¾Æ¸§´Ù¿î C++ | ¹ÚÁöÀ±,Kate Gregory,J. Davidson | Á¦ÀÌÆà

ÀÌ ºÐ¾ß ½Å°£ °ü·Ã»óÇ°
¿ÀÅäijµå(Auto Cad) ±âÃʺÎÅÍ È°¿ë±îÁö | ¸¶Áö¿ø
³×Æ®¿öÅ© ÀÎÇÁ¶ó ÀÚµ¿È­ :SDN °³³äºÎÅÍ ÆÄÀ̽ã, ¸®´ª½º, Ansible È°¿ë±îÁö | ÇѺû¹Ìµð¾î
¿Ã¹Ù¸¥ ¼ÒÇÁÆ®¿þ¾î ¼³°è | ³²±âÇõ,À¯¹ß ·ÎÀÌ | ¿µÁø´åÄÄ
ÀÚ¹Ù½ºÅ©¸³Æ® + ¸®¾×Æ® µðÀÚÀÎ ÆÐÅÏ | ¾Öµð ¿À½º¸¶´Ï | ÇѺû¹Ìµð¾î
TuckerÀÇ Go ¾ð¾î ÇÁ·Î±×·¡¹Ö | °øºÀ½Ä | °ñµç·¡ºø(ÁÖ)
 
µµ¼­¸¦ ±¸ÀÔÇϽŠ°í°´ ¿©·¯ºÐµéÀÇ ¼­ÆòÀÔ´Ï´Ù.
ÀÚÀ¯·Î¿î ÀÇ°ß ±³È¯ÀÌ °¡´ÉÇÕ´Ï´Ù¸¸, ¼­ÆòÀÇ ¼º°Ý¿¡ ¸ÂÁö ¾Ê´Â ±ÛÀº »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù.

µî·ÏµÈ ¼­ÆòÁß ºÐ¾ß¿Í »ó°ü¾øÀÌ ¸ÅÁÖ ¸ñ¿äÀÏ 5ÆíÀÇ ¿ì¼öÀÛÀ» ¼±Á¤ÇÏ¿©, S-Money 3¸¸¿øÀ» Àû¸³Çص帳´Ï´Ù.
ÃÑ 0°³ÀÇ ¼­ÆòÀÌ ÀÖ½À´Ï´Ù.