java volatileµÄÓ÷¨
ÎÒÃÇÖªµÀ£¬ÔÚJavaÖÐÉèÖñäÁ¿ÖµµÄ²Ù×÷£¬³ýÁËlongºÍdoubleÀàÐ͵ıäÁ¿Íâ¶¼ÊÇÔ×Ó²Ù×÷£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚ±äÁ¿ÖµµÄ¼òµ¥¶Áд²Ù×÷ûÓбØÒª½øÐÐͬ²½¡£
ÕâÔÚJVM 1.2֮ǰ£¬JavaµÄÄÚ´æÄ£ÐÍʵÏÖ×ÜÊÇ´ÓÖ÷´æ¶ÁÈ¡±äÁ¿£¬ÊDz»ÐèÒª½øÐÐÌØ±ðµÄ×¢ÒâµÄ¡£¶øËæ×ÅJVMµÄ³ÉÊìºÍÓÅ»¯£¬ÏÖÔÚÔÚ¶àÏ̻߳·¾³ÏÂvolatile¹Ø¼ü×ÖµÄʹÓñäµÃ·Ç³£ÖØÒª¡£
ÔÚµ±Ç°µÄJavaÄÚ´æÄ£ÐÍÏ£¬Ï߳̿ÉÒ԰ѱäÁ¿±£´æÔÚ±¾µØÄڴ棨±ÈÈç»úÆ÷µÄ¼Ä´æÆ÷£©ÖУ¬¶ø²»ÊÇÖ±½ÓÔÚÖ÷´æÖнøÐжÁд¡£Õâ¾Í¿ÉÄÜÔì³ÉÒ»¸öÏß³ÌÔÚÖ÷´æÖÐÐÞ¸ÄÁËÒ»¸ö±äÁ¿µÄÖµ£¬¶øÁíÍâÒ»¸öÏ̻߳¹¼ÌÐøÊ¹ÓÃËüÔڼĴæÆ÷ÖеıäÁ¿ÖµµÄ¿½±´£¬Ôì³ÉÊý¾ÝµÄ²»Ò»Ö¡£
Òª½â¾öÕâ¸öÎÊÌ⣬ֻÐèÒªÏñÔÚ±¾³ÌÐòÖеÄÕâÑù£¬°Ñ¸Ã±äÁ¿ÉùÃ÷Ϊvolatile£¨²»Îȶ¨µÄ£©¼´¿É£¬Õâ¾ÍָʾJVM£¬Õâ¸ö±äÁ¿ÊDz»Îȶ¨µÄ£¬Ã¿´ÎʹÓÃËü¶¼µ½Ö÷´æÖнøÐжÁÈ¡¡£Ò»°ã˵À´£¬¶àÈÎÎñ»·¾³Ï¸÷ÈÎÎñ¼ä¹²ÏíµÄ±êÖ¾¶¼Ó¦¸Ã¼ÓvolatileÐÞÊΡ£
VolatileÐÞÊεijÉÔ±±äÁ¿ÔÚÿ´Î±»Ï̷߳ÃÎÊʱ£¬¶¼Ç¿ÆÈ´Ó¹²ÏíÄÚ´æÖÐÖØ¶Á¸Ã³ÉÔ±±äÁ¿µÄÖµ¡£¶øÇÒ£¬µ±³ÉÔ±±äÁ¿·¢Éú±ä»¯Ê±£¬Ç¿ÆÈÏ߳̽«±ä»¯Öµ»ØÐ´µ½¹²ÏíÄÚ´æ¡£ÕâÑùÔÚÈκÎʱ¿Ì£¬Á½¸ö²»Í¬µÄÏß³Ì×ÜÊÇ¿´µ½Ä³¸ö³ÉÔ±±äÁ¿µÄͬһ¸öÖµ¡£
JavaÓïÑԹ淶ÖÐÖ¸³ö£ºÎªÁË»ñµÃ×î¼ÑËÙ¶È£¬ÔÊÐíÏ̱߳£´æ¹²Ïí³ÉÔ±±äÁ¿µÄ˽Óп½±´£¬¶øÇÒÖ»µ±Ï߳̽øÈë»òÕßÀ뿪ͬ²½´úÂë¿éʱ²ÅÓë¹²Ïí³ÉÔ±±äÁ¿µÄÔʼֵ¶Ô±È¡£
ÕâÑùµ±¶à¸öÏß³ÌͬʱÓëij¸ö¶ÔÏó½»»¥Ê±£¬¾Í±ØÐëҪעÒâµ½ÒªÈÃÏ̼߳°Ê±µÄµÃµ½¹²Ïí³ÉÔ±±äÁ¿µÄ±ä»¯¡£
¶øvolatile¹Ø¼ü×Ö¾ÍÊÇÌáʾVM£º¶ÔÓÚÕâ¸ö³ÉÔ±±äÁ¿²»Äܱ£´æËüµÄ˽Óп½±´£¬¶øÓ¦Ö±½ÓÓë¹²Ïí³ÉÔ±±äÁ¿½»»¥¡£
ʹÓý¨Ò飺ÔÚÁ½¸ö»òÕ߸ü¶àµÄÏ̷߳ÃÎʵijÉÔ±±äÁ¿ÉÏʹÓÃvolatile¡£µ±Òª·ÃÎʵıäÁ¿ÒÑÔÚsynchronized´úÂë¿éÖУ¬»òÕßΪ³£Á¿Ê±£¬²»±ØÊ¹Óá£
ÓÉÓÚʹÓÃvolatileÆÁ±ÎµôÁËVMÖбØÒªµÄ´úÂëÓÅ»¯£¬ËùÒÔÔÚЧÂÊÉϱȽϵͣ¬Òò´ËÒ»¶¨ÔÚ±ØÒªÊ±²ÅʹÓô˹ؼü×Ö¡£
Ïà¹ØÎĵµ£º
ÔÎÄ·¢±íÔÚhttp://baihuazhou.javaeye.com/blog/200642
ÎÒÃÇÔÚÏîÄ¿ÖУ¬¾³£»áÅöµ½ÕâÑùÒ»ÖÖÐèÇ󣬾ÍÊÇÈÃij¸ö³ÌÐòÔÚij¸ö¹Ì¶¨µÄʱ¼äÈ¥ÔËÐУ¬±ÈÈ綨ʱ±¸·Ý²Ù×÷¡£ÔÚJavaµÄJ2SEµÄAPIÖпÉÒÔºÜÈÝÒ××öµ½ÕâÒ»µã¡£
ÈÃÎÒÃÇÐèÒª¶¨Ê±Ö´ÐеÄÀà¼Ì³Ð×Ôjava.util.TimerTaskÖеÄTimerTaskÀ࣬°ÑÐèÒªÖ´Ðеķ½·¨·ÅÈërun·½·¨ÖУº
import java. ......
Ò».ÔõÑùÓÃsocket½øÐпͻ§Óë·þÎñÆ÷ͨÐÅ
ÔÚJavaÖÐÓÃsocket½øÐпͻ§/·þÎñÆ÷Ö®¼äµÄͨÐűà³Ì¡£SocketÊÇÁ½¸öʵÌåÖ®¼ä½øÐÐͨÐŵÄÓÐЧ¶Ëµã¡£Í¨¹ýsocket¿ÉÒÔ»ñµÃÔ´IPµØÖ·ºÍÔ´¶Ë¿Ú¡¢ÖÕµãIPµØÖ·ºÍÖÕµã¶Ë¿Ú¡£Óû§¿ÉÒÔ½«¶à¸ösocketÁ¬Èëͬһ¸ö¶Ë¿Ú£¬ÒÔ±ã¶ÔÓÚµ¥¸ö¶Ë¿Ú¿ÉÒÔÓжà¸öÁ¬½Ó¡£Í¨¹ýsocket¿Í»§/·þÎñÆ÷±à³Ì¿ÉÒÔ´´½¨Ò»¸öÄܱ»Ðí¶àÈËÊ¹Ó ......
JavaÉϵı¦Ê¯ JRuby 1.5Õýʽ·¢²¼
2010Äê05ÔÂ12ÈÕ£¬JRubyÍŶӷdz£¸ßÐ˵ÄÐû²¼1.5.0°æµÄ·¢²¼¡£ÔÚÕâ֮ǰ£¬Ôø¾·¢²¼¹ýJRuby 1.5.0 RC1µÄ·¢²¼ÏûÏ¢£¬Ïà±È֮ϣ¬Õýʽ·¢²¼±¾±¾ÓÖÌṩÁ˺ܶà¸üС£
JRuby 1.5.0 °æ±¾µÄÖ÷Ò³ºÍÏÂÔØµØÖ··Ö±ðÊÇ£º
Ö÷Ò³£ºhttp://www.jruby.org/
ÏÂÔØ£ºhttp://www.jruby.org/download
Õâ´Î·¢²¼ÊÇJRubyÀú ......
Îå¡¢XMLģʽ
l XMLģʽÄܸü¾«È·µÄ´¦ÀíXML½á¹¹Ô¼ÊøµÄ±íʾ֮Íâ»¹ÎªÔ¼ÊøÊý¾ÝµÄ´¦ÀíÌṩһ¸öXMLÑùʽ¡£Ä£Ê½Ö»ÊÇÒ»¸öXMLÎĵµ£¬ÊÜDTDµÄÔ¼Êø¡£¶ÔÓÚXMLģʽ¶øÑÔ£¬XML DTDÖ»ÊÇÒ»ÖÖ´´½¨ÎĵµÔ¼ÊøµÄÊֶΡ£ÒòΪXMLģʽÊÇΪÁËÇ¿»¯XMLÎĵµµÄÓÐЧÐÔ£¬Ëü±ØÐë²ÉÓÃÒ»ÖÖ»úÖÆ£¬¶ø²»ÊÇ×Ô¼º¶¨ÒåÔ¼ÊøÌõ¼þ¡£ÕâÖÖ»úÖÆ±ØÐëÊÇÒ»¸öDTD¡£µ«ÊÇÔʼµÄD ......