À°§U¤¤¤ß | §Úªº±b¸¹ | Ãö©ó§Ú­Ì

²`¤J­åªRJavaµêÀÀ¾÷(·½½X­åªR»P¹ê¨Ò¸Ô¸Ñ°ò¦¨÷)

  • §@ªÌ¡G°¨´¼|³d½s:¼B¥ß­ë
  • ¥Xª©ªÀ¡G¾÷±ñ¤u·~
  • ISBN¡G9787111689898
  • ¥Xª©¤é´Á¡G2021/09/01
  • ¸Ë´V¡G¥­¸Ë
  • ­¶¼Æ¡G501
¤H¥Á¹ô¡GRMB 149 ¤¸      °â»ù¡G¤¸
©ñ¤JÁʪ«¨®
¥[¤J¦¬Âç¨

¤º®e¤j¿û
    ¥»®Ñ¥H¬y¦æªº¤u·~¯ÅJavaµêÀÀ¾÷HotSpot¬°°ò¦¡A¸Ô²Ó­åªR¨ä°ò¦¥\¯à¼Ò¶ôªº·½½X¡A¤O¨DÁ¿²M·¡¨C­Ó­«­n§Þ³Nªº­ì²z©M¹ê²{²Ó¸`¡A¦P®Éµ²¦X¤j¶q¹ê¨Ò©M¹Ï¥ÜÀ°§UŪªÌ§ó¦n¦a²z¸Ñ©ÒÁ¿¤º®e¡C¥»®Ñ¨S¦³¤¶²ÐJava¹B¦æ®Éªº´Ìµ²ºc¡A¥H¤Î¸ÑÄÀ°õ¦æ»P½sͰõ¦æµ¥ª¾ÃÑÂI¡A³o¨Ç¤º®e¦b¥»®Ñªº©n©f½g¡m²`¤J­åªRJavaµêÀÀ¾÷¡G·½½X­åªR»P¹ê¨Ò¸Ô¸Ñ¡]¹B¦æ®É¨÷¡^¡n¤@®Ñ¤¤¶i¦æ¸Ô²Óªº¤¶²Ð¡C
    ¥»®Ñ¦@13³¹¡A³¹¸`¶¶§Ç°ò¥»¤W¬O«ö·ÓÃþªº¥Í©R©P´Á¶i¦æ½s±Æªº¡C¥»®Ñ²[»\ªº¥D­n¤º®e¦³HotSpot VM²¤¶¡B¹ï¶Hªº¤G¤À¼Ò«¬¡BÃþªº¸ü¤J¾÷¨î¡BÃþ»P±`¶q¦Àªº¸ÑªR¡BÄæ¦ìªº¸ÑªR¡B¤èªkªº¸ÑªR¡BÃþªº³s±µ»Pªì©l¤Æ¡B¹B¦æ®É¼Æ¾Ú°Ï¡BÃþ¹ï¶Hªº³Ð«Ø©Mªì©l¤Æ¡BSerial©U§£¦¬¶°¾¹¡BSerial Old©U§£¦¬¶°¾¹¥H¤ÎJava¤Þ¥ÎÃþ«¬ªº¹ê²{­ì²zµ¥¡C
    ¥»®Ñ¥D­n­±¦V·Q­n²`¤J¾Ç²ß©M¬ã¨sJava»y¨¥¹B¦æ­ì²zªº¤H¡A¤×¨ä¬O¥¿¦b±q¨Æ©Î±N¨Ó·Q­n±q¨ÆµêÀÀ¾÷¶}µoªº½sµ{¤H­û¡C¥t¥~¡A¥»®ÑÁÙ«D±`¾A¦XJava¨D¾¤H­û¾\Ū¡A¥i¥HÀ°§U¥L­Ì¨t²Î´x´¤µêÀÀ¾÷ªº¬ÛÃöª¾ÃÑ¡A±q¦Ó´å¤b¦³¾l¦aÀ³¹ï¬ÛÃö¤½¥q©Û¸u®Éªº¦Ò¬d¡C

§@ªÌ¤¶²Ð
°¨´¼|³d½s:¼B¥ß­ë
    °¨´¼¡A¦³¦h¦~ªºJava¶}µo¸gÅç¡A¥ý«á¦b´x´å¤Ñ¤U©M¨ÊªF¶°¹Î¥ô³nÅé¬ãµo¤uµ{®v¡C¹ï½sµ{»y¨¥ªº©³¼h¹ê²{¦³¿@«pªº¿³½ì¡A²`¤J¬ã¨s¹LOpenJDKªº·½½X¹ê²{¡CµÛ¦³¡m²`¤J¸ÑªRJava½s;¹¡G·½½X­åªR»P¹ê¨Ò¸Ô¸Ñ¡n¤@®Ñ¡A»á¨üŪªÌ¦nµû¡C

¥Ø¿ý
«e¨¥
²Ä1³¹  »{ÃÑHotSpot VM
  1.1  ªìÃÑJVM
  1.2  ½sĶOpenJDK 8
    1.2.1  ·Ç³Æ½sĶÀô¹Ò
    1.2.2  ¤U¸ü·½¥N½X
    1.2.3  ½sĶ·½¥N½X
    1.2.4  ³q¹LGDB½Õ¸Õ·½¥N½X
    1.2.5  ³q¹LEclipse½Õ¸Õ·½¥N½X
  1.3  HotSpot VM·½¥N½Xµ²ºc
  1.4  ±Ò°ÊHotSpot VM
²Ä2³¹  ¤G¤À¼Ò«¬
  2.1  JavaÃþªºªí¥Ü¡X¡XKlass
    2.1.1  KlassÃþ
    2.1.2  InstanceKlassÃþ
    2.1.3  InstanceKlassÃþªº¤lÃþ
    2.1.4  ArrayKlassÃþ
    2.1.5  TypeArrayKlassÃþ
    2.1.6  ObjArrayKlassÃþ
  2.2  Java¹ï¶Hªºªí¥Ü¡X¡Xoop
    2.2.1  oopDescÃþ
    2.2.2  markOopDescÃþ
    2.2.3  instanceOopDescÃþ
    2.2.4  arrayOopDescÃþ
    2.2.5  arrayOopDescÃþªº¤lÃþ
  2.3  ¾Þ§@¥y¬`¡X¡XHandle
    2.3.1  ¥y¬`Handleªº©w¸q»P³Ð«Ø
    2.3.2  ¥y¬`HandleªºÄÀ©ñ
²Ä3³¹  Ãþªº¸ü¤J
  3.1  Ãþ¸ü¤J¾¹
    3.1.1  ¤Þ¾ÉÃþ¸ü¤J¾¹/±Ò°ÊÃþ¸ü¤J¾¹
    3.1.2  ÂX®iÃþ¸ü¤J¾¹
    3.1.3  À³¥ÎÃþ¸ü¤J¾¹/¨t²ÎÃþ¸ü¤J¾¹
    3.1.4  ºc³yÃþ¸ü¤J¾¹¹ê¨Ò
    3.1.5  ÃþªºÂù¿Ë©e¬£¾÷¨î
  3.2  ¹w¸ü¤JÃþ
    3.2.1  ®Ö¤ßÃþªº¹w¸ü¤J
    3.2.2  ¼Æ²Õªº¹w¸ü¤J
  3.3  Java¥DÃþªº¸Ë¸ü
  3.4  Ä²µoÃþªº¸Ë¸ü
²Ä4³¹  Ãþ»P±`¶q¦Àªº¸ÑªR
  4.1  Ãþªº¸ÑªR
    4.1.1  Class¤å¥ó®æ¦¡
    4.1.2  ClassFileParserÃþ²¤¶
    4.1.3  ClassFileStreamÃþ²¤¶
    4.1.4  ¸ÑªRÃþ¤å¥ó
    4.1.5  «O¦s¸ÑªRµ²ªG
  4.2  ±`¶q¦Àªº¸ÑªR
    4.2.1  ConstantPoolÃþ
    4.2.2  ³Ð«ØConstantPool¹ê¨Ò

    4.2.3  ¸ÑªR±`¶q¦À¶µ
²Ä5³¹  Äæ¦ìªº¸ÑªR
  5.1  Äæ¦ìªº¸ÑªR°ò¦
    5.1.1  FieldAllocationCount»PFieldAllocationTypeÃþ
    5.1.2  ¬°Äæ¦ì¤À°t¤º¦sªÅ¶¡
    5.1.3  Àò¨úÄæ¦ì«H®§
  5.2  °°¦@¨É
  5.3  Äæ¦ìªº¤º¦s¥¬§½
    5.3.1  ÀRºAÄæ¦ì¤º¦s¶ôªº°¾²¾¶q
    5.3.2  «DÀRºAÄæ¦ì¤º¦s¶ôªº°¾²¾¶q
    5.3.3  ­pºâ¨C­ÓÄæ¦ìªº°¾²¾¶q
    5.3.4  @ContendedÄæ¦ìªº°¾²¾¶q
  5.4  Äæ¦ìªºª`¤J
  5.5  ¹ï¶HÃþ«¬Äæ¦ìªº¹M¾ú
²Ä6³¹  ¤èªkªº¸ÑªR
  6.1  Method»PConstMethodÃþ
    6.1.1  MethodÃþ
    6.1.2  ConstMethod Ãþ
  6.2  ½Õ¥Îparse_methods()¨ç¼Æ¸ÑªR¤èªk
    6.2.1  ³Ð«ØMethod»PConstMethod¹ê¨Ò
    6.2.2  «O¦s¤èªk¸ÑªR«H®§
  6.3  klassVtableµê¨ç¼Æªí
    6.3.1  klassVtableÃþ
    6.3.2  ­pºâvtableªº¤j¤p
    6.3.3  vtableªºªì©l¤Æ
  6.4  klassltableµê¨ç¼Æªí
    6.4.1  klassltableÃþ
    6.4.2  ­pºâitableªº¤j¤p
    6.4.3  itableªºªì©l¤Æ
²Ä7³¹  Ãþªº³s±µ»Pªì©l¤Æ
  7.1  Ãþªº³s±µ
  7.2  ÃþªºÅçÃÒ
  7.3  Ãþªº­«¼g
    7.3.1  ¥Í¦¨±`¶q¦À½w¦s¶µ¯Á¤Þ
    7.3.2  ­«¼g¦ì¤¸²Õ½X«ü¥O
    7.3.3  ³Ð«Ø±`¶q¦À½w¦s
  7.4  ¤èªkªº³s±µ
  7.5  Ãþªºªì©l¤Æ
²Ä8³¹  ¹B¦æ®É¼Æ¾Ú°Ï
  8.1  HotSpot VMªº¤º¦s¹º¤À
  8.2  ¤¸ªÅ¶¡
    8.2.1  ¤¸ªÅ¶¡ªº¼Æ¾Úµ²ºc
    8.2.2  ¤º¦s¶ôªººÞ²z
    8.2.3  ¤º¦s¤À°t
    8.2.4  ¤º¦s¦^¦¬
  8.3  °ïªÅ¶¡
    8.3.1  CollectedHeap¡BGeneration»PSpaceÃþ
    8.3.2  Java°ïªº¦^¦¬µ¦²¤
    8.3.3  Java°ïªºªì©l¤Æ
²Ä9³¹  Ãþ¹ï¶Hªº³Ð«Ø

  9.1  ¹ï¶Hªº³Ð«Ø
  9.2  ¹ï¶Hªº¤º¦s¤À°t
    9.2.1  ¦bTLAB¤¤¤À°t¤º¦s
    9.2.2  ¦b°ï¤¤¤À°t¤º¦s
    9.2.3  ²K¥[¹ï¶H°¾²¾ªí°O¿ý
²Ä10³¹  ©U§£¦^¦¬
  10.1  ¤À¥N©U§£¦^¦¬
    10.1.1  Serial©MSerial Old©U§£¦¬¶°¾¹
    10.1.2  ½Æ»sºtºâªk©M¡u¼Ð°O-¾ã²z¡vºtºâªk
    10.1.3  ¥dªí
  10.2  ©U§£¦^¦¬½uµ{
  10.3  ¦w¥þÂI
    10.3.1  Ãö©ó¦w¥þÂI
    10.3.2  ªý¶ë½uµ{©Mª¬ºA¤Á´«½uµ{¶i¤J¦w¥þÂI
    10.3.3  ¸ÑÄÀ½uµ{¶i¤J¦w¥þÂI
    10.3.4  ½sͽuµ{¶i¤J¦w¥þÂI
    10.3.5  °õ¦æ¥»¦a¥N½X½uµ{¶i¤J¦w¥þÂI
²Ä11³¹  Serial©U§£¦¬¶°¾¹
  11.1  Ä²µoYGC
  11.2  ¦~»´¥Nªº©U§£¦^¦¬
  11.3  ¼Ð°O´¶³qªº®Ú¹ï¶H
  11.4  ¼Ð°O¦Ñ¦~¥N¤Þ¥Îªº¹ï¶H
  11.5  »¼Âk¼Ð°O¬¡ÅD¹ï¶H¨Ã½Æ»s
²Ä12³¹  Serial Old©U§£¦¬¶°¾¹
  12.1  Ä²µoFGC
  12.2  ¼Ð°O¬¡ÅD¹ï¶H
  12.3  ­pºâ¬¡ÅD¹ï¶Hªº¦a§}
  12.4  §