ʲôÊÇjava¶ÔÏóµÄÇ¿¡¢Èí¡¢ÈõºÍÐéÒýÓÃ
±¾ÎĽéÉܶÔÏóµÄÇ¿¡¢Èí¡¢ÈõºÍÐéÒýÓõĸÅÄî¡¢Ó¦Óü°ÆäÔÚUMLÖеıíʾ¡£
1£®¶ÔÏóµÄÇ¿¡¢Èí¡¢ÈõºÍÐéÒýÓÃ
ÔÚJDK 1.2ÒÔǰµÄ°æ±¾ÖУ¬ÈôÒ»¸ö¶ÔÏó²»±»ÈκαäÁ¿ÒýÓã¬ÄÇô³ÌÐò¾ÍÎÞ·¨ÔÙʹÓÃÕâ¸ö¶ÔÏó¡£Ò²¾ÍÊÇ˵£¬Ö»ÓжÔÏó´¦ÓÚ¿É´¥¼°£¨reachable£©×´Ì¬£¬³ÌÐò²ÅÄÜʹÓÃËü¡£´ÓJDK 1.2°æ±¾¿ªÊ¼£¬°Ñ¶ÔÏóµÄÒýÓ÷ÖΪ4ÖÖ¼¶±ð£¬´Ó¶øÊ¹³ÌÐòÄܸü¼ÓÁé»îµØ¿ØÖƶÔÏóµÄÉúÃüÖÜÆÚ¡£Õâ4ÖÖ¼¶±ðÓɸߵ½µÍÒÀ´ÎΪ£ºÇ¿ÒýÓá¢ÈíÒýÓá¢ÈõÒýÓúÍÐéÒýÓá£Í¼1Ϊ¶ÔÏóÓ¦ÓÃÀà²ã´Î¡£
ͼ1
¢ÅÇ¿ÒýÓã¨StrongReference£©
Ç¿ÒýÓÃÊÇʹÓÃ×îÆÕ±éµÄÒýÓá£Èç¹ûÒ»¸ö¶ÔÏó¾ßÓÐÇ¿ÒýÓã¬ÄÇÀ¬»ø»ØÊÕÆ÷¾ø²»»á»ØÊÕËü¡£µ±ÄÚ´æ¿Õ¼ä²»×㣬JavaÐéÄâ»úÄþÔ¸Å׳öOutOfMemoryError´íÎó£¬Ê¹³ÌÐòÒì³£ÖÕÖ¹£¬Ò²²»»á¿¿ËæÒâ»ØÊÕ¾ßÓÐÇ¿ÒýÓõĶÔÏóÀ´½â¾öÄÚ´æ²»×ãµÄÎÊÌâ¡£
¢ÆÈíÒýÓã¨SoftReference£©
Èç¹ûÒ»¸ö¶ÔÏóÖ»¾ßÓÐÈíÒýÓã¬ÔòÄÚ´æ¿Õ¼ä×ã¹»£¬À¬»ø»ØÊÕÆ÷¾Í²»»á»ØÊÕËü£»Èç¹ûÄÚ´æ¿Õ¼ä²»×ãÁË£¬¾Í»á»ØÊÕÕâЩ¶ÔÏóµÄÄÚ´æ¡£Ö»ÒªÀ¬»ø»ØÊÕÆ÷ûÓлØÊÕËü£¬¸Ã¶ÔÏó¾Í¿ÉÒÔ±»³ÌÐòʹÓá£ÈíÒýÓÿÉÓÃÀ´ÊµÏÖÄÚ´æÃô¸ÐµÄ¸ßËÙ»º´æ£¨ÏÂÎĸø³öʾÀý£©¡£
ÈíÒýÓÿÉÒÔºÍÒ»¸öÒýÓöÓÁУ¨ReferenceQueue£©ÁªºÏʹÓã¬Èç¹ûÈíÒýÓÃËùÒýÓõĶÔÏó±»À¬»ø»ØÊÕÆ÷»ØÊÕ£¬JavaÐéÄâ»ú¾Í»á°ÑÕâ¸öÈíÒýÓüÓÈëµ½ÓëÖ®¹ØÁªµÄÒýÓöÓÁÐÖС£
¢ÇÈõÒýÓã¨WeakReference£©
ÈõÒýÓÃÓëÈíÒýÓõÄÇø±ðÔÚÓÚ£ºÖ»¾ßÓÐÈõÒýÓõĶÔÏóÓµÓиü¶ÌÔݵÄÉúÃüÖÜÆÚ¡£ÔÚÀ¬»ø»ØÊÕÆ÷Ïß³ÌɨÃèËüËù¹ÜϽµÄÄÚ´æÇøÓòµÄ¹ý³ÌÖУ¬Ò»µ©·¢ÏÖÁËÖ»¾ßÓÐÈõÒýÓõĶÔÏ󣬲»¹Üµ±Ç°ÄÚ´æ¿Õ¼ä×ã¹»Óë·ñ£¬¶¼»á»ØÊÕËüµÄÄÚ´æ¡£²»¹ý£¬ÓÉÓÚÀ¬»ø»ØÊÕÆ÷ÊÇÒ»¸öÓÅÏȼ¶ºÜµÍµÄỊ̈߳¬Òò´Ë²»Ò»¶¨»áºÜ¿ì·¢ÏÖÄÇЩֻ¾ßÓÐÈõÒýÓõĶÔÏó¡£
ÈõÒýÓÿÉÒÔºÍÒ»¸öÒýÓöÓÁУ¨ReferenceQueue£©ÁªºÏʹÓã¬Èç¹ûÈõÒýÓÃËùÒýÓõĶÔÏó±»À¬»ø»ØÊÕ£¬JavaÐéÄâ»ú¾Í»á°ÑÕâ¸öÈõÒýÓüÓÈëµ½ÓëÖ®¹ØÁªµÄÒýÓöÓÁÐÖС£
¢ÈÐéÒýÓã¨PhantomReference£©
“ÐéÒýÓÔ¹ËÃû˼Ò壬¾ÍÊÇÐÎͬÐéÉ裬ÓëÆäËû¼¸ÖÖÒýÓö¼²»Í¬£¬ÐéÒýÓò¢²»»á¾ö¶¨¶ÔÏóµÄÉúÃüÖÜÆÚ¡£Èç¹ûÒ»¸ö¶ÔÏó½ö³ÖÓÐÐéÒýÓã¬ÄÇôËü¾ÍºÍûÓÐÈκÎÒýÓÃÒ»Ñù£¬ÔÚÈκÎʱºò¶¼¿ÉÄܱ»À¬»ø»ØÊÕÆ÷»ØÊÕ¡£
ÐéÒýÓÃÖ÷ÒªÓÃÀ´¸ú×Ù¶ÔÏó±»À¬»ø»ØÊÕÆ÷»ØÊյĻ¡£ÐéÒýÓÃÓëÈíÒýÓúÍÈõÒýÓõÄÒ»¸öÇø±ðÔÚÓÚ£ºÐéÒýÓñØÐëºÍÒýÓöÓÁÐ £¨ReferenceQueue£©ÁªºÏʹÓᣵ±À¬»ø»ØÊÕÆ÷×¼±¸»ØÊÕÒ»¸ö¶ÔÏóʱ£¬Èç¹û·¢ÏÖËü»¹ÓÐÐéÒýÓ㬾ͻáÔÚ»ØÊÕ¶ÔÏ
Ïà¹ØÎĵµ£º
ÏÈÀ´Á˽âÒ»ÏÂÁ´±íģʽµÄÔÀí£º
Ê×ÏÈдһ¸öJavaBean£¬ÄÚÈÝÊÇÒªÌí¼ÓµÄÔªËØºÍ¸ÃÔªËØµÄ½Úµã¡£
public class NodeBean implements Serializable
{
private Object data; //ÔªËØ±¾Éí
private NodeBean next; //ÏÂÒ»¸ö½Úµã
&n ......
1¡¢Óï·¨£º±ØÐë±È½ÏÊìϤ£¬ÔÚд´úÂëµÄʱºò IDE µÄ±à¼Æ÷¶ÔijһÐб¨´íÓ¦¸ÃÄܹ»¸ù¾Ý±¨´íÐÅÏ¢ÖªµÀÊÇʲôÑùµÄÓï·¨´íÎó²¢ÇÒÖªµÀÈκÎÐÞÕý¡£
2¡¢ÃüÁ±ØÐëÊìϤ JDK ´øµÄһЩ³£ÓÃÃüÁî¼°Æä³£ÓÃÑ¡ÏÃüÁîÖÁÉÙÐèÒªÊìϤ£ºappletviewer¡¢HtmlConverter¡¢jar¡¢java¡¢javac¡¢javadoc¡¢javap¡¢javaw¡¢native2ascii¡¢serialve ......
½ñÌìÔÚ±àдһ¸ö¿ìËÙÅÅÐòº¯Êý£¬ÆäÖÐÏëÓÃÒ»¸öÔÚC++ÖÐÀàËÆswap¹¦Äܵĺ¯Êý£¬½á¹ûÒý·¢ÁËһϵÁеÄÎÊÌâ¡£
ÏÂÃæÊÇÔÚÍøÉÏËѵ½µÄ´úÂ룬²¢ÔÚÎҵı¾µØ»úÉÏ×÷ÁËÔËÐС£
public class ParamTest
{
public static void ......
¶ÔÏóÐòÁл¯¾ÍÊǰѶÔÏóдÈëµ½Êä³öÁ÷ÖУ¬ÓÃÀ´´æ´¢»òÕß´«Êä¡£
¶ÔÏóµÄ·´ÐòÁл¯¾ÍÊÇ´ÓÊäÈëÁ÷ÖжÁÈ¡¶ÔÏó¡£
ÒªÐòÁл¯µÄ¶ÔÏóÓ¦¸ÃʵÏÖSerializable½Ó¿Ú¡£
Serializable½Ó¿ÚÊÇÒ»¸ö±êʶ½Ó¿Ú£¬Ã»ÓгéÏó·½·¨¡£
SerializableÓÐÒ»¸ö× ......
ÌâÄ¿£ºÓÐ600¸öÆ»¹û£¬ÒªÇó·Ö×°ÔÚ10¸öºÐ×ÓÖС£¶ÔÓڹ˿ÍÒªÇóµÄÈÎÒâÆ»¹ûÊý¶¼¿ÉÒÔͨ¹ý´Ë10¸öºÐ×Ó½øÐÐ×éºÏµÃµ½¡£
·ÖÎö£º1¡¢Ê×ÏÈÒªÉè¼Æ10¸öºÐ×ÓËù×°Æ»¹ûµÄÊýÄ¿¡£Óɶþ½øÖÆÓëÊ®½øÖƵÄת»»¿ÉÖª£¬2µÄ±¶ÊýÏà¼Ó¿ÉÒԵĵ½Ò»ÇÐÊ®½øÖÆÊý¡£ËùÒÔÈç¹ûÏëʹÓÃÓÐÏÞµÄÊý×Ö×éºÏµÃµ½Ò»¶¨·¶Î§ÄÚµÄËùÓÐÊý×Ö±ØÊÇÒÔ2µÄ±¶Êý½øÐÐÉè¼ÆµÄ¡£ËùÒÔ£¬¿É֪ʮ¸öºÐ×Ó ......