java GC Àí½â
Ò»¸öÓÅÐãµÄjava±à³Ì³ÌÐòÔ±±ØÐëÁ˽âGCµÄ¹¤×÷ÔÀí¡¢ÈçºÎÓÅ»¯GCµÄÐÔÄÜ¡¢ÈçºÎÓëGC½øÐÐÓÐÏ޵Ľ»»¥£¬ÒòΪÓÐһЩӦÓóÌÐò¶ÔÐÔÄÜÒªÇó½Ï¸ß£¬ÀýÈçǶÈëʽϵͳ¡¢ÊµÊ±ÏµÍ³µÈ£¬Ö»ÓÐÈ«ÃæÌáÉýÄÚ´æµÄ¹ÜÀíЧÂÊ £¬²ÅÄÜÌá¸ßÕû¸öÓ¦ÓóÌÐòµÄÐÔÄÜ¡£±¾ÆªÎÄÕÂÊ×Ïȼòµ¥½éÉÜGCµÄ¹¤×÷ÔÀíÖ®ºó£¬È»ºóÔÙ¶ÔGCµÄ¼¸¸ö¹Ø¼üÎÊÌâ½øÐÐÉîÈë̽ÌÖ£¬×îºóÌá³öһЩjava±à³Ì³ÌÐòÉè¼Æ½¨Ò飬´ÓGC½Ç¶ÈÌá¸ßjava±à³Ì³ÌÐòµÄÐÔÄÜ¡£
¡¡¡¡GCµÄ»ù±¾ÔÀí
¡¡¡¡java±à³ÌµÄÄÚ´æ¹ÜÀíʵ¼ÊÉϾÍÊǶÔÏóµÄ¹ÜÀí£¬ÆäÖаüÀ¨¶ÔÏóµÄ·ÖÅäºÍÊÍ·Å¡£
¡¡¡¡¶ÔÓÚ³ÌÐòÔ±À´Ëµ£¬·ÖÅä¶ÔÏóʹÓÃnew¹Ø¼ü×Ö£»ÊͷŶÔÏóʱ£¬Ö»Òª½«¶ÔÏóËùÓÐÒýÓø³ÖµÎªnull£¬ÈóÌÐò²»Äܹ»ÔÙ·ÃÎʵ½Õâ¸ö¶ÔÏó£¬ÎÒÃdzƸöÔÏóΪ"²»¿É´ïµÄ".GC½«¸ºÔð»ØÊÕËùÓÐ"²»¿É´ï"¶ÔÏóµÄÄÚ´æ¿Õ¼ä¡£
¡¡¡¡¶ÔÓÚGCÀ´Ëµ£¬µ±³ÌÐòÔ±´´½¨¶ÔÏóʱ£¬GC¾Í¿ªÊ¼¼à¿ØÕâ¸ö¶ÔÏóµÄµØÖ·¡¢´óСÒÔ¼°Ê¹ÓÃÇé¿ö¡£Í¨³££¬GC²ÉÓÃÓÐÏòͼµÄ·½Ê½¼Ç¼ºÍ¹ÜÀí¶Ñ£¨heap£©ÖеÄËùÓжÔÏó£¨Ïê¼û ²Î¿¼×ÊÁÏ1 £©¡£Í¨¹ýÕâÖÖ·½Ê½È·¶¨ÄÄЩ¶ÔÏóÊÇ"¿É´ïµÄ"£¬ÄÄЩ¶ÔÏóÊÇ"²»¿É´ïµÄ".µ±GCÈ·¶¨Ò»Ð©¶ÔÏóΪ"²»¿É´ï"ʱ£¬GC¾ÍÓÐÔðÈλØÊÕÕâЩÄÚ´æ¿Õ¼ä¡£µ«ÊÇ£¬ÎªÁ˱£Ö¤GCÄܹ»ÔÚ²»Í¬Æ½Ì¨ÊµÏÖµÄÎÊÌ⣬java±à³Ì¹æ·¶¶ÔGCµÄºÜ¶àÐÐΪ¶¼Ã»ÓнøÐÐÑϸñµÄ¹æ¶¨¡£ÀýÈ磬¶ÔÓÚ²ÉÓÃʲôÀàÐ͵ĻØÊÕËã·¨¡¢Ê²Ã´Ê±ºò½øÐлØÊÕµÈÖØÒªÎÊÌⶼûÓÐÃ÷È·µÄ¹æ¶¨¡£Òò´Ë£¬²»Í¬µÄJVMµÄʵÏÖÕßÍùÍùÓв»Í¬µÄʵÏÖËã·¨¡£ÕâÒ²¸øjava±à³Ì³ÌÐòÔ±µÄ¿ª·¢´øÀ´Ðж಻ȷ¶¨ÐÔ¡£±¾ÎÄÑо¿Á˼¸¸öÓëGC¹¤×÷Ïà¹ØµÄÎÊÌ⣬ŬÁ¦¼õÉÙÕâÖÖ²»È·¶¨ÐÔ¸øjava±à³Ì³ÌÐò´øÀ´µÄ¸ºÃæÓ°Ïì¡£
¡¡¡¡ÔöÁ¿Ê½GC£¨ Incremental GC £©
¡¡¡¡GCÔÚJVMÖÐͨ³£ÊÇÓÉÒ»¸ö»òÒ»×é½ø³ÌÀ´ÊµÏֵģ¬Ëü±¾ÉíÒ²ºÍÓû§³ÌÐòÒ»ÑùÕ¼ÓÃheap¿Õ¼ä£¬ÔËÐÐʱҲռÓÃCPU.µ±GC½ø³ÌÔËÐÐʱ£¬Ó¦ÓóÌÐòÍ£Ö¹ÔËÐС£Òò´Ë£¬µ±GCÔËÐÐʱ¼ä½Ï³¤Ê±£¬Óû§Äܹ»¸Ðµ½java±à³Ì³ÌÐòµÄÍ£¶Ù£¬ÁíÍâÒ»·½Ã棬Èç¹ûGCÔËÐÐʱ¼äÌ«¶Ì£¬Ôò¿ÉÄܶÔÏó»ØÊÕÂÊÌ«µÍ£¬ÕâÒâζ×Å»¹ÓкܶàÓ¦¸Ã»ØÊյĶÔÏóûÓб»»ØÊÕ£¬ÈÔȻռÓôóÁ¿ÄÚ´æ¡£Òò´Ë£¬ÔÚÉè¼ÆGCµÄʱºò£¬¾Í±ØÐëÔÚÍ£¶Ùʱ¼äºÍ»ØÊÕÂÊÖ®¼ä½øÐÐȨºâ¡£Ò»¸öºÃµÄGCʵÏÖÔÊÐíÓû§¶¨Òå×Ô¼ºËùÐèÒªµÄÉèÖã¬ÀýÈçÓÐЩÄÚ´æÓÐÏÞÓÐÉ豸£¬¶ÔÄÚ´æµÄʹÓÃÁ¿·Ç³£Ãô¸Ð£¬Ï£ÍûGCÄܹ»×¼È·µÄ»ØÊÕÄڴ棬Ëü²¢²»ÔÚÒâ³ÌÐòËٶȵķÅÂý¡£ÁíÍâÒ»Ð©ÊµÊ±ÍøÂçÓÎÏ·£¬¾Í²»Äܹ»ÔÊÐí³ÌÐòÓг¤Ê±¼äµÄÖжϡ£ÔöÁ¿Ê½GC¾ÍÊÇͨ¹ýÒ»¶¨µÄ»ØÊÕËã·¨£¬°ÑÒ»¸ö³¤Ê±¼äµÄÖжϣ
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
ÔÚʹÓÃJavaµÄʱºò£¬ÎÒÃǶ¼»áÓöµ½Ê¹Óü¯ºÏ£¨Collection£©µÄʱºò£¬µ«ÊÇJava APIÌṩÁ˶àÖÖ¼¯ºÏµÄʵÏÖ£¬ÎÒÔÚʹÓúÍÃæÊÔµÄʱºòƵ
ƵÓöµ½ÕâÑùµÄ“¾ñÔñ” ¡£ :£©£¨Ö÷Òª»¹ÊÇÃæÊÔµÄʱºò£©
¾Ã¶ø¾ÃÖ®£¬Ò²¾ÍÓÐÁËÒ»µãµãµÄÐĵÃÌå»á£¬Ð´³öÀ´ÒÔ¹©´ó¼ÒÌÖÂÛ ¡£
×ܵÄ˵À´£¬Java APIÖÐËùÓõļ¯ºÏÀ࣬¶¼ÊÇʵÏÖÁËCollection½Ó¿Ú£¬Ëû ......
ÃæÏò¶ÔÏóµÄ˼Ïë
anything is Object£¨ÍòÎï½Ô¶ÔÏó£©
³éÏ󣬴ӶԾßÌåµÄ¶ÔÏóÖгéÈ¡ÓÐÓÃÐÅÏ¢¡£
¶ÔÏóÓÐÆä¹ÌÓÐÊôÐÔ£¬¶ÔÏóµÄ·½·¨£¬¼´¶ÔÏóµÄÐÐΪ£¨¶ÔÏóÄÜ×öʲô£©
¶ÔÏó±¾ÉíÊǼòµ¥µÄ£¨¹¦Äܼòµ¥£©£¬¶à¸ö¶ÔÏó¿ÉÒÔ×é³É¸´ÔÓµÄϵͳ£¨¶ÔÏóÖ®¼ä±Ë´Ëµ÷ÓöԷ½µÄ·½·¨£©
¶ÔÏóÓ¦µ±ÊǸ÷˾ÆäÖ°£¨¹¦Äܼòµ¥£©£¬¸÷¾¡ËùÄÜ£¨°Ñ×Ô¼ºµÄ¹¦ÄÜ×÷µ½×îºÃ£© ......