YeskyÊ×Ò³| ²úÆ·±¨¼Û| ÐÐÇé| ÊÖ»ú | ÊýÂë | ±Ê¼Ç±¾ | ̨ʽ»ú | DIYÓ²¼þ | ÍâÉè | ÍøÂç | Êý×Ö¼ÒÍ¥ | ÆÀ²â | Èí¼þ | eʱ´ú | ÓÎÏ· | ͼƬ | ±ÚÖ½ | ȺÀÖ | ÉçÇø | ²©¿Í | ÏÂÔØ
ÄúÏÖÔÚµÄλÖ㺠Ìì¼«Íø > ¿ª·¢ÆµµÀ > java api֮ʵÏÖ(ÏÂ)
È«ÎÄ

java api֮ʵÏÖ(ÏÂ)

2000-12-09 00:00 ×÷Õߣº SunÊÚȨ¿¯µÇ ³ö´¦£º Sun ÔðÈα༭£º
¡¡¡°ü×°Æ÷ʵÏÖ

¡¡¡¡°ü×°Æ÷ʵÏÖÊÇÒ»ÖÖ½«ËüÃǵÄʵ¼Ê¹¤×÷ίÍиøÒ»¸öÌØ¶¨ ¶ÔÏó¼¯ µÄʵÏÖ£¬ËüÔڸà ¶ÔÏó¼¯ ËùÌṩµÄ¹¦ÄÜÖ®ÉÏÓÖÔö¼ÓÁ˶îÍâµÄ¹¦ÄÜ¡£ ¶Ôdesign patterns£¨Éè¼ÆÑùʽ£© °®ºÃÕßÀ´Ëµ£¬ÕâÊÇÒ»¸ö decorator£¨ÓÍÆá¹¤£© Ñùʽ¡£ËäÈ»ÓеãÒì¹úÇéµ÷£¬µ«È·Êµ¼òµ¥Ã÷ÁË¡£


¡¡¡¡ÕâЩʵÏÖÊÇÄäÃûµÄ£º²»ÊÇÌṩһ¸ö¹«¹²À࣬JDK Ìṩһ¸ö static factory method£¨¾²Ì¬·½·¨£©¡£ ËùÓÐÕâЩ¶¼¿ÉÒÔÔÚ½ö°üº¬¾²Ì¬·½·¨µÄCollections API ÖÐÕÒµ½¡£

¡¡¡¡Í¬²½°ü×°Æ÷£¨Synchronization Wrappers£©

¡¡¡¡Í¬²½°ü×°Æ÷½«×Ô¶¯Í¬²½£¨Ḭ̈߳²È«µÄ£©Ìí¼Óµ½Ò»¸öÈÎÒâµÄ ¶ÔÏ󼯡£6¸ö ºËÐÄ ¶ÔÏó¼¯ ½Ó¿ÚÖеÄÿһ¸ö¶¼¶ÔÓ¦Ò»¸ö¾²Ì¬·½·¨:

public static Collection synchronizedCollection(Collection c);

public static Set synchronizedSet(Set s);

public static List synchronizedList(List list);

public static Map synchronizedMap(Map m);

public static SortedSet synchronizedSortedSet(SortedSet s);

public static SortedMap synchronizedSortedMap(SortedMap m);

¡¡¡¡Ã¿Ò»¸öÕâÑùµÄ·½·¨¶¼·µ»ØÒ»¸öÓÉÌØ¶¨ ¶ÔÏó¼¯ ×÷Ϊºó±¸µÄͬ²½£¨Ḭ̈߳²È«µÄ£©Collection¡£ Ϊ±£Ö¤´®ÐдæÈ¡£¬ËùÓÐ¶Ôºó±¸ ¶ÔÏó¼¯ µÄ´æÈ¡¶¼±ØÐëͨ¹ý·µ»ØµÄ ¶ÔÏó¼¯ À´Íê³É£¬ÕâÒ»µãÊÇÖÁ¹ØÖØÒªµÄ¡£ ±£Ö¤ÕâÒ»µãµÄÒ»¸ö¼ò±ã°ì·¨ÊDz»Òª±£³Ö¶Ôºó±¸ ¶ÔÏó¼¯ µÄÒýÓ㬠´´½¨ÕâÑùµÄͬ²½ ¶ÔÏó¼¯ ÊÇÒ»¸öС¼¼ÇÉ:

List list = Collections.synchronizedList(new ArrayList());

¡¡¡¡Ò»¸öÓÃÕâÖÖ·½Ê½´´½¨µÄ¶ÔÏ󼯣¬Ã¿Ò»±ÈÌØ¶¼ÊÇḬ̈߳²È«µÄ£¬¾ÍÏóVectorMÄÇÑùµÄ"Õý³£"ͬ²½ ¶ÔÏó¼¯ Ò»Ñù¡£ ÔÚÐèÒª²¢·¢´æÈ¡Çé¿öÏ£¬ÔÚ·µ»ØµÄ ¶ÔÏó¼¯ Éϵü´úʱ£¬Óû§¶Ô·µ»ØµÄ ¶ÔÏó¼¯ ×öÊÖ¹¤Í¬²½ÊÇÊ®·Ö±ØÒªµÄ¡£ ÕâÊÇÒòΪµü´úÊÇͨ¹ý¶Ô¶ÔÏó¼¯ µÄ¶àÖØµ÷ÓÃÍê³ÉµÄ£¬Ëü±ØÐë±»±àдΪһ¸öµ¥¶ÀµÄ×îСµ¥Ôª²Ù×÷£¨atomic operation£©¡£ÔÚÒ»¸ö°ü×°Æ÷ͬ²½µÄ ¶ÔÏó¼¯ Éϵĵü´ú¹ßÓóÌÐòÈçÏÂËùʾ:

Collection c = Collections.synchronizedCollection(myCollection);

synchronized(c) {

Iterator i = c.iterator(); // Must be in the synchronized block!

while (i.hasNext())

foo(i.next());

}
¹²3Ò³¡£ 1 2 3 8 :
¹²3Ò³¡£ 1 2 3 :
ÎÄÕÂÔĶÁÅÅÐÐ
ÖÜÅÅÐÐ
ÔÂÅÅÐÐ
»¶Ó­¶©ÔÄÌì¼«ÍøRSS¾ÛºÏ×ÊѶ£ºhttp://www.yesky.com/index.xml¡¡¡¡¡¡¡¡