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ÖбØÒªµÄ´úÂëÓÅ»¯£¬ËùÒÔÔÚЧÂÊÉϱȽϵͣ¬Òò´ËÒ»¶¨ÔÚ±ØҪʱ²ÅʹÓô˹ؼü×Ö¡£
Ïà¹ØÎĵµ£º
±¾ÎĽéÉܵÄJAVA¹æÔòµÄ˵Ã÷·ÖΪ3¸öÖ÷Òª¼¶±ð£¬±¾ÆªÅ×ÆúÁËƽʱ¿ª·¢ÖкÜÉÙÓöµ½µÄÇé¿ö£¬ÄÇЩÓõñȽÏÉÙµÄÒÔºóÔٸ߼¶ÆªÀïÃæ³öÏÖ¡£²¢ÓÐÁù¸öÓÐÓõĹú¼ÊÈí¼þ¿ª·¢ÖØҪעÒâµÄÓйØStringµÄÎÊÌ⣬×ñÊØÁËÕâЩ¹æÔò¿ÉÒÔÌá¸ß³ÌÐòµÄЧÂÊ¡¢Ê¹´úÂëÓÖ¸üºÃµÄ¿É¶ÁÐԵȡ£
£¨1£© Èç¹ûÓÐJDBCÁ¬½ÓûÓйصôµÄ»°£¬ÐèÒªÔÚ"finally"·½·¨Öйصô
Èç ......
javaÀàµÄ³ÉÔ±±äÁ¿ÓÐÁ©ÖÖ£º
Ò»ÖÖÊDZ»static¹Ø¼ü×ÖÐÞÊεıäÁ¿£¬½ÐÀà±äÁ¿»òÕß¾²Ì¬±äÁ¿
ÁíÒ»ÖÖûÓÐstaticÐÞÊΣ¬ÎªÊµÀý±äÁ¿ ÀàµÄ¾²Ì¬±äÁ¿ÔÚÄÚ´æÖÐÖ»ÓÐÒ»¸ö£¬javaÐéÄâ»úÔÚ¼ÓÔØÀàµÄ¹ý³ÌÖÐΪ¾²Ì¬±äÁ¿·ÖÅäÄڴ棬¾²Ì¬±äÁ¿Î»ÓÚ·½·¨Çø£¬±»ÀàµÄËùÓÐʵÀý¹²Ïí¡£ ¾²Ì¬±äÁ¿¿ÉÒÔÖ±½Óͨ¹ýÀàÃû½øÐзÃÎÊ£¬ÆäÉúÃüÖÜÆÚÈ¡¾öÓÚÀàµÄÉú ......
×î½üÒªÔÚÒ»¸öJAVA¹¤³ÌÖе÷ÓÃÒ»¸ö±ðÈ˵ÄDLL¿â£¬³öÏÖÁËÒÔÏÂÎÊÌ⣺ƽ̨ÊÇJDK1.6.0_2
±ðÈ˵ÄDLLµ¼³öµÄº¯ÊýÀàËÆÓÚ_Java_Sth_1Find@12 £¬¶øÎÒ·ÃÎʸú¯ÊýµÄÀàÈç¹ûÔÚdefault packageϾͿÉÒÔÕý³£·ÃÎÊ£¬¾ÍÊÇ˵DLLµ¼³öµÄJNIÊÇÔÚĬÈÏ°üϵģ¬¶øÈç¹û°Ñ¸ÃÀà·ÅÈëÌض¨µÄ°üϾͻá³öÏÖException in thread "main" java.lang.UnsatisfiedLink ......
JavaµÄÄÚ´æÄ£ÐÍJMM£¨Java Memory Model£©JMMÖ÷ÒªÊÇΪÁ˹涨ÁËÏ̺߳ÍÄÚ´æÖ®¼äµÄһЩ¹Øϵ¡£¸ù¾ÝJMMµÄÉè¼Æ£¬ÏµÍ³´æÔÚÒ»¸öÖ÷ÄÚ´æ(Main Memory)£¬JavaÖÐËùÓÐʵÀý±äÁ¿¶¼´¢´æÔÚÖ÷´æÖУ¬¶ÔÓÚËùÓÐÏ̶߳¼Êǹ²ÏíµÄ¡£Ã¿ÌõÏ̶߳¼ÓÐ×Ô¼ºµÄ¹¤×÷ÄÚ´æ(Working Memory)£¬¹¤×÷ÄÚ´æÓÉ»º´æºÍ¶ÑÕ»Á½²¿·Ö×é³É£¬»º´æÖб£´æµÄÊÇÖ÷´æÖбäÁ¿µÄ¿½±´£¬»º´ ......
·´Éä»úÖÆ:ËùνµÄ·´Éä»úÖƾÍÊÇjavaÓïÑÔÔÚÔËÐÐʱӵÓÐÒ»Ïî×Ô¹ÛµÄÄÜÁ¦¡£Í¨¹ýÕâÖÖÄÜÁ¦¿ÉÒÔ³¹µ×µÄÁ˽â×ÔÉíµÄÇé¿öΪÏÂÒ»²½µÄ¶¯×÷×ö×¼±¸¡£ÏÂÃæ¾ßÌå½éÉÜÒ»ÏÂjava
µÄ·´Éä»úÖÆ¡£ÕâÀïÄ㽫µß¸²ÔÀ´¶ÔjavaµÄÀí½â¡£
JavaµÄ·´Éä»úÖƵÄʵÏÖÒª½èÖúÓÚ4¸öÀࣺclass£¬Constructor£¬F ......