¸üÐÂʱ¼ä:2020Äê03ÔÂ14ÈÕ21ʱ39·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
ʲôÊÇjavaËÄ´óÒýÓÃ?
ÊÇJDK1.2°æ±¾¿ªÊ¼ÒýÈ룬°Ñ¶ÔÏóµÄÒýÓ÷ÖΪ4¸öµÈ¼¶£¬ÎÒÃÇÆ½Ê±Ñ§Ï°µÄ¾ÍÊÇËÄÖֵĵÚÒ»¼¶µÄÇ¿ÒýÓã¬Ëµ°×ÁË£¬¾ÍObject o = new Object()£¬ËĸöÒýÓ÷ֱðÊÇÇ¿ÒýÓá¢ÈíÒýÓá¢ÈõÒýÓúÍÐéÒýÓã¬Çë¼ÇסËüÃǵÄ˳Ðò!ÒòΪÕâÊÇËüÃǶÔÄÚ´æµÄÃô¸Ð³Ì¶È!
µÈ¼¶£º Ç¿ > Èí > Èõ > Ðé

ËüÃÇÓÐʲô×÷ÓÃ?
·Áé»îµÄ¿ØÖƶÔÏóµÄÉúÃüÖÜÆÚ
·Ìá¸ß¶ÔÏóµÄ»ØÊÕ»úÂÊ
ÀíÂÛ¼Ó´úÂë·ÖÎö:
1¡¢Ê²Ã´ÊÇÇ¿ÒýÓÃ
Ç¿ÒýÓþÍÊÇÎÒÃÇÆ½Ê±Ê¹ÓõĶÔÏó·½Ê½£¬Ò²ÊÇʹÓÃ×î¶àµÄÒ»ÖÖ·½Ê½£¬Çë¼Çס²»¹ÜÄÚ´æ½ôÕÅÒ²°Õ£¬²»×ãÒ²°Õ£¬gcÓÀ²»»ØÊÕÇ¿ÒýÓõĶÔÏó£¬ ¼´Ê¹jvm ³öÏÖ(ÄÚ´æÒç³ö´íÎó)OutOfMemoryError£¬Ê¹³ÌÐòÍ£Ö¹£¬Ò²²»»á»ØÊÕ¶ÔÏóÀ´Ìá¸ßÄÚ´æ
´úÂë
public class StrongReferenceDemo {
public static void main(String[] args) {
Integer data = new Integer(4);
String str = "123";
Student student = new Student();
//ÒÔÉÏÈý¸ö¶ÔÏó¶¼ÊÇÇ¿ÒýÓöÔÏó£¬Ö¸ÎÒÃÇÆ½Ê±Ê¹ÓõĶÔÏó·½Ê½
}
}
class Student {
}
3.ʲôÊÇÈõÒýÓÃ?
gc²»ÄÚ´æÊÇ·¢ÏÖÈõÒýÓ㬾ͻáÁ¢¿Ì»ØÊÕÈõÒýÓöÔÏ󣬵«ÊÇÎÒÃÇÖªµÀgcÊÇÒ»¸öÓÅÏȼ¶ºÜµÍµÄỊ̈߳¬ËùÒÔ²»Ò»¶¨Á¢¿Ì·¢ÏÖ²¢»ØÊÕÈõÒýÓöÔÏ󣬵«¼Çס£¬Ö»Òª±»gc·¢ÏÖÈõÒýÓ㬲»¹ÜÄÚ´æ¹»²»¹»£¬Ö±½Ó»ØÊÕ£¬Í¬Ê±£¬ÈõÒýÓã¬Ò²¿ÉÒÔ½áºÏ¶ÓÁÐʹÓ㬵±±»»ØÊÕ£¬¾Í½øÈ¥ÓÚÖ®¹ØÁªµÄ¶ÓÁÐÖС£
´úÂë
4.ʲôÊÇÐéÒýÓÃ?
ÐéÒýÓúÍÇ°ÃæµÄÈíÒýÓá¢ÈõÒýÓò»Í¬£¬Ëü²¢²»Ó°Ïì¶ÔÏóµÄÉúÃüÖÜÆÚ¡£ÔÚjavaÖÐÓÃjava.lang.ref.PhantomReferenceÀà±íʾ¡£Èç¹ûÒ»¸ö¶ÔÏóÓëÐéÒýÓùØÁª£¬Ôò¸úûÓÐÒýÓÃÓëÖ®¹ØÁªÒ»Ñù£¬ÔÚÈκÎʱºò¶¼¿ÉÄܱ»À¬»ø»ØÊÕÆ÷»ØÊÕ¡£
ҪעÒâµÄÊÇ£¬ÐéÒýÓñØÐëºÍÒýÓöÓÁйØÁªÊ¹Ó㬵±À¬»ø»ØÊÕÆ÷×¼±¸»ØÊÕÒ»¸ö¶ÔÏóʱ£¬Èç¹û·¢ÏÖËü»¹ÓÐÐéÒýÓ㬾ͻá°ÑÕâ¸öÐéÒýÓüÓÈëµ½ÓëÖ® ¹ØÁªµÄÒýÓöÓÁÐÖС£³ÌÐò¿ÉÒÔͨ¹ýÅжÏÒýÓöÓÁÐÖÐÊÇ·ñÒѾ¼ÓÈëÁËÐéÒýÓã¬À´Á˽ⱻÒýÓõĶÔÏóÊÇ·ñ½«Òª±»À¬»ø»ØÊÕ¡£Èç¹û³ÌÐò·¢ÏÖij¸öÐéÒýÓÃÒѾ±»¼ÓÈëµ½ÒýÓöÓÁУ¬ÄÇô¾Í¿ÉÒÔÔÚËùÒýÓõĶÔÏóµÄÄÚ´æ±»»ØÊÕ֮ǰ²ÉÈ¡±ØÒªµÄÐж¯¡£
±±¾©Ð£Çø