Java Concurrent°üѧϰ֮ConcurrentHashMap
ÔÚJava concurrent°üÖÐÓÐÕâôһ¸ö½Ó¿Ú£ºConcurrentMap¡£
ConcurrentMap¼Ì³Ð×ÔMap£¬²¢Ìí¼ÓÁ˼¸¸öеÄÔ×Ó·½·¨£º putIfAbsent¡¢remove¡¢replace
Æä·½·¨ÕªÒªÈçÏ£º
V
putIfAbsent(K key, V value)
Èç¹ûÖ¸¶¨¼üÒѾ²»ÔÙÓëij¸öÖµÏà¹ØÁª£¬Ôò½«ËüÓë¸ø¶¨Öµ¹ØÁª¡£
boolean
remove(Object key, Object value)
Ö»ÓÐĿǰ½«¼üµÄÌõĿӳÉäµ½¸ø¶¨ÖµÊ±£¬²ÅÒÆ³ý¸Ã¼üµÄÌõÄ¿¡£
V
replace(K key, V value)
Ö»ÓÐĿǰ½«¼üµÄÌõĿӳÉ䵽ijһֵʱ£¬²ÅÌæ»»¸Ã¼üµÄÌõÄ¿¡£
boolean
replace(K key, V oldValue, V newValue)
Ö»ÓÐĿǰ½«¼üµÄÌõĿӳÉäµ½¸ø¶¨ÖµÊ±£¬²ÅÌæ»»¸Ã¼üµÄÌõÄ¿¡£
ConcurrentHashMapÀàÊÇConcurrentMap½Ó¿ÚµÄÒ»¸öʵÏÖÀà¡£
Ö§³Ö¼ìË÷µÄÍêÈ«²¢·¢ºÍ¸üеÄËùÆÚÍû¿Éµ÷Õû²¢·¢µÄ¹þÏ£±í¡£
´ËÀà×ñÊØÓë Hashtable ÏàͬµÄ¹¦Äܹ淶£¬²¢ÇÒ°üÀ¨¶ÔÓ¦ÓÚ Hashtable µÄÿ¸ö·½·¨µÄ·½·¨°æ±¾¡£
²»¹ý£¬¾¡¹ÜËùÓвÙ×÷¶¼ÊÇḬ̈߳²È«µÄ£¬µ«¼ìË÷²Ù×÷²» ±ØËø¶¨£¬²¢ÇÒ²» Ö§³ÖÒÔijÖÖ·ÀÖ¹ËùÓзÃÎʵķ½Ê½Ëø¶¨Õû¸ö±í¡£
´ËÀà¿ÉÒÔͨ¹ý³ÌÐòÍêÈ«Óë Hashtable ½øÐл¥²Ù×÷£¬ÕâÈ¡¾öÓÚÆäḬ̈߳²È«£¬¶øÓëÆäͬ²½Ï¸½ÚÎ޹ء£
¼ìË÷²Ù×÷£¨°üÀ¨ get£©Í¨³£²»»áÊÜ×èÈû£¬Òò´Ë£¬¿ÉÄÜÓë¸üвÙ×÷½»µü£¨°üÀ¨ put ºÍ remove£©¡£
¼ìË÷»áÓ°Ïì×î½üÍê³ÉµÄ ¸üвÙ×÷µÄ½á¹û¡£
¶ÔÓÚһЩ¾ÛºÏ²Ù×÷£¬±ÈÈç putAll ºÍ clear£¬²¢·¢¼ìË÷¿ÉÄÜÖ»Ó°ÏìijЩÌõÄ¿µÄ²åÈëºÍÒÆ³ý¡£
ÀàËÆµØ£¬ÔÚ´´½¨µü´úÆ÷/ö¾Ùʱ»ò×Ô´ËÖ®ºó£¬Iterators ºÍ Enumerations ·µ»ØÔÚijһʱ¼äµãÉÏÓ°Ïì¹þÏ£±í״̬µÄÔªËØ¡£ËüÃDz»»á Å׳ö ConcurrentModificationException¡£²»¹ý£¬µü´úÆ÷±»Éè¼Æ³Éÿ´Î½öÓÉÒ»¸öÏß³ÌʹÓá£
ÕâÔÊÐíͨ¹ý¿ÉÑ¡µÄ concurrencyLevel ¹¹Ôì·½·¨²ÎÊý£¨Ä¬ÈÏֵΪ 16£©À´Òýµ¼¸üвÙ×÷Ö®¼äµÄ²¢·¢£¬¸Ã²ÎÊýÓÃ×÷ÄÚ²¿µ÷Õû´óСµÄÒ»¸öÌáʾ¡£±íÊÇÔÚÄÚ²¿½øÐзÖÇøµÄ£¬ÊÔͼÔÊÐíָʾÎÞÕùÓò¢·¢¸üеÄÊýÁ¿¡£ÒòΪ¹þÏ£±íÖеÄλÖûù±¾ÉÏÊÇËæÒâµÄ£¬ËùÒÔʵ¼ÊµÄ²¢·¢½«¸÷²»Ïàͬ¡£ÀíÏëÇé¿öÏ£¬Ó¦¸ÃÑ¡ÔñÒ»¸ö¾¡¿ÉÄÜ¶àµØÈÝÄɲ¢·¢Ð޸ĸñíµÄÏ̵߳ÄÖµ¡£Ê¹ÓÃÒ»¸ö±ÈËùÐèÒªµÄÖµ¸ßºÜ¶àµÄÖµ¿ÉÄÜ»áÀ˷ѿռäºÍʱ¼ä£¬¶øÊ¹ÓÃÒ»¸öÏÔÈ»µÍ
Ïà¹ØÎĵµ£º
¡¡¡¡×î½üÐèÒª×öһЩJAVAµ×²ã²Ù×÷£¬ÎªÁ˾¡¿ÉÄÜÌá¸ßЧÂÊ×öÁËÈçϲâÊÔ¡£
¡¡¡¡ÔÚͬһ¸öÀàÖн¨Á¢ÆÕͨµÄPUBLIC·½·¨ºÍPUBLIC STATIC ·½·¨Á½ÖÖ£¬²¢Ê¹ÓÃJUnit½øÐжà´ÎÑ»·¡£×îÖÕÖ¤Ã÷ʹÓöÔÏóµÄ·½Ê½µ÷ÓÃЧÂʸߡ£
¡¡¡¡ÉϽá¹û¡£
Æðʼʱ¼äFri Mar 05 10:15:37 CST 2010½áÊøÊ±¼äFri Mar 05 10:15:38 CST 2010ʱ¼ä¼ä¸ô891
Æðʼʱ¼äFri ......
public class Foo {
static void operate(StringBuffer x,StringBuffer y){
x.append(y);
y=x;
}
public static void main(String args[]){
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
& ......
JavaÉè¼ÆÄ£Ê½Ö®×ÛÊöƪ
http://tech.it168.com/a2009/0223/266/000000266380.shtml
×Ô´ÓJ2EE³öÏÖÒÔÀ´£¬¾Í´ó´ó¼ò»¯ÁËÔÚJavaÏÂµÄÆóÒµ¼¶¿ª·¢¡£µ«ÊÇËæ×ÅJ2EEÔ½À´Ô½ÆÕ±éµØ±»Ó¦Óõ½¸÷¸öÁìÓòÖУ¬¿ª·¢ÕßÃǽ¥½¥Òâʶµ½ÐèÒªÒ»ÖÖ·½·¨À´±ê×¼»¯Ó¦ÓóÌÐòµÄ¿ª·¢¹ý³Ì£¬ËûÃDzÉÓõķ½·¨ÊDZê×¼»¯Ó¦ÓóÌÐòµÄ½á¹¹²ã¡£Ôڽṹ²ãͨ³£·â×°ÁËһЩ¶ÀÁ¢Ó ......
java»Øµ÷»úÖÆ
»Øµ÷¸ÅÄî:
Èí¼þÄ£¿éÖ®¼ä×ÜÊÇ´æÔÚ×ÅÒ»¶¨µÄ½Ó¿Ú£¬´Óµ÷Ó÷½Ê½ÉÏ£¬¿ÉÒÔ°ÑËûÃÇ·ÖΪÈýÀࣺͬ²½µ÷Óᢻص÷ºÍÒì²½µ÷Óá£Í¬²½µ÷ÓÃÊÇÒ»ÖÖ×èÈûʽµ÷Ó㬵÷Ó÷½ÒªµÈ´ý¶Ô·½Ö´ÐÐÍê±Ï²Å·µ»Ø£¬ËüÊÇÒ»ÖÖµ¥Ïòµ÷Ó㻻ص÷ÊÇÒ»ÖÖË«Ïòµ÷ÓÃģʽ£¬Ò²¾ÍÊÇ˵£¬±»µ÷Ó÷½ÔÚ½Ó¿Ú±»µ÷ÓÃʱҲ»áµ÷ÓöԷ½µÄ½Ó¿Ú£»Òì²½µ÷ÓÃÊÇÒ»ÖÖÀàËÆ ......
ÎÒʹÓÃURLÀàÀ´·ÃÎÊFTP·þÎñÆ÷£¬µ±µØÖ·ÖÐûÓÐÖÐÎÄʱûÓÐÎÊÌ⣬µ«ÊÇ
µ±ftpÖеÄÎļþ¼ÐÓÐÖÐÎÄʱ£¬¾ÍÎÞ·¨·ÃÎÊÁË£¬ÎÒÊÔ¹ýencoderºÍdecoderÀ࣬¶¼²»ÐУ¬ÓÐʲô½â¾ö·½·¨Ã´£¿
URL now = new URL("ftp://202.204.208.124/Èí¼þ/");
......