À´Ô´£ºoschina
ǰ²»¾Ã OpenJDK µÄÓʼþÁбíÏÔʾ£¬Oracle µÄ Per Liden ÌáÒ齫 Z À¬»øÊÕ¼¯Æ÷¿ªÔ´£¬²¢ÔÚ OpenJDK ´´½¨ ZGC ÏîÄ¿¡£
¸ù¾Ý OpenJDK µÄÖ¸ÄÏ£¬¸ÃÏîÄ¿½«ÍÐ¹Ü Z À¬»øÊÕ¼¯Æ÷£¬È»ºó²»¶Ï¿ª·¢ÍêÉÆ£¬²¢½«Æä³ÆÎª ZGC¡£ZGCÊÇÒ»¸ö²¢·¢µÄ¡¢ÒÔÇøÓò£¨region£©Îª»ù´¡µÄ¡¢ÔöÁ¿Ê½Ñ¹ËõµÄÊÕ¼¯Æ÷¡£Stop-The-World ½×¶Î½öÏÞÓÚ¸ù¶ÔÏóɨÃ裨root scanning£©½×¶Î·¢Éú£¬ÕâÒâζ×Å GC ÔÝͣʱ¼ä²»»áËæ×Ŷѻò»î¶¯¼¯µÄ´óС¶øÔö¼Ó¡£
ZGC µÄÉè¼ÆË¼Â·ÈçÏ£º
´¦Àí TB Á¿¼¶µÄ¶Ñ£»
GC ʱ¼ä²»³¬¹ý 10ms£»
Ïà¶ÔÓÚʹÓà G1£¬Ó¦ÓÃÍÌÍÂÁ¿µÄ½µµÍ²»³¬¹ý 15%
Ïà¹Ø¹¤×÷ÈËÔ±±íʾÍêÈ«ÓÐÐÅÐÄʵÏÖÉÏÊöÄ¿±ê¡£²¢ÇÒ£¬ÔÚÒ»Ð©ÖøÃûµÄÒµ½ç±ê×¼»ù×¼²âÊÔÖУ¬ZGC ÒѾ´ïµ½»ò³¬¹ý¸ÃÄ¿±êÁË¡£
Ŀǰ£¬ZGC ÒѾÇ÷ÓÚÎȶ¨£¬µ«ÈÔÓÐÐí¶à¹¤×÷Òª×ö¡£ZGC »ò²¢·¢Ö´ÐÐÒÔÏ GC ÈÎÎñ/½×¶Î£º
±ê¼Ç£¨Marking£©
ÒýÓô¦Àí£¨Reference processing£©
ÖØÐ·ÖÅ伯µÄÑ¡Ôñ£¨Relocation set selection£©
ÖØ·ÖÅä/ѹËõ£¨Relocation/Compaction£©
ÏÖÔÚ£¬ÍŶӵÄÖ÷ÒªÈÎÎñ¾ÍÊǽ«ÆäËûµÄ GC ÈÎÎñ/½×¶ÎÒ²±ä³É²¢·¢Ö´ÐС£
¸ÃÏîÄ¿µÄ³õʼԴÂ뽫»ùÓÚ JDK 10 ¿â£¬²¢»ùÓÚ ZGC ²¹¶¡¼¯¹¹½¨¡£JDK 10 ¸¸²Ö¿âµÄ±ä¶¯½«»áͬ²½µ½ ZGC ÖС£
¹ØÓڸüƻ®µÄÏêϸÄÚÈÝ£¬Çë²é¿´Ó¢ÓïÔÎÄ¡£