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

JAVAÖеÄSingletonģʽ

µ¥Àýģʽ£¬¹ËÃû˼Ò壬ֻÄÜÓÐÒ»¸öʵÀý¡£
Ò».´Ó¶àḬ̈߳²È«ËµÆð£¬ÈçÏÂͼ´úÂ룬´ËÎÊÌâ¿ÉÒÔÓÃsynchronized¹Ø¼ü×ÖÀ´½â¾ö¡£¸Ã·½·¨È±µã£ºÃ¿Ò»¸öÏß³ÌÔÚ»ñȡʵÀý¶ÔÏó֮ǰ¶¼ÒªÔÚsynchronizedÉÏͬ²½µÄ¶ÔÏóÉϽøÐеȴý£¬Òò´ËЧÂʲ»¸ß¡£
¶þ.Double Check·½·¨£¬¼ûÏÂͼ´úÂë¡£Double CheckµÄ³õÖÔÊÇÖ»Óе±instanceΪNULLʱִÐеÄÏ̲߳ÅÐèÒªÔÚsynchronizedͬ²½µÄ¶ÔÏóÉϵȴý£¬Õâ±ÜÃâÁ˓һ”·½·¨ÖеÄÿ¸öÏß³ÌÔÚ»ñµÃʵÀý¶ÔÏó֮ǰ¾ùÒªÔÚsynchronizedͬ²½µÄ¶ÔÏóÉϽøÐеȴýµÄ±×¶Ë¡£µ«ÊÇÕâÒ»ÉèÏëÔÚJAVAÖÐÈ´²»ÊÊÓ¦¡£Ô­Òò£ºJAVAÄÚ´æÄ£ÐͲ¢²»±£Ö¤Ò»¸ö¶ÔÏóµÄÒýÓÃÖ»ÓÐÔÚËü¹¹ÔìÍêÖ®ºó²Å±»¸³ÓèÒ»¸öʵÀý¡£ÀýÈ磺AÏß³ÌÖ´Ðе½ÁËinstance=new SingletonClass();"instance=new SingletonClass()"ÕâÒ»¹ý³ÌµÄÖ´Ðв½Öè¿ÉÄÜÊÇÏÂÊöÇéÐΣºµÚÒ»²½£¬JVM·ÖÅäÄڴ棻µÚ¶þ²¿£¬instanceÖ¸Ïò·ÖÅäµÄÄڴ棻µÚÈý²½£¬µ÷Óù¹Ôì·½·¨¡£¼ÙÉè´ËʱAÏß³ÌÖ´Ðе½Á˵ڶþ²½£¬¶øÍ¬Ê±BÏ߳̿ªÊ¼Ö´ÐУ¬´ËʱBÏ̼߳ì²âµ½µÄinstance²»Îªnull£¬µ«ÒòΪAÏß³ÌÖл¹Î´Ö´ÐеÚÈý²½¼´»¹Ã»µ÷Óù¹Ô캯Êý£¬ËùÒÔBÏß³ÌÖзµ»ØµÄinstanceÊDz»ÕýÈ·µÄ¡£µ±È»£¬ÕâÖÖ´íÎóʱ¿ÉÄÜ·¢ÉúµÄ£¬¾¡¹ÜÏÂÃæ´úÂëÖеÄÖ´Ðеõ½µÄ½á¹ûÊÇÕýÈ·µÄ¡£
Èý.ʹÓþ²Ì¬ÄÚ²¿Àà¡£ºÃ´¦£º1.¿ÉÒÔʵÏÖÑÓʱʵÀý»¯¡£¼´Ö»Óе±Ààµ÷ÓÃgetInstance()·½·¨Ê±²Å»á¶Ôinstance½øÐÐʵÀý»¯£¬¶ø“Ò»”“¶þ”Á½ÖÖ·½·¨Öж¼ÊÇÔÚÀàµÚÒ»´Î¼ÓÔØÊ±±ã¶Ôinstance½øÐÐÁËʵÀý»¯¡£2.½â¾öÁ˓һ”·½·¨ÖУ¬Ã¿¸öÏß³ÌÔÚ»ñµÃʵÀý¶ÔÏó֮ǰ¶¼ÒªÔÚsynchronizedͬ²½µÄ¶ÔÏóÉϽøÐеȴýµÄȱÏÝ¡£
ÎÊÌ⣺ÕâÊÇÍøÂçÉÏ¿´µ½µÄ´ò¼ÜÆÕ±éÈÏͬµÄÒ»ÖÖ½â¾öjavaÖÐSingletonģʽµÄ·½·¨£¬µ«ÎªÊ²Ã´ÏÂÃæÕâÖÖ·½·¨²»´æÔÚDouble Check·½·¨Öеı׶ËÄØ£¿¼´ÏÂÃæ·½·¨ÖÐÊÇͨ¹ýʲô½â¾öÁËDouble CheckÖеÄÎÊÌâÄØ£¿
 


Ïà¹ØÎĵµ£º

JAVA±ÊÊÔÌâÑ¡ÔñÌâ

1ÏÂÃæÄĸöÊÇÕýÈ·µÄÀàÉùÃ÷£¿¼ÙÉèÿһ¶ÎÎı¾¶¼×öΪһ¸öÃû³ÆÎªFred.javaµÄÎļþµÄÈ«²¿ÄÚÈÝ£¿ a
a).
public class Fred{
public int x = 0;
public Fred (int x){
      this.x=x;
}
}
b).
public class fred{
public int x = 0;
public Fred (int x){
this.x=x;
}
}
c).
public class ......

javaÖÐList¼¯ºÏµÄʹÓÃ

 ÔÚJavaÖÐÈç¹ûList ½áºÏ´æÈ¡µÄÊÇÐí¶àÀàÐͲ»Í¬µÄÊý¾ÝÈçint,String ÀàÐͶ¼ÓУ¬ÄÇôÈçºÎʹÓÃJSTL±í´ïʽѭ»·»ñÈ¡List¼¯ºÏÖеÄÔªËØÄØ£¿
È磺¼ÙÈçList list=new ArrayList();    int a=1; String b="sss";    String c="ddddddd";……ÔÚServletÖРʹÓÃSession ±£´æ
session.set ......

JavaÐÂÊÖÈëÃźÜÖØÒªµÄ¼¸¸ö»ù±¾¸ÅÄî

 finalÀࣺΪ·ÀÖ¹ËûÈË´ÓÄãµÄÀàÉÏÅÉÉúÐÂÀ࣬´ËÀàÊDz»¿ÉÀ©Õ¹µÄ¡£
¡¡¡¡¶¯Ì¬µ÷ÓñȾ²Ì¬µ÷Óû¨·ÑµÄʱ¼äÒª³¤¡£
¡¡¡¡³éÏóÀࣺ¹æ¶¨Ò»¸ö»ò¶à¸ö³éÏó·½·¨µÄÀà±¾Éí±ØÐ붨ÒåΪabstract¡£
¡¡¡¡Àý£º public abstract string getDescripition
¡¡¡¡JavaÖеÄÿһ¸öÀà¶¼ÊÇ´ÓObjectÀàÀ©Õ¹¶øÀ´µÄ¡£
¡¡¡¡objectÀàÖеÄequalºÍtoString·½· ......

JAVA£¨¸ß¼¶£©¹¤³Ìʦ

Ò»¡¢JAVA¡£ÒªÏë³ÉΪJAVA£¨¸ß¼¶£©¹¤³Ìʦ¿Ï¶¨ÒªÑ§Ï°JAVA¡£Ò»°ãµÄ³ÌÐòÔ±»òÐíÖ»ÐèÖªµÀһЩJAVAµÄÓï·¨½á¹¹¾Í¿ÉÒÔÓ¦¸¶ÁË¡£µ«Òª³ÉΪJAVA£¨¸ß¼¶£©¹¤³Ìʦ£¬ÄúÒª¶ÔJAVA×ö±È½ÏÉîÈëµÄÑо¿¡£ÄúÓ¦¸Ã¶àÑо¿Ò»ÏÂJDBC¡¢IO°ü¡¢Util°ü¡¢Text°ü¡¢JMS¡¢EJB¡¢RMI¡¢Ï̡߳£Èç¹û¿ÉÄÜ£¬Ï£ÍûÄú¶ÔJAVAµÄËùÓаü¶¼ä¯ÀÀһϣ¬ÖªµÀ´ó¸ÅµÄAPI£¬ÕâÑùÄú¾Í·¢ÏÖÆä ......

Java ÄÚ²¿Àà

¶¨ÒåÔÚÒ»¸öÀàÄÚ²¿µÄÀà½ÐÄÚ²¿À࣬°üº¬ÄÚ²¿ÀàµÄÀà³ÆÎªÍⲿÀà¡£
ÄÚ²¿Àà¿ÉÒÔÉùÃ÷public¡¢protected¡¢privateµÈ·ÃÎÊÏÞÖÆ£¬
¿ÉÒÔÉùÃ÷ΪabstractµÄ¹©ÆäËûÄÚ²¿Àà»òÍⲿÀà¼Ì³ÐÓëÀ©Õ¹£¬
»òÕßÉùÃ÷Ϊstatic¡¢finalµÄ£¬Ò²¿ÉÒÔʵÏÖÌØ¶¨µÄ½Ó¿Ú¡£
staticµÄÄÚ²¿ÀàÐÐΪÉÏÏóÒ»¸ö¶ÀÁ¢µÄÀ࣬
·ÇstaticÔÚÐÐΪÉÏÀàËÆÀàµÄÊôÐÔ»ò·½·¨ÇÒ½ûÖ¹ÉùÃ÷s ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ