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

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 ÀíÂÛÓëʵ¼ù: ÕýȷʹÓà Volatile ±äÁ¿

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

Àí½âJavaÀà¼ÓÔØÔ­Àí

µÚÒ»²¿·Ö. Ìáʾ
ÎÒÐèÒª¶ÁÕâÆªÎÄÕÂÂð£¿
JavaÀà¼ÓÔØÆ÷¶ÔJavaϵͳµÄÔËÐÐÊÇÖÁ¹ØÖØÒªµÄ£¬µ«ÊÇÈ´³£³£±»ÎÒÃǺöÂÔ¡£JavaÀà¼ÓÔØÆ÷¸ºÔØ
ÔÚÔËÐÐʱ²éÕҺͼÓÔØÀà¡£×Ô¶¨ÒåÀà¼ÓÔØÆ÷¿ÉÒÔÍêÈ«¸Ä±äÀàµÄ¼ÓÔØ·½Ê½£¬ÒÔ×Ô¼ºÏ²»¶µÄ·½Ê½À´
¸öÐÔ»¯ÄãµÄJavaÐéÄâ»ú¡£±¾ÎļòÒªµÄ½éÉÜJavaÀà¼ÓÔØÆ÷£¬È»ºóͨ¹ýÒ»¸ö¹¹Ôì×Ô¶¨ÒåÀà¼ÓÔØÆ÷
µÄÀý×ÓÀ´ËµÃ÷£¬Õâ ......

ÉîÈë½âÎöJavaµÄÐÂÌØÐÔassertion

 
ÎÒÃǾ­³£ÏÂÔØ¿ªÔ´ÏîÄ¿µÄÔ´ÂëÔÚ±¾µØ±àÒë,ÊDz»ÊǾ­³£±»Ò»¾ä"assert expression"¸ø¸ãµÃ±àÒë²»¹ýÈ¥£¬¾­³£ÊÇÔÚÀϰ汾µÄjdk±àÒëÆ÷ÏÂû°ì·¨£¬ÏÂÃæ¾ÍÏò´ó¼ÒÍÆ¼öһƪÉîÈë·ÖÎöjava assertionµÄÎÄÕ¡£
Ò»¡¢assertionµÄÓï·¨ºÍÓïÒå
J2SE 1.4ÔÚÓïÑÔÉÏÌṩÁËÒ»¸öÐÂÌØÐÔ£¬¾ÍÊÇassertion(¶ÏÑÔ)¹¦ÄÜ£¬ËüÊǸð汾ÔÚJavaÓïÑÔ·½Ãæ×î´ ......

ÓûìÏýÆ÷±£»¤ÄãµÄJAVA(.class)´úÂë(¶þ)

µÚ¶þÖÖ¼òµ¥µÄ·½·¨¾ÍÊÇ,ÔÚhttp://proguard.sourceforge.net/ÏÂÔØZIP°ü.×îеÄÊÇ4.5BETA
 ½âѹËõºó,Ë«»÷proguardgui.jar
 ÔËÐÐÈí¼þ
 ×îɵ¹ÏµÄÉèÖ÷½·¨:ÉèÖúÃINPUT/OUTPUT,µãPROCESS.½á¹û¾Í³öÀ´ÁË.
Éú³ÉÁË.a.class.b.class ÓÃJAD·´±àÒë,JADÌáʾ:²»ÄÜÍêÕûµÄ·´±àÒë....,´ò¿ª±àÒëºóµÄ´úÂë±äÁ¿ºÍº¯ÊýÃûÈ«²¿±»Ì ......

¶þ²æÊ÷ (Binary Tree) µÄ»ù±¾²Ù×÷ (Java)

package algorithm.binarytree;
import java.util.Arrays;
import java.util.Stack;
import util.ArrayUtil;
import util.OutputUtil;
public class BinTree {
    private BinNode root = null;
    public BinTree()
    {
    }
  &nb ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ