ÄÜÅÙÃ÷ »ó¼¼º¸±â
±âº»±â°¡ źźÇÑ ÀÚ¹Ù °³¹ßÀÚ (Á¦2ÆÇ)


±âº»±â°¡ źźÇÑ ÀÚ¹Ù °³¹ßÀÚ (Á¦2ÆÇ)

<Á¦À̽¼ Ŭ¶óÅ©>,<¸¶¸£Å×ÀÎ Æ丣ºß¸£Èå>,<º¥Àú¹Î J. ¿¡¹ø½º> °øÀú/<±è¼º¿ø> ¿ª | Á¦ÀÌÆà

Ãâ°£ÀÏ
2024-09-11
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
15 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
ÀúÀÚ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

JVMºÎÅÍ ¼º´É, µ¿½Ã¼º, ÄÁÅ×À̳ÊÈ­ µî °í±Þ ±â¼ú±îÁö

ÀÚ¹Ù´Â ¿£ÅÍÇÁ¶óÀÌÁî ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î¸µÀÇ ÇÙ½ÉÀÌ´Ù. ÈǸ¢ÇÑ ÀÚ¹Ù °³¹ßÀÚ°¡ µÇ±â À§Çؼ± ±âº»±â¸¦ °®Ãç¾ß ÇÑ´Ù. ÀÌ Ã¥Àº ÀÚ¹Ù 8 ÀÌÈÄ ÀÚ¹Ù »ýÅ°è¿Í ¸±¸®½º ÁֱⰡ ¾î¶»°Ô º¯È­Çß´ÂÁö »ìÆ캸¸ç, ƯÈ÷ ÀÚ¹Ù 11 ¹× 17¿¡ Ãß°¡µÈ »õ·Î¿î ±â´ÉÀ» ¼³¸íÇÑ´Ù. ÀÚ¹Ù ¸ðµâ ¹× µ¿½Ã¼º ¸ðµ¨, Ŭ·¡½º ·Îµù°ú °°Àº °­·ÂÇÑ ±â´ÉºÎÅÍ ¼º´É ÃÖÀûÈ­¿Í ¹ÙÀÌÆ®Äڵ带 À§ÇÑ °í±Þ ±â¼ú ±×¸®°í Å×½ºÆ® Á᫐ °³¹ß°ú ÄÁÅ×ÀÌ³Ê ±â¹Ý ¹èÆ÷¿Í °°Àº Çʼö ÃֽŠ±â¼ú±îÁö ¾Ë¾Æº»´Ù. ÄÚƲ¸° ¹× Ŭ·ÎÀú µî ´Ù¸¥ JVM ¾ð¾î±îÁö ´Ù·ï ÀÚ¹Ù ±â¼úÀ» ÇÑÃþ ´õ ¾÷±×·¹À̵åÇÏ°í źźÇÑ ±â¹ÝÀ» ´ÙÁú ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù.

ÀúÀÚ¼Ò°³

·¹µåÇÞÀÇ Àڹ٠èÇǾðÀÌÀÚ ¼ö¼® ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î´Ù. ´º·¼¸¯, µµÀÌü ¹æÅ©¿¡¼­ ¼ö¼® ¾ÆÅ°ÅØÆ®¿´À¸¸ç, ¸ð°Ç ½ºÅĸ®¿¡¼­ ¼ö¼® ±â¼ú °­»ç·Î ±Ù¹«Çß´Ù. jClarity¸¦ °øµ¿ ⸳Çß°í, ÀÚ¹Ù Ä¿¹Â´ÏƼ ÇÁ·Î¼¼½º ÁýÇàÀ§¿øȸ¿¡¼­ »õ·Î¿î Àڹ٠ǥÁØÀ» Á¤ÀÇÇÏ´Â µ¥ µµ¿òÀ» Áá´Ù. Àú¼­·Î ¡ºÀÚ¹Ù ÃÖÀûÈ­¡»(ÇѺû¹Ìµð¾î, 2019)¿Í ¡ºJava in a Nutshell¡»(O¡¯Reilly, 2014) µîÀÌ ÀÖ´Ù. Àü ¼¼°è ±â¾÷ ¹× ÄÜÆÛ·±½º¿¡¼­ ÀÚ¹Ù Ç÷§Æû, ½Ã½ºÅÛ ¾ÆÅ°ÅØó, ¼º´É ¹× µ¿½Ã¼º µîÀÇ ÁÖÁ¦·Î Á¤±âÀûÀ¸·Î ¿¬¼³ ¹× ±³À°ÇÏ°í ÀÖ´Ù.

¸ñÂ÷

ÁöÀºÀÌ¡¤¿Å±äÀÌ ¼Ò°³ 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