javaµÄÔ×Ó²Ù×÷ºÍvolatile
Ô×Ó²Ù×÷
ËùνÔ×Ó²Ù×÷,¾ÍÊÇ"²»¿ÉÖжϵÄÒ»¸ö»òһϵÁвÙ×÷" , ÔÚÈ·ÈÏÒ»¸ö²Ù×÷ÊÇÔ×ÓµÄÇé¿öÏ£¬¶àÏ̻߳·¾³ÀïÃæ£¬ÎÒÃÇ¿ÉÒÔ±ÜÃâ½ö½öΪ±£»¤Õâ¸ö²Ù×÷ ÔÚÍâΧ¼ÓÉÏÐÔÄܰº¹óµÄËø£¬ÉõÖÁ½èÖúÓÚÔ×Ó²Ù×÷£¬ÎÒÃÇ¿ÉÒÔʵÏÖ»¥³âËø¡£ ¹ØÓÚjavaÖеÄÔ×ÓÐÔ
Ô×ÓÐÔ¿ÉÒÔÓ¦ÓÃÓÚ³ýlongºÍdoubleÖ®ÍâµÄËùÓлù±¾ÀàÐÍÖ®Éϵġ°¼òµ¥²Ù×÷¡±¡£¶ÔÓÚ¶ÁÈ¡ºÍдÈë³ölongºÍdoubleÖ®ÍâµÄ»ù±¾ÀàÐͱäÁ¿ÕâÑùµÄ²Ù×÷ £¬¿ÉÒÔ±£Ö¤ËüÃǻᱻµ±×÷²»¿É·Ö£¨Ô×Ó£©µÄ²Ù×÷À´²Ù×÷¡£ volatile
µ±ÎÒÃǶ¨ÒåÒ»¸ö±äÁ¿£¬¼ÙÉè¾Í½Ðo°É£¬ÀíÂÛÉϽ²£¬Ã¿´ÎʹÓõ½oµÄʱºò£¬¶¼Ó¦¸Ã´ÓoµÄµØÖ·À´¶ÁÈ¡Õâ¸ö±äÁ¿£¬µ«ÊÇÕâ´æÔÚÒ»¸öЧÂÊÎÊÌ⣬¾ÍÊÇÿ´Î ʹÓÃoµÄʱºò¶¼Òª´ÓÄÚ´æÖÐȥȡֵ£¬È»ºóͨ¹ýϵͳ×ÜÏß´«µ½CPU´¦Àí£¬ÕâÑù¿ªÏú»áºÜ´ó¡£ËùÒÔ±àÒëÆ÷ΪÁËÓÅ»¯ÐÔÄÜ£¬°Ño·Å½øCPUµÄCacheÖУ¬¼ÙÈç oÔÚ¸³ÖµÆÚ¼äûÓб»¸Ä±ä£¬¾ÍÖ±½Ó´ÓCPUµÄCacheÀïÈ¡oµÄ¸±±¾À´½øÐи³Öµ¡£µ«ÊÇ"bug"Ò²ÏÔ¶øÒ×¼û£¬¿ÉÄÜoÒѾ±»Ò»¸öÏß³Ì¸Ä±ä¶øÖØÐÂд»ØÁËÄÚ´æ £¬µ«ÁíÒ»¸öÏ̲߳¢²»ÖªµÀ£¬ÒÀ¾É°´ÕÕÔÀ´µÄ¼Æ»®´ÓCPUµÄCacheÀï¶ÁoµÄ¸±±¾À´È¡Öµ£¬½á¹û²»ÐÒ·¢ÉúÁË¡£ ÓÚÊDZàÒëÆ÷µÄ¿ª·¢ÕßΪÁ˲¹¾ÈÕâÒ»"bug"£¬ÌṩÁËÒ»¸övolatileÈÿª·¢ÈËԱΪËûÃǵĹýʧÂñµ¥£¬»òÕß˵Ìṩ¸ø¿ª·¢ÈËÔ±ÁËÒ»¸öÑ¡ÔñЧÂʵÄȨÀû¡£ µ±±äÁ¿¼ÓÉÏÁËvolatileʱ£¬±àÒëÆ÷¾ÍÀÏÀÏʵʵµÄÿ´Î¶¼´ÓÄÚ´æÖжÁÈ¡Õâ¸ö±äÁ¿Öµ£¬·ñÔò¾Í»¹°´ÕÕÓÅ»¯µÄ·½°¸´ÓcacheÀï¶Á¡£ ÔÚÁ½¸ö»òÕ߸ü¶àµÄÏ̷߳ÃÎʵijÉÔ±±äÁ¿ÉÏʹÓÃvolatile½ÏºÃ£¬µ±Òª·ÃÎʵıäÁ¿ÒÑÔÚsynchronized´úÂë¿éÖУ¬»òÕßΪ³£Á¿Ê±£¬²»±ØÊ¹Óá£
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
Java™ ÓïÑÔ°üº¬Á½ÖÖÄÚÔÚµÄͬ²½»úÖÆ£ºÍ¬²½¿é£¨»ò·½·¨£©ºÍ volatile ±äÁ¿¡£ÕâÁ½ÖÖ»úÖÆµÄÌá³ö¶¼ÊÇΪÁËʵÏÖ´úÂëÏ̵߳ݲȫÐÔ¡£ÆäÖÐ Volatile ±äÁ¿µÄͬ²½ÐԽϲµ«ÓÐʱËü¸ü¼òµ¥²¢ÇÒ¿ªÏú¸üµÍ£©£¬¶øÇÒÆäʹÓÃÒ²¸üÈÝÒ׳ö´í¡£ÔÚÕâÆÚµÄ Java ÀíÂÛÓëʵ¼ù
ÖУ¬Brian Goetz ½«½éÉܼ¸ÖÖÕýȷʹÓà volatile ±äÁ¿µÄģʽ£¬²¢Õë¶ÔÆäÊÊÓ ......
MonoRailÊǾµäµÄMVCģʽ,ËùÒÔÆäÖÐÒ²¾ßÓÐÈý¸öÔªËØModel,Controller,View,ÆäÖÐMonoRailÊÇͨ¹ýUrlµØÖ·À´½âÎö
ÏàÓ¦µÄ²Ù×÷µÄ,Èçµ±Äã·ÃÎÊ:/home/index.rail,¶ÔÓ¦»áÖ´ÐÐHomeControllerÀàÖеÄIndex·½·¨,¶øÇÒ¿ÉÒÔ×Ô¶¯°ó¶¨²ÎÊýºÍ
RequestµÄÊý¾Ý,Èç·ÃÎÊ:/home/index.rail?id=1,Äã¿ÉÒÔÔÚHomeControllerÀàÖеÄIndex·½·¨Öж¨ÒåÒ»¸ö²ÎÊý ......
µÚÒ»²¿·Ö. Ìáʾ
ÎÒÐèÒª¶ÁÕâÆªÎÄÕÂÂð£¿
JavaÀà¼ÓÔØÆ÷¶ÔJavaϵͳµÄÔËÐÐÊÇÖÁ¹ØÖØÒªµÄ£¬µ«ÊÇÈ´³£³£±»ÎÒÃǺöÂÔ¡£JavaÀà¼ÓÔØÆ÷¸ºÔØ
ÔÚÔËÐÐʱ²éÕҺͼÓÔØÀà¡£×Ô¶¨ÒåÀà¼ÓÔØÆ÷¿ÉÒÔÍêÈ«¸Ä±äÀàµÄ¼ÓÔØ·½Ê½£¬ÒÔ×Ô¼ºÏ²»¶µÄ·½Ê½À´
¸öÐÔ»¯ÄãµÄJavaÐéÄâ»ú¡£±¾ÎļòÒªµÄ½éÉÜJavaÀà¼ÓÔØÆ÷£¬È»ºóͨ¹ýÒ»¸ö¹¹Ôì×Ô¶¨ÒåÀà¼ÓÔØÆ÷
µÄÀý×ÓÀ´ËµÃ÷£¬Õâ ......
JDK 5.0 ÖÐÔö¼ÓµÄ·ºÐÍÀàÐÍ£¬ÊÇ Java ÓïÑÔÖÐÀàÐͰ²È«µÄÒ»´ÎÖØÒª¸Ä½ø¡£µ«ÊÇ£¬¶ÔÓÚ³õ´ÎʹÓ÷ºÐÍÀàÐ͵ÄÓû§À´Ëµ£¬·ºÐ͵ÄijЩ·½Ãæ¿´ÆðÀ´¿ÉÄܲ»ÈÝÒ×Ã÷°×£¬ÉõÖÁ·Ç³£Ææ¹Ö¡£ÔÚ±¾ÔµēJava ÀíÂÛºÍʵ¼ù”ÖУ¬Brian Goetz ·ÖÎöÁËÊø¸¿µÚÒ»´ÎʹÓ÷ºÐ͵ÄÓû§µÄ³£¼ûÏÝÚå¡£Äú¿ÉÒÔͨ¹ýÌÖÂÛÂÛ̳Óë×÷ÕßºÍÆäËû¶ÁÕß·ÖÏíÄú¶Ô±¾ÎĵĿ´·¨¡ ......