java¶àÏß³Ìѧϰ
¹ØÓÚ Java Concurrency
×Ô´ÓJavaµ®Éú֮ʱ£¬Java ¾ÍÖ§³Ö²¢ÐеĸÅÄ±ÈÈçÏ̺߳ÍËø»úÖÆ¡£Õâ¸ö½Ì³Ì°ïÖú¿ª·¢¶àÏß³ÌJava³ÌÐòÔ±Äܹ»Àí½âºËÐĵÄJava²¢ÐÐÀíÄîÒÔ¼°ÈçºÎʹÓÃËûÃÇ¡£ ÄÚÈÝÉæ¼°µ½JavaÓïÑÔÖеÄỊ̈߳¬ ÖØÁ·¼¶ÒÔ¼°ÇáÁ¿¼¶Í¬²½»úÖÆ ÒÔ¼°JavaSE 5 ÖеÄËø£¬Ô×ÓÁ¿ ²¢ÐÐÈÝÆ÷£¬Ï̵߳÷¶È ÒÔ¼°Ïß³ÌÖ´ÐÐÕß¡£ ¿ª·¢ÈËԱʹÓÃÕâЩ֪ʶÄܹ»¿ª·¢ºÃ²¢·¢Ḭ̈߳²È«µÄJava Ó¦ÓóÌÐò¡£
Java ²¢ÐеĸÅÄJava Concurrency Concepts£©
¸ÅÄî
ÃèÊö
Java ÄÚ´æÄ£ÐÍ
ÔÚJavaSE5 JSR133¹æ·¶ÖÐÏêϸ¶¨ÒåÁËJavaÄÚ´æÄ£ÐÍ Java Memory Model£¨JMM£©£¬¸ÃÄ£ÐͶ¨ÒåÁËÏà¹ØµÄ²Ù×÷ ±ÈÈç¶Á,д²Ù×÷£¬ÒÔ¼°ÔÚ¼àÊÓÆ÷ÉϵÄͬ²½¡£ ÕâЩ²Ù×÷°´ Happens-beforeµÄ˳Ðò¡£
Õâ¸ö¶¨Òå±£Ö¤ÁËÒ»¸öÏ߳̿ÉÒÔ¿´µ½ÁíÒ»¸öÏ̲߳Ù×÷µÄ½á¹û£¬Í¬Ê±±£Ö¤ÁËͬ²½µÄ³ÌÐò£¬ ÒÔ¼°ÈçºÎ¶¨ÒåÒ»¸ö²»±äµÄÊôÐÔ µÈµÈ¡£
¼àÊÓÆ÷
ÔÚJavaÖУ¬ÈκÎÒ»¸ö¶ÔÏó¶¼ÓÐÒ»¸ö¼àÊÓÆ÷£¬À´Åų⹲Ïí·ÃÎÊÁÙ½çÇøÓòµÄ´úÂë¡£ÕâЩÁÙ½çÇø¿ÉÒÔÊÇÒ»¸ö·½·¨ »òÕßÊÇÒ»¶Î´úÂë¿é£¬ÕâЩÁÙ½çÇøÓò×÷Ϊͬ²½¿é¡£Ïß³ÌÖ»ÓлñÈ¡¸Ã¼àÊÓÆ÷²ÅÄÜÖ´ÐÐͬ²½¿éµÄ´úÂë¡£µ±Ò»¸öÏ̵߳½´ïÕâ¿é´úÂëÊÇ£¬Ê×ÏȵȴýÀ´È·¶¨ÊÇ·ñÆäËûÏß³ÌÒѾÊÍ·ÅÕâ¸ö¼à¿ØÆ÷¡£¼à¿ØÆ÷³ýÁËÅų⹲Ïí·ÃÎÊ£¬»¹ÄÜͨ¹ýWait ºÍNotifyÀ´Ðµ÷Ïß³ÌÖ®¼äµÄ½»»¥¡£
Ô×ÓÊôÐÔ
³ýÁËDouble ºÍlongÀàÐÍ£¬ÆäËûµÄ¼òµ¥ÀàÐͶ¼ÊÇÔ×ÓÀàÐÍ¡£DoubleºÍlong ÀàÐ͵ÄÐÞ¸ÄÔÚJVM·ÖΪÁ½¸ö²»·â¡£ÎªÁ˱£Ö¤¸üй²ÏíµÄDoubleºÍLongÀàÐÍ£¬ÄãÓ¦¸Ã½«DoubleºÍlong µÄÊôÐÔ×÷ΪVolatile »òÕß½«Ð޸ĴúÂë·ÅÈëͬ²½¿éÖС£
¾ºÕùÇé¿ö
µ±Ðí¶àÏß³ÌÔÚһϵÁеķÃÎʹ²Ïí×ÊÔ´²Ù×÷ÖУ¬²¢ÇÒ½á¹û¸ú²Ù×÷˳±ãÓйØϵµÄʱºò£¬¾Í·¢ÉúÁ˾ºÕùÇé¿ö¡£
Êý¾Ý¾ºÕù
Êý¾Ý¾ºÕùÉæ¼°µ½µ±Ðí¶àÏ̷߳ÃÎʲ»ÊÇnon-final»òÕßnon-volatile ²¢Ã»ÓкÏÊʵÄͬ²½»úÖƵÄÊôÐÔʱ£¬JMM²»Äܱ£Ö¤²»Í¬²½µÄ·ÃÎʹ²ÏíµÄÊìϤ¡£Êý¾Ý¾ºÕùµ¼Ö±ȸöÔ¤ÖªµÄÐÐΪ¡£
×Ô¹«²¼
»¹Ã»ÓÐͨ¹ý¹¹Ôì·½·¨ÊµÀý»¯¶ÔÏó֮ǰ£¬°ÑÕâ¸ö¶ÔÏóµÄÒýÓù«²¼Ê±²»°²È«µÄ¡£
Ò»ÖÖÊÇͨ¹ý×¢²áÒ»¸ö¼àÌýÆ÷£¬µ±³õʼ»¯µÄʱºò»Øµ÷À´·¢²¼ÒýÓá£
ÁíÒ»ÖÖÊÇÔÚ¹¹Ôì·½·¨ÀïÃæÆô¶¯Ï̡߳£ÕâÁ½ÖÖ¶¼»áµ¼ÖÂÆäËûÏß³ÌÒýÓò¿·Ö³õʼ»¯µÄ¶ÔÏó¡£
FinalÊôÐÔ
FinalÊôÐÔ±ØÐëÏÔʾµÄ¸³Öµ£¬·ñÔò¾Í»áÓбàÒë´íÎó¡£Ò»µ©¸³Öµ£¬²»Äܱ»Ð޸ġ£½«Ò»¸ö¶ÔÏóÒýÓñê¼ÇΪFinalÖ»Äܱ£Ö¤¸ÃÒýÓò»»á±»Ð޸ģ¬µ«¸Ã¶ÔÏó¿ÉÒÔ±»Ð޸ġ£±ÈÈçÒ»¸öFinal ArrayIist²»ÄܸıäΪÁíÒ»¸öArrayList µ«Äã¿ÉÒÔÌí¼Ó»òÕßÐÞ¸ÄÕâ¸öListµÄ¶ÔÏó¡£ÔÚ¹¹Ôì·½·¨
Ïà¹ØÎĵµ£º
java²»½öÊDZà³ÌÓïÑÔ£¬»¹ÊÇÒ»¸ö¿ª·¢Æ½Ì¨£¬java¼¼Êõ¸ø³ÌÐòÔ±ÌṩÁËÐí¶à¹¤¾ß£º±àÒëÆ÷¡¢½âÊÍÆ÷¡¢ÎĵµÉú³ÉÆ÷ºÍÎļþ´ò°ü¹¤¾ßµÈµÈ¡£Í¬Ê±java»¹ÊÇÒ»¸ö³ÌÐò·¢²¼Æ½Ì¨£¬ÓÐÁ½ÖÖÖ÷ÒªµÄ"·¢²¼»·¾³"£¬Ê×ÏÈjavaÔËÐÐʱ»·¾³£¨java runtime environment£¬¼ò³ÆJRE£©°üº¬ÁËÍêÕûµÄÀàÎļþ°ü£¬Æä´ÎÐí¶àÖ÷ÒªµÄä¯ÀÀÆ÷¶¼ÌṩÁËjava½âÊÍÆ÷ºÍÔËÐÐʱ»·¾³¡£Ä ......
×îÇ¿ÁÒÍƼö£ÎÒµÄjavaÊղؼУ¨ÄÚÓйúÄÚ×îºÃµÄjavaÂÛ̳£©
www.chinajavaworld.com -ÂÛ̳È˺ܶ࣬¸ßÊÖÒ²¶à£¬²»¹ýºÃÏñ¶¼ÔÚDZˮ
www.cn-java.com -Ò²ºÜ²»´í£¬ÎÄÕºܺ㬵«ÊǾÍÊÇÉÌÒµÐÔŨÁ˵㡣
www.chinaitlab.com-·Ç³£ÓÐϵͳÐÔ£¬¶øÇÒÍƳöµÄjavaÔ¶³Ì½ÌÓýÊÇÖйú×îÈ«ÃæµÄscjpÔ¶³Ì½ÌÓý¡£ www.huihoo. ......
Java»ù´¡·½Ãæ:
1¡¢×÷ÓÃÓòpublic,private,protected,ÒÔ¼°²»Ð´Ê±µÄÇø±ð
´ð£ºÇø±ðÈçÏ£º
×÷ÓÃÓò µ±Ç°Àà ͬһpackage ×ÓËïÀà ÆäËûpackage
public& ......
1. ÏÈдһ¸öSingletonµÄclass
package stone;
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance(){
if(instance==null)
&n ......
JavaÀïÓиöºÜÖØÒªµÄÌØÉ«ÊÇException £¬Ò²¾ÍÊÇ˵ÔÊÐí³ÌÐò²úÉúÀýÍâ×´¿ö¡£¶øÔÚѧJava µÄʱºò£¬ÎÒÃÇÒ²Ö»ÖªµÀException µÄд·¨£¬È´Î´±ØÕæÄÜÁ˽ⲻͬÖÖÀàµÄException µÄÇø±ð¡£
Ê×ÏÈ£¬ÄúÓ¦¸ÃÖªµÀµÄÊÇJava ÌṩÁËÁ½ÖÖException µÄģʽ£¬Ò»ÖÖÊÇÖ´ÐеÄʱºòËù²úÉúµÄException (Runtime Exception)£¬ÁíÍâÒ»ÖÖÔòÊÇÊÜ¿ØÖƵÄException ......