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

Java ÀíÂÛÓëʵ¼ù: ÕýȷʹÓà Volatile ±äÁ¿

 
Java™ ÓïÑÔ°üº¬Á½ÖÖÄÚÔÚµÄͬ²½»úÖÆ£ºÍ¬²½¿é£¨»ò·½·¨£©ºÍ volatile ±äÁ¿¡£ÕâÁ½ÖÖ»úÖÆµÄÌá³ö¶¼ÊÇΪÁËʵÏÖ´úÂëÏ̵߳ݲȫÐÔ¡£ÆäÖÐ Volatile ±äÁ¿µÄͬ²½ÐԽϲµ«ÓÐʱËü¸ü¼òµ¥²¢ÇÒ¿ªÏú¸üµÍ£©£¬¶øÇÒÆäʹÓÃÒ²¸üÈÝÒ׳ö´í¡£ÔÚÕâÆÚµÄ Java ÀíÂÛÓëʵ¼ù
ÖУ¬Brian Goetz ½«½éÉܼ¸ÖÖÕýȷʹÓà volatile ±äÁ¿µÄģʽ£¬²¢Õë¶ÔÆäÊÊÓÃÐÔÏÞÖÆÌá³öһЩ½¨Òé¡£

Java ÓïÑÔÖÐµÄ volatile ±äÁ¿¿ÉÒÔ±»¿´×÷ÊÇÒ»ÖÖ “³Ì¶È½ÏÇáµÄ synchronized
”£»Óë synchronized
¿éÏà±È£¬volatile ±äÁ¿ËùÐèµÄ±àÂë½ÏÉÙ£¬²¢ÇÒÔËÐÐʱ¿ªÏúÒ²½ÏÉÙ£¬µ«ÊÇËüËùÄÜʵÏֵŦÄÜÒ²½öÊÇ synchronized
µÄÒ»²¿·Ö¡£±¾ÎĽéÉÜÁ˼¸ÖÖÓÐЧʹÓà volatile ±äÁ¿µÄģʽ£¬²¢Ç¿µ÷Á˼¸ÖÖ²»ÊʺÏʹÓà volatile ±äÁ¿µÄÇéÐΡ£
ËøÌṩÁËÁ½ÖÖÖ÷ÒªÌØÐÔ£º»¥³â£¨mutual exclusion£©
ºÍ¿É¼ûÐÔ£¨visibility£©
¡£
»¥³â¼´Ò»´ÎÖ»ÔÊÐíÒ»¸öÏ̳߳ÖÓÐij¸öÌØ¶¨µÄËø£¬Òò´Ë¿ÉʹÓøÃÌØÐÔʵÏÖ¶Ô¹²ÏíÊý¾ÝµÄЭµ÷·ÃÎÊЭÒ飬ÕâÑù£¬Ò»´Î¾ÍÖ»ÓÐÒ»¸öÏß³ÌÄܹ»Ê¹Óøù²ÏíÊý¾Ý¡£¿É¼ûÐÔÒª¸ü¼Ó
¸´ÔÓһЩ£¬Ëü±ØÐëÈ·±£ÊÍ·ÅËøÖ®Ç°¶Ô¹²ÏíÊý¾Ý×ö³öµÄ¸ü¸Ä¶ÔÓÚËæºó»ñµÃ¸ÃËøµÄÁíÒ»¸öÏß³ÌÊǿɼûµÄ ——
Èç¹ûûÓÐͬ²½»úÖÆÌṩµÄÕâÖֿɼûÐÔ±£Ö¤£¬Ï߳̿´µ½µÄ¹²Ïí±äÁ¿¿ÉÄÜÊÇÐÞ¸ÄǰµÄÖµ»ò²»Ò»ÖµÄÖµ£¬Õ⽫Òý·¢Ðí¶àÑÏÖØÎÊÌâ¡£
Volatile ±äÁ¿
Volatile ±äÁ¿¾ßÓÐ synchronized
µÄ¿É¼ûÐÔÌØÐÔ£¬µ«ÊDz»¾ß±¸Ô­×ÓÌØÐÔ¡£Õâ¾ÍÊÇ˵Ïß³ÌÄܹ»×Ô¶¯·¢ÏÖ volatile ±äÁ¿µÄ×îÐÂÖµ¡£Volatile
±äÁ¿¿ÉÓÃÓÚÌṩḬ̈߳²È«£¬µ«ÊÇÖ»ÄÜÓ¦ÓÃÓڷdz£ÓÐÏÞµÄÒ»×éÓÃÀý£º¶à¸ö±äÁ¿Ö®¼ä»òÕßij¸ö±äÁ¿µÄµ±Ç°ÖµÓëÐ޸ĺóÖµÖ®¼äûÓÐÔ¼Êø¡£Òò´Ë£¬µ¥¶ÀʹÓÃ
volatile »¹²»×ãÒÔʵÏÖ¼ÆÊýÆ÷¡¢»¥³âËø»òÈκξßÓÐÓë¶à¸ö±äÁ¿Ïà¹ØµÄ²»±äʽ£¨Invariants£©µÄÀࣨÀýÈç “start
<=end”£©¡£
³öÓÚ¼òÒ×ÐÔ»ò¿ÉÉìËõÐԵĿ¼ÂÇ£¬Äú¿ÉÄÜÇãÏòÓÚʹÓà volatile ±äÁ¿¶ø²»ÊÇËø¡£µ±Ê¹ÓÃ
volatile ±äÁ¿¶ø·ÇËøÊ±£¬Ä³Ð©Ï°¹ßÓ÷¨£¨idiom£©¸ü¼ÓÒ×ÓÚ±àÂëºÍÔĶÁ¡£´ËÍ⣬volatile
±äÁ¿²»»áÏñËøÄÇÑùÔì³ÉÏß³Ì×èÈû£¬Òò´ËÒ²ºÜÉÙÔì³É¿ÉÉìËõÐÔÎÊÌâ¡£ÔÚijЩÇé¿öÏ£¬Èç¹û¶Á²Ù×÷Ô¶Ô¶´óÓÚд²Ù×÷£¬volatile
±äÁ¿»¹¿ÉÒÔÌṩÓÅÓÚËøµÄÐÔÄÜÓÅÊÆ¡£
ÕýȷʹÓà volatile ±äÁ¿µÄÌõ¼þ
ÄúÖ»ÄÜÔÚÓÐÏÞµÄһЩÇéÐÎÏÂʹÓà volatile ±äÁ¿Ìæ´úËø¡£ÒªÊ¹ volatile ±äÁ¿ÌṩÀíÏëµÄḬ̈߳²È«£¬±ØÐëͬʱÂú×ãÏÂÃæÁ½¸öÌõ¼þ£º
¶Ô±äÁ¿µÄд²Ù×÷²»ÒÀÀµÓÚµ±Ç°Öµ¡£
¸Ã±äÁ¿Ã»Óаüº¬ÔÚ¾ßÓÐÆäËû±äÁ¿µÄ²»±äʽÖС£
ʵ¼ÊÉÏ£¬Õâ


Ïà¹ØÎĵµ£º

Java SE 6 Beta

 
Sun·¢²¼ÁËJava SE 6 Beta
£¨ÒÔϼò³Æ6£©£¬²éÁ˲鹦ÄܸĽø
£¬Ã»Óз¢ÏÖʲô¼¤¶¯ÈËÐĵı仯¡£ÌôÁ˼¸ÌõÉÔ΢¸ÐÐËȤһµãµÄÆÀ¼Ûһϡ£
jconsole is more user-friendly
6µÄн¨Á¬½ÓµÄ´°¿ÚÓзdz£´óµÄ¸Ä±ä¡£ÔÚLocal Process´°¿ÚÁгöÁËËùÓб¾µØjava½ø³Ì£¨°üÀ¨jconsole±¾Éí£©£¬²»ÄÜͨ¹ýJconsole½øÐйÜÀíµÄ½ø³Ì´¦ÓÚdisable× ......

Effective in Java ±Ê¼Ç

1¡¢Óþ²Ì¬¹¤³§·½·¨´úÌæ¹¹Ô캯Êý
Óŵ㣺
Óë¹¹Ô캯Êý²»Í¬£¬¾²Ì¬¹¤³§·½·¨¾ßÓÐÃû×Ö£¨±íÒâºÃ£©¡£
ÿ´Î±»µ÷ÓÃʱ£¬²»ÒªÇó·ÇµÃ´´½¨Ò»¸öеĶÔÏó¡£
¿ÉÒÔ·µ»ØÒ»¸öÔ­·µ»ØÀàÐ͵Ä×ÓÀàÐͶÔÏó¡£
ȱµã£º
ÀàÈç¹û²»º¬Óй«ÓеĻòÊܱ£»¤µÄ¹¹Ô캯Êý£¬¾Í²»Äܱ»×ÓÀ໯¡£
ËüÃÇÓÚÆäËûµÄ¾²Ì¬·½·¨Ã»ÓÐÈκÎÇø±ð£¨Ò×»ìÏý£© 
......

JMS¸ÅÒª(Java Message Service Overview)

 
 
Õâ¸ö¹ØÓÚJMS(Java Message Service)µÄ¸ÅÒª»Ø´ðÁËÏÂÃæ¼¸¸öÎÊÌ⣺
 
1.ʲôÊÇÏûÏ¢£¿
2.ôÊÇJMS API£¿
3.ÈçºÎʹÓÃJMS API£¿
4. JMS APIÊÇÈçºÎÓëJ2EEƽ̨һÆð¹¤×÷µÄ£¿
 
1.1ʲôÊÇÏûÏ¢£¿
ÏûÏ¢ÊÇÈí¼þ×é¼þ»òÕßÓ¦ÓÃÖ®¼ä½»Á÷µÄÒ»ÖÖ·½·¨¡£ÏûϢϵͳÊÇÒ»¸öµã¶ÔµãµÄ¹¦ÄÜ£¬Ò»¸öÏûÏ¢¿Í»§¶Ë¿ÉÒÔ·¢ËÍºÍ½Ó ......

javaµ÷ÓÃweka

ת×Ô£ºhttp://blog.csdn.net/felomeng/archive/2009/10/17/4688257.aspx
 ÔÚeclipseÏÂʹÓÃjavaµ÷ÓÃweka ÊÕ²Ø
wekaÊǺܺÃÓõĻúÆ÷ѧϰ¿â£¬ÕâÀï¾Í²»Ïêϸ½éÉÜÁË¡£
ÑÔ¹éÕý´«£¬ÒªÊ¹ÓóÌÐò·½Ê½Ê¹ÓÃweka£¬²½ÖèÈçÏ£º
Ò»¡¢ÔÚeclipseÀïн¨Ò»¸öjava project£º
1.      ½¨Á¢¹¤³Ì£ºµ¥»÷²Ëµ¥ÖÐfil ......

JAVAÖеÄÒÀÀµµ¹Ô­Ôò

JAVAÖеÄÒÀÀµµ¹Ô­Ôò
ÃÀ¹ú·¨ÂÉÓÐÒ»Ìõ×î»ù±¾µÄ×¼Ôò¾ÍÊÇ“ÈËÈËÆ½µÈ”£¬ÎÒÃDz»È¥¹ÜËüÊǾ­¹ýʲôÑùµÄ¶·Õù¡¢Ê²Ã´ÑùµÄÁ÷ѪÎþÉü»»À´µÄ£¬Ö»°ÑËüÀí½âΪһ¸öJAVA·½·¨£¬¸Ã·½·¨¶¨ÒåÈçÏ£º
    public final boolean ÈËÈËÆ½µÈ(ÈË1£¬ÈË2){
       return true;
  &n ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ