| ¥N
¦Ò Áp ¨t |
|
Mail: |
| PassBiBle |
 |
PassBiBle.Com |
| Msn
: |
| PassBiBle |
 |
HotMail.Com |
| QQ
: 6411019 |
|
 |
 |
 |
| |
´ú¤£ãì²z ·Q°µ¤@Óª«²z¹êÅç¡A¬Ý¬Ý¬Yª«½èªº¾É¹q±¡§Î¡A¤_¬O±µ¤W¹qÀ£¡A¦}¦êÁp¤W¤@Ó¦w°öp¨ÓÆ[¹î¹q¬y¡A¦ý¬O§Aª¾¹D¶Ü¡H ¦w°öp¥»¨¤]±a¦³¹qªý¡A³y¦¨§Aªº¹êÅçãÚ̫רü¨ì¼vÅT¡C½Ñ¦p¦¹Ãþªº°ÝÃD¦b¬ì¾Ç¬É«Ü±`¨£¡A©Ò¥H¦³¤F¡u´ú¤£ãì²z¡v¤§»¡¡C¤£¥u¬Oª«²z¡A´ú¤£ãªº²{¶H¦bpºâÉó¤W¤]¦³¥i¯àµo¥Í¡C¤ñ¤è»¡¡A§A·Q¼g¤@ÓÆ[¹îµ{§Ç¡AÆ[¹î CPU ¦b°õ¦æ¬Yµ{§Ç¤§¤Uªº¨Ï¥Î²v¡A ¦ý¬O§AªºÆ[¹îµ{§Ç¥»¨¤]·|¥e¥Î¤@³¡¥÷ªº CPU ®Ä¯à¡A³y¦¨´ú¥X¨Óªº¼ÆÕu¤£ºëÚÌ¡C
¡@¡@ ¦A·Q¶H¤U±ªº±¡ªp¡G¦pªG§A·Q¼g¤@Ó Java µ{§Ç¡AÆ[¹î¬Y¹ï¶H¤°¤\®ÉÔ·|³Q©U§£¦¬¶°ªº°õ¦æºü²M°£¡A©Ò¥H§A¥²¶·n¥Î ¤@Ó reference °O¦í¦¹¹ï¶H¡A¥H«KÀH®ÉÆ[¹î¡A¦ý¬O«o¦]¦¹³y¦¨¦¹¹ï¶Hªº reference ¼Æ¥Ø¤@ª½µLªk¬°¹s¡A ¨Ï±o¹ï¶HµLªk³Q²M°£¡C...... ¤S¬O¡u´ú¤£ã¡v¡C
¡@¡@ java.lang.ref.WeakReference
¡@¡@ ¤£¹L¡A²{¦b¦³¤F Weak Reference ¤§¦Z¡A³o´N¥i¥Hªï¤b¦Ó¸Ñ¤F¡C¦pªG§A§Æ±æ¯àÀH®É¨ú±o¬Y¹ï¶Hªº«H®§¡A¦ý¤S¤£·Q¼vÅT¦¹ ¹ï¶Hªº©U§£¦¬¶°¡A¨º¤\§AÀ³¸Ó¥Î Weak Reference ¨Ó°O¦í¦¹¹ï¶H¡A¦Ó¤£¬O¥Î¤@¯ëªº referen
ce¡C½Ð¬Ý¤U±ªº¨Ò¤l¡G
¡@¡@ ...
¡@¡@ WeakReference wr = new WeakReference(obj);
¡@¡@ ...
¡@¡@ if (wr.get()==null) {
¡@¡@ System.out.println("obj ¤w¸g³Q²M°£¤F ");
¡@¡@ } else {
¡@¡@ System.out.println("obj ¡@¡@ ©|¥¼³Q²M°£¡A¨ä«H®§¬O "+obj.toString());
¡@¡@ }
¡@¡@ ...
¡@¡@ ¦b¦¹¨Ò¤¤¡A³z¹L get() ¥i¥H¨ú±o¦¹ Reference ªº©Ò«ü¨ìªº¹ï¶H¡A¦pªG¶Ç¥XȬ° null ªº¸Ü¡A¥Nªí¦¹¹ï¶H¤w¸g³Q²M°£¡C
¡@¡@ ³oÃþªº§Þ¥©¡A¦b³]p Optimizer ©Î Debugger ³oÃþªºµ{§Ç®É±`·|¥Î¨ì¡A¦]¬°³oÃþµ{§Ç»Ýn¨ú±o¬Y¹ï¶Hªº«H®§¡A¦ý¬O¤£¥i¥H ¼vÅT¦¹¹ï¶Hªº©U§£¦¬¶°¡C
¡@¡@ java.lang.ref.SoftReference
¡@¡@ Soft Reference ÁöµM©M Weak Reference «ÜÃþ¦ü¡A¦ý¬O¥Î³~«o¤£¦P¡CSoftReference ¬O¥Î¨Ó³]p object-cache ¤§¥Îªº¡C ³Q Soft Reference «ü¨ìªº¹ï¶H¡A§Y¨Ï¨S¦³¥ô¦ó Direct Reference¡A¤]¤£·|³Q²M°£¡C¤@ª½n¨ì JVM ¤º¦s¤£¨¬®É¥B ¨S¦³ Direct Reference ®É¤~·|²M°£¡A¦p¦¹¤@¨Ó SoftReference ¤£¦ý¥i¥H§â¹ï¶H cache °_¨Ó¡A¤]¤£·|³y¦¨¤º¦s¤£¨¬ªº¿ù»~ ¡]OutOfMemoryError¡^¡C§Úı±o Soft Reference ¤]Óì¦X
®³¨Ó¹ê§@ pooling ªº§Þ¥©¡C
¡@¡@ java.lang.ref.PhantomReference
¡@¡@ Phantom Reference ¥Dn¬O¥Î¨Ó¨ú¥N¹ï¶Hªº finalize()¡Cµ{§Çû§Q¥Î finalize() ¨Ó¶i¦æÄÀ©ñ¸ê·½ªº¦P®É¡A¦³¥i¯à¤£¤p¤ß Åý¦¹¹ï¶H¦A«×¾Ö¦³ Direct Reference¡C¦ý¬O¨Ï¥Î Phantom Reference «h¤£·|¦³¦¹±¡§Îµo¥Í¡C©M Weak Reference ¥H ¤Î SoftReference ³Ì¤jªº¤£¦P¬O¡GPhantom Reference ¤@qn·f°tµÛ ReferenceQueue ¨Ï¥Î¡A¦]¬° Phantom Reference ªº get() ¶Ç ¥XȤ@©w¬O null¡]¥HÁ×§K¦¹¹ï¶H¤£¤p¤ß¦A«×¾Ö¦³ Direct Reference¡^¡C³q±`§ÚÌ·|³]p¤@Ó class Ä~©Ó PhantomReference¡AµM ¦Z override ¨ä clear() ¨Ó©w¸qÄÀ©ñ¸ê·½µ¥¦¬§Àªº°Ê§@¡C·íµM¡A§ÚÉr¥i¤p¤ß¤@ÂI¦a¨Ï¥Î finalize()¡A¤]¤£º@·N¦Û§ä³Â·Ð¦a¨Ï¥Î Phantom Reference
|
|
|