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. ......
1. ¼òµ¥¹¤³§:
(1). ´´½¨Êä³ö(Output)½Ó¿Ú
package stone;
public interface Output {
public int MAX_COUNT =10; // ×î¶à¿É´òÓ¡¶àÉÙÌõ¼Ç¼
public void show(); ......
Ò»¸ö¼òµ¥µÄË«»÷¾ÍÄÜÔËÐÐ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 ......
±¾ÎÄÖ÷Ҫ̸һÏÂÃÜÂëѧÖеļÓÃܺÍÊý×ÖÇ©Ãû£¬ÒÔ¼°ÆäÔÚjavaÖÐÈçºÎ½øÐÐʹÓ᣶ÔÃÜÂëѧÓÐÐËȤµÄ»ï°é£¬ÍƼö¿´Bruce SchneierµÄÖø×÷£ºApplied Crypotography.ÔÚjdk1.5µÄ·¢Ðа汾Öа²È«ÐÔ·½ÃæÓÐÁ˺ܴóµÄ¸Ä½ø£¬Ò²ÌṩÁ˶ÔRSAËã·¨µÄÖ±½ÓÖ§³Ö£¬ÏÖÔÚÎÒÃÇ´ÓʵÀýÈëÊÖ½â¾öÎÊÌ⣨±¾ÎĽöÊÇ×÷Ϊ¼òµ¥½éÉÜ£©£º
Ò»¡¢ÃÜÂëѧÉÏ ......