Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

JavaÓïÑÔÖеĹؼü×Ö½²½â£¨Èý£©volatileµÄÓÃ;

¹ØÓÚ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ÄÚ´æÒç³ö

´ÓÎïÀíÉϽ²£¬¶ÑÕ»¾ÍÊÇÒ»¶ÎÁ¬Ðø·ÖÅäµÄÄÚ´æ¿Õ¼ä¡£ÔÚÒ»¸ö³ÌÐòÖУ¬»áÉùÃ÷¸÷ÖÖ±äÁ¿¡£¾²Ì¬È«¾Ö±äÁ¿ÊÇλÓÚÊý¾Ý¶Î²¢ÇÒÔÚ³ÌÐò¿ªÊ¼µÄʱºò¾Í±»¼ÓÔØ¡£¶ø³ÌÐòµÄ¶¯Ì¬µÄ¾Ö²¿±äÁ¿Ôò·ÖÅäÔÚ¶ÑÕ»ÀïÃæ¡£
JVM¹ÜÀíÁ½ÖÖÀàÐ͵ÄÄڴ棬¶ÑºÍ·Ç¶Ñ¡£¶ÑÊǸø¿ª·¢ÈËÔ±ÓõÄÉÏÃæËµµÄ¾ÍÊÇ£¬ÊÇÔÚJVMÆô¶¯Ê±´´½¨£»·Ç¶ÑÊÇÁô¸øJVM×Ô¼ºÓõģ¬ÓÃÀ´´æ·ÅÀàµÄÐÅÏ¢µÄ¡£Ëüº ......

Berkeley DB JAVA°æ±¾ÖУ¬ÀàÔöÇ¿Æ÷µÄʹÓÃ

¾ÝÎĵµËù˵£¬ÀàÔöÇ¿Æ÷±ÈÓôúÀíµÄ·½Ê½ËÙ¶ÈÉÏÓÐÓÅÊÆ¡£
ÓÐÁ½ÖÖ·½Ê½£¬
µÚÒ»ÖÖÊÇÔÚÀà¼ÓÔØÊ±¶¯Ì¬´¦Àí£¬Õâ¸ö¶ÔÏÖÓгÌÐò²»ÓÃÐ޸ġ£Ö»ÐèÒª¸ÄÏÂÔËÐеÄjava½Å±¾¼´¿É
¶ÔÓÚJava 1.5ÈçÏÂËùʾ
java -javaagent:lib/je-<version>.jar=enhance:packageNames ...
je-<version>.jar ¾ÍÊÇBerkeley DB JAVA¿âµÄÃû×Ö¡£ packageNa ......

JavaÈ¡µÃ´úÂëËùÔÚÐкŵķ½·¨

ÓÃCµÄÈËÒ»¶¨ÖªµÀ__FILE__ºÍ__LINE__,µ«ÊÇJavaÖÐ ²¢Ã»ÓÐÕâÑùµÄ¶¨Ò壬ÓÐʱºòµ÷ÊÔ¶àÏ߳̾ͺܲ»·½±ã£¬Ã»°ì·¨£¬×Ô¼º¶¯ÊÖ£¬·áÒÂ×ãʳ~ÓÃÏÂÃæµÄº¯ÊýÈ¡µÃµ±Ç°Ðкš£
º¯Êý£º
/**
*µÃµ½ExceptionËùÔÚ´úÂëµÄÐÐÊý
*Èç¹ûûÓÐÐÐÐÅÏ¢,·µ»Ø-1
*/
public static int getLineNumber(Exception e){
StackTraceElement[] trace =e.getStac ......

Java±à³Ì¹æ·¶

Ò»¡¢ÏîÄ¿°æ±¾¹æ·¶£º
1¡¢°æ±¾ºÅÃüÃû¸ñʽ£º
V Ö÷°æ±¾ºÅ.´Î°æ±¾ºÅ.ÐÞÕû°æ±¾ºÅ
a£®³õʼ°æ±¾ºÅΪV1.0.0£»
b£®ÀàÊôÐÔ»òÀà·½·¨µÄÄÚÈÝ·¢Éú±ä»¯Ê±£¬Ö÷°æ±¾ºÅºÍ´Î°æ±¾ºÅ¶¼²»±ä£¬ÐÞÕû°æ±¾ºÅ¼Ó 1£»
c£®Ôö¼ÓÁËÀà»ò½Ó¿Ú·½·¨Ê±£¬Ö÷°æ±¾ºÅ²»±ä£¬´Î°æ±¾ºÅ¼Ó 1£¬ÐÞÕû°æ±¾ºÅ¸´Î»Îª0£»
d£®Ôö¼ÓÁËÀà»ò½Ó¿Úʱ£¬Ö÷°æ±¾ºÅ¼Ó1£¬´Î°æ±¾ºÅ¸´Î»Îª0 ......

Ë­ÄܸæËßÎÒÔõô°ÑJAVAѧºÃ~ʱ¼äÓÖ¶Ì£¡Ð»Ð»ÁË£¡£¡£¡

     °¥£¡×ªÑ۾͹ýÁËÒ»ÄêÁË£¬ÎÒºÃÏñʲô¶«Î÷¶¼Ñ§²»µ½Ñ½£¬ÕâÒªÈçºÎÊǺð¡£¬ÕæµÄÐÄÀïºÜ¼±°¡£¡£¡£¡ÄĸöJAVA¸ßÊÖÖ¸µãÏÂÎÒÕâ¸öºó±²¿©£¬ÎÒ»áÍò·Ö¸ÐлÀ࣬ºÇºÇ£¬ºÜ¿ÉÄÜÊÇÎÒÀÏʦ²»Ðа¡£¡Ëý×Ô¼ºÉϿζ¼ÄÜ×ö³ö´íÎó³ÌÐò³öÀ´£¬»¹ôòÊǸöÈ˲ţ¬ÎÒ²»µÃ²»Åå·þËý°¡£¬ÎÒÃǰàÉÏÒ²ÓкöàÈËÔÚ˵ËýÊÇÔõôÔõôµÄ²î£¬°¥£¡ÎÒ¶¼²»Ï ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ