1, ±£Ö¤Ḭ̈߳²È«µÄÈýÖÖ·½·¨:
a, ²»Òª¿çÏ̷߳ÃÎʹ²Ïí±äÁ¿
b, ʹ¹²Ïí±äÁ¿ÊÇfinalÀàÐ͵Ä
c, ½«¹²Ïí±äÁ¿µÄ²Ù×÷¼ÓÉÏͬ²½
2, Ò»¿ªÊ¼¾Í½«ÀàÉè¼Æ³ÉḬ̈߳²È«µÄ, ±ÈÔÚºóÆÚÖØÐÂÐÞ¸´Ëü,¸üÈÝÒ×.
3, ±àд¶àÏ̳߳ÌÐò, Ê×Ïȱ£Ö¤ËüÊÇÕýÈ·µÄ,Æä´ÎÔÙ¿¼ÂÇÐÔÄÜ.
4, ÎÞ״̬»òÖ»¶Á¶ÔÏóÓÀÔ¶ÊÇḬ̈߳²È«µÄ.
5, ²»Òª½«Ò»¸ö¹²Ïí±äÁ¿Âã¶ÔÚ¶àÏ̻߳·¾³ÏÂ(ÎÞͬ²½»ò²»¿É±äÐÔ±£»¤)
6, ¶àÏ̻߳·¾³ÏµÄÑÓ³Ù¼ÓÔØÐèҪͬ²½µÄ±£»¤, ÒòΪÑÓ³Ù¼ÓÔØ»áÔì³É¶ÔÏóÖظ´ÊµÀý»¯
7, ¶ÔÓÚvolatileÉùÃ÷µÄÊýÖµÀàÐͱäÁ¿½øÐÐÔËËã, ÍùÍùÊDz»°²È«µÄ(volatileÖ»Äܱ£Ö¤¿É¼ûÐÔ,²»Äܱ£Ö¤Ô×ÓÐÔ).
Ïê¼ûvolatileÔÀíÓë¼¼ÇÉÖÐ, ÔàÊý¾ÝÎÊÌâÌÖÂÛ.
8, µ±Ò»¸öÏß³ÌÇëÇó»ñµÃËü×Ô¼ºÕ¼ÓеÄËøʱ(ͬһ°ÑËøµÄǶÌ×ʹÓÃ), ÎÒÃdzƸÃËøΪ¿ÉÖØÈëËø.
ÔÚjdk1.5²¢·¢°üÖÐ, ÌṩÁË¿ÉÖØÈëËøµÄjavaʵÏÖ-ReentrantLock.
9, ÿ¸ö¹²Ïí±äÁ¿,¶¼Ó¦¸ÃÓÉÒ»¸öΨһȷ¶¨µÄËø±£»¤.
´´½¨Óë±äÁ¿ÏàͬÊýÄ¿µÄReentrantLock, ʹËûÃǸºÔðÿ¸ö±äÁ¿µÄḬ̈߳²È«.
10,ËäÈ»ËõСͬ²½¿éµÄ·¶Î§, ¿ÉÒÔÌáÉýϵͳÐÔÄÜ.
µ«ÔÚ±£Ö¤Ô×ÓÐÔµÄÇé¿öÏÂ, ²»¿É½«Ô×Ó²Ù×÷·Ö½â³É¶à¸ösynchronized¿é.
11, ÔÚûÓÐͬ²½µÄÇé¿öÏÂ, ±àÒëÆ÷Óë´¦ÀíÆ÷ÔËÐÐʱµÄÖ¸ÁîÖ´ÐÐ˳Ðò¿ÉÄÜÍêÈ«³öºõÒâÁÏ.
ÔÒòÊÇ, ±àÒëÆ÷»ò´¦ÀíÆ÷ΪÁËÓÅ»¯×ÔÉíÖ´ÐÐЧÂÊ, ¶ø¶ÔÖ¸Áî½øÐÐÁ˵ÄÖØÅÅÐò(reordering).
12, µ±Ò»¸öÏß³ÌÔÚûÓÐͬ²½µÄÇé¿ö϶ÁÈ¡±äÁ¿, Ëü¿ÉÄÜ»áµÃµ½Ò»¸ö¹ýÆÚÖµ, µ«ÊÇÖÁÉÙËü¿ÉÒÔ¿´µ½ÄǸö
Ïß³ÌÔÚµ±Ê±É趨µÄÒ»¸öÕæʵÊýÖµ. ¶ø²»ÊÇƾ¿Õ¶øÀ´µÄÖµ. ÕâÖÖ°²È«±£Ö¤, ³Æ֮Ϊ×îµÍÏ޵ݲȫÐÔ(out-of-thin-air safety)
ÔÚ¿ª·¢²¢·¢Ó¦ÓóÌÐòʱ, ÓÐʱΪÁË´ó·ù¶ÈÌá¸ßϵͳµÄÍÌÍÂÁ¿ÓëÐÔÄÜ, »á²ÉÓÃÕâÖÖÎÞ±£ÕϵÄ×ö·¨.
µ«ÊÇÕë¶Ô, ÊýÖµµÄÔËËã, ÈÔ¾ÉÊDZ»·ñ¾öµÄ.
13, volatile±äÁ¿,Ö»Äܱ£Ö¤¿É¼ûÐÔ, ÎÞ·¨±£Ö¤Ô×ÓÐÔ.
Ïê¼û volatileÔÀíÓë¼¼ÇÉ
14, ijЩºÄʱ½Ï³¤µÄÍøÂç²Ù×÷»òIO, È·±£Ö´ÐÐʱ, ²»ÒªÕ¼ÓÐËø.
15, ·¢²¼(publish)¶ÔÏó, Ö¸µÄÊÇʹËüÄܹ»±»µ±Ç°·¶Î§Ö®ÍâµÄ´úÂëËùʹÓÃ.(ÒýÓô«µÝ)
¶ÔÏóÒݳö(escape), Ö¸µÄÊÇÒ»¸ö¶ÔÏóÔÚÉÐδ׼±¸ºÃʱ½«Ëü·¢²¼.
ÔÔò: Ϊ·ÀÖ¹Òݳö, ¶ÔÏó±ØÐëÒª±»ÍêÈ«¹¹ÔìÍêºó,&
Ò»¸öÈí¼þÉè¼ÆµÄºÃ»µ£¬ÎÒÏëºÜ´ó³Ì¶ÈÉÏÈ¡¾öÓÚËüµÄÕûÌå¼Ü¹¹£¬¶øÕâ¸öÕûÌå¼Ü¹¹Æäʵ¾ÍÊÇÄã¶ÔÕû¸öºê¹ÛÉÌÒµÒµÎñµÄ³éÏó¿ò¼Ü£¬µ±´ú±íÒµÎñÂß¼µÄ¸ß²ã³éÏó²ã½á¹¹ ºÏÀíʱ£¬Äãµ×²ãµÄ¾ßÌåʵÏÖÐèÒª¿¼Âǵľͽö½öÊÇһЩËã·¨ºÍһЩ¾ßÌåµÄÒµÎñʵÏÖÁË¡£µ±ÄãÐèÒªÔÙ¿ª·¢ÁíÒ»¸öÏà½üµÄÏîĿʱ£¬ÄãÒÔÇ°µÄ³éÏó²ã˵²»¶¨»¹¿ÉÒÔÔÙ´ÎÀûÓà ÄØ£¬Ãæ¶Ô¶ÔÏóµÄÉè¼Æ ......
1. ×ÜÌåÉè¼Æ
1.1 »ù±¾Éè¼Æ¸ÅÄîºÍ´¦ÀíÁ÷³Ì
1.1.1 ³ÌÐò»®·Ö
Ö÷Òª·ÖΪ·þÎñ¶ËºÍ¿Í»§¶ËÁ½¸ö²¿·Ö¡£
¿Í»§¶Ë²¿·ÖÓÖ·ÖΪͬ²½ÓëÒì²½Á½ÖÖģʽ¡£
1.1.2 ´¦ÀíÁ÷³ÌÃèÊö
JAVA°æ½Ó¿Úƽ̨Ö÷ҪʵÏÖÓëÍⲿ½Ó¿ÚµÄ·þÎñ¶ËºÍ¿Í»§¶ËµÄꬄ ......