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µÄ¶ÔÏó¡£ÔÚ¹¹Ôì·½·¨
Ïà¹ØÎĵµ£º
¡¡1£® ¼òµ¥¡¢ÃæÏò¶ÔÏóºÍΪÈËËùÊìϤ
¡¡¡¡javaµÄ¼òµ¥Ê×ÏÈÌåÏÖÔÚ¾«¼òµÄϵͳÉÏ£¬Á¦Í¼ÓÃ×îСµÄϵͳʵÏÖ×ã¹»¶àµÄ¹¦ÄÜ£»¶ÔÓ²¼þµÄÒªÇ󲻸ߣ¬ÔÚСÐ͵ļÆËã»úÉϱã¿ÉÒÔÁ¼ºÃµÄÔËÐС£ºÍËùÓеÄÐÂÒ»´úµÄ³ÌÐòÉè¼ÆÓïÑÔÒ»Ñù£¬javaÒ²²ÉÓÃÁËÃæÏò¶ÔÏó¼¼Êõ²¢¸ü¼Ó³¹µ×£¬ËùÓеÄjava³ÌÐòºÍapplet³ÌÐò¾ùÊǶÔÏ󣬷â×°ÐÔʵÏÖÁËÄ£¿é»¯ºÍÐÅÏ¢Òþ²Ø£¬¼Ì³ÐÐÔ ......
½ñÌìÊÇÏîÄ¿µÄµÚÈýÌìÁË£¬ºÍ×òÌìµÄÄÚÈݲ¶à£¬ËùÒÔ½ñÌìµÄ×ܽáûÓÐÎ§ÈÆÏîĿչ¿ª£¬ÎÒÖ®ËùÒÔ£¬ÒªÄóöCVS/SVNÀ´ËµµÄÔÒòÊÇÒòΪ°æ±¾¿ØÖÆÆ÷·Ç³£µÄÖØÒª£¬ÒòΪÒÔºóÎÒÃǽøÈ빫˾֮ºó£¬µÚÒ»´ÎÊÂÇé¾ÍÊǸæËßµ¥ÈË¿ª·¢µÄģʽ £¬´ó¼Ò¶¼ÖªµÀÔÚÆóÒµÀïÃæ£¬ÊDz»ÊÇÊÇÒ»¸öÈË¿ª·¢µÄ£¬ÊÇÐ×÷¿ª·¢¡£ËùÒÔ£¬×÷Ϊһ¸öÓпª·¢¾ÑéµÄͬ־¶¼ÖªµÀ£¬ÕâÁ ......
½üÆÚµÄÒ»¸öÏîÄ¿ÐèҪʵÏÖÉãÏñͷͼÏñ²É¼¯£¬¾¹ýһϵÁеÄÕÛÌÚÒÔºó£¬ÖÕÓÚʵÏÖÁËÕâ¸ö¹¦ÄÜ£¬ÏÖÕûÀíһϡ£
±¾Éí¾Íjava¼¼ÊõÀ´Ëµ£¬ÒªÊµÏÖÉãÏñÍ·¶þ´Î¿ª·¢£¬²É¼¯ÉãÏñͷͼƬ£¬ÐèҪʹÓõ½JMF£¬JMFÊʺÏʹÓÃÔÚj2se³ÌÐòµ±ÖУ¬ÎÒÐèÒªÔÚweb³ÌÐòÖе÷ÓÃÉãÏñÍ·£¬ºÜÃ÷ÏÔJMFÊǸ㲻¶¨ÁË£¬Ïë¹ýдһ¸öapplet³ÌÐò£¬Ö»ÊÇÄǶ«Î÷ÒªÇó¿Í»§¶Ë±ØÐëÒªÓÐjre»·¾ ......
Ò»¸ö¼òµ¥µÄË«»÷¾ÍÄÜÔËÐÐjarÎļþµÄ´ò°ü¹ý³Ì:
http://blog.csdn.net/ihc523/archive/2009/10/11/4636832.aspx
eclipseµ¼³öjarÎļþÔÙ½«Ëüת»»³Éexe¿ÉÖ´ÐÐÎļþ:
http://hi.baidu.com/%C4%CF%BA%BD%CC%EC%CF%C2/blog/item/1601a381ac9af9d1bd3e1e3d.html
´òJar°üµÄÒ»¸öEclipse²å¼þFatJar:
http://blog.csdn.net/lqsmn613/ar ......