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

javaÉè¼ÆÄ£Ê½Ö®Singleton(µ¥Ì¬)

¶¨Òå:
SingletonģʽÖ÷Òª×÷ÓÃÊDZ£Ö¤ÔÚJavaÓ¦ÓóÌÐòÖУ¬Ò»¸öÀàClassÖ»ÓÐÒ»¸öʵÀý´æÔÚ¡£
Ôںܶà²Ù×÷ÖУ¬±ÈÈ罨Á¢Ä¿Â¼ Êý¾Ý¿âÁ¬½Ó¶¼ÐèÒªÕâÑùµÄµ¥Ï̲߳Ù×÷¡£
»¹ÓÐ, singletonÄܹ»±»×´Ì¬»¯;
ÕâÑù£¬¶à¸öµ¥Ì¬ÀàÔÚÒ»Æð¾Í¿ÉÒÔ×÷Ϊһ¸ö״̬²Ö¿âÒ»ÑùÏòÍâÌṩ·þÎñ£¬±ÈÈ磬ÄãÒªÂÛ̳ÖеÄÌû×Ó¼ÆÊýÆ÷£¬Ã¿´Îä¯ÀÀÒ»´ÎÐèÒª¼ÆÊý£¬µ¥Ì¬ÀàÄÜ·ñ±£³ÖסÕâ¸ö¼ÆÊý£¬²¢ÇÒ
ÄÜsynchronizeµÄ°²È«×Ô¶¯¼Ó1£¬Èç¹ûÄãÒª°ÑÕâ¸öÊý×ÖÓÀ¾Ã±£´æµ½Êý¾Ý¿â£¬Äã¿ÉÒÔÔÚ²»Ð޸ĵ¥Ì¬½Ó¿ÚµÄÇé¿öÏ·½±ãµÄ×öµ½¡£
ÁíÍâ·½Ãæ£¬SingletonÒ²Äܹ»±»ÎÞ״̬»¯¡£Ìṩ¹¤¾ßÐÔÖʵŦÄÜ£¬
Singletonģʽ¾ÍΪÎÒÃÇÌṩÁËÕâÑùʵÏֵĿÉÄÜ¡£Ê¹ÓÃSingletonµÄºÃ´¦»¹ÔÚÓÚ¿ÉÒÔ½ÚÊ¡Äڴ棬ÒòΪËüÏÞÖÆÁËʵÀýµÄ¸öÊý£¬ÓÐÀûÓÚJavaÀ¬»ø»ØÊÕ£¨garbage collection£©¡£
ÎÒÃdz£³£¿´µ½¹¤³§Ä£Ê½ÖÐÀà×°ÈëÆ÷(class loader)ÖÐÒ²ÓÃSingletonģʽʵÏÖµÄ,ÒòΪ±»×°ÈëµÄÀàʵ¼ÊÒ²ÊôÓÚ×ÊÔ´¡£
ÈçºÎʹÓÃ?
Ò»°ãSingletonģʽͨ³£Óм¸ÖÖÐÎʽ:
public class Singleton {
¡¡¡¡private Singleton(){}
¡¡¡¡//ÔÚ×Ô¼ºÄÚ²¿¶¨Òå×Ô¼ºÒ»¸öʵÀý£¬ÊDz»ÊÇºÜÆæ¹Ö£¿
¡¡¡¡//×¢ÒâÕâÊÇprivate Ö»¹©ÄÚ²¿µ÷ÓÃ
¡¡¡¡private static Singleton instance = new Singleton();
¡¡¡¡//ÕâÀïÌṩÁËÒ»¸ö¹©Íⲿ·ÃÎʱ¾classµÄ¾²Ì¬·½·¨£¬¿ÉÒÔÖ±½Ó·ÃÎÊ
¡¡¡¡public static Singleton getInstance() {
¡¡¡¡¡¡¡¡return instance;
¡¡¡¡ }
}
µÚ¶þÖÖÐÎʽ:
public class Singleton {
¡¡¡¡private static Singleton instance = null;
¡¡¡¡public static synchronized Singleton getInstance() {
¡¡¡¡//Õâ¸ö·½·¨±ÈÉÏÃæÓÐËù¸Ä½ø£¬²»ÓÃÿ´Î¶¼½øÐÐÉú³É¶ÔÏó£¬Ö»ÊǵÚÒ»´Î
¡¡¡¡//ʹÓÃʱÉú³ÉʵÀý£¬Ìá¸ßÁËЧÂÊ£¡
¡¡¡¡if (instance==null)
¡¡¡¡¡¡¡¡instance£½new Singleton();
¡¡¡¡return instance; ¡¡¡¡}
}
ʹÓÃSingleton.getInstance()¿ÉÒÔ·ÃÎʵ¥Ì¬Àà¡£
ÉÏÃæµÚ¶þÖÐÐÎʽÊÇlazy initialization£¬Ò²¾ÍÊÇ˵µÚÒ»´Îµ÷ÓÃʱ³õʼSingleton£¬ÒÔºó¾Í²»ÓÃÔÙÉú³ÉÁË¡£
×¢Òâµ½lazy
initializationÐÎʽÖеÄsynchronized£¬Õâ¸ösynchronizedºÜÖØÒª£¬Èç¹ûûÓÐsynchronized£¬ÄÇôʹÓÃ
getInstance()ÊÇÓпÉÄܵõ½¶à¸öSingletonʵÀý¡£¹ØÓÚlazy
initializationµÄSingletonÓкܶàÉæ¼°double-checked locking (DCL)µÄÌÖÂÛ£¬ÓÐÐËȤÕß½øÒ»²½Ñо¿¡£
Ò»°ãÈÏΪµÚÒ»ÖÖÐÎʽҪ¸ü¼Ó°²È«Ð©¡£
ʹÓÃSingleton×¢ÒâÊÂÏ
ÓÐʱÔÚijЩÇé¿öÏ£¬Ê¹ÓÃSingleton²¢²»ÄÜ´ïµ½SingletonµÄÄ¿µÄ£¬ÈçÓжà¸öSingleton¶ÔÏóͬʱ±»


Ïà¹ØÎĵµ£º

ǿתJAVAÊý×é

ǿתһ¸öÊý×éÀàÐÍ ±ØÐëҪѭ»·±éÀú
±ÈÈç
 B[] b;
 //A¼Ì³ÐB;
A[] a= (A[])b;
ÕâÑùתÊDz»Äܳɹ¦µÄ
ÕâÊÇΪʲô£¿ÈçºÎ½â¾ö£¿
Ò²¾ÍÊÇ˵
for( int i=0;  i<b.length;  i++ )
{
    a[i]=(A)b[i];
}
ÕâÑùת£¡ ......

ÓÃjavaÓïÑÔ¿ª·¢ÊÖ»úÈí¼þµÄѧϰ¾­Ñ飡(ת)

ÎÒÊÇ×öj2se¿ª·¢µÄ£¬×î½ü·¢ÉúµÄһϵÁÐʼþ£¬ÈÃÎÒ¶ÔÊÖ»úÈí¼þÐÐÒµ²úÉúÁËŨºñµÄÇéȤ¡£ÎÒµÄÒ»¸öÅóÓÑǰÁ½Ä꿪ÁËÒ»¸öС¹«Ë¾£¬×öÁËÒ»¸öÊÖ»úmadÓÎÏ·£¬×ܹ²¾Í7£¬8¸öÈË×öµÄ£¬Ã»ÓÐʲô̫ţµÄµØ·½£¬±¾À´ÅóÓÑÒ²ÑûÇëÎҲμӣ¬µ«ÊÇÎÒ¾õµÃ¹¤×÷²»Îȶ¨£¬¾Í¾Ü¾øÁË£¬µ«È¥ÄêÎÒÅóÓѾ¹È»µÃµ½µÄ200ÍòµÄ·çÍ·£¬ÏÖÔÚ»¹Ô½À´Ô½´ó£¬ÕæÊÇÈÃÎÒºó»Ú¡£ºóÀ´iphone ......

´¿Java¶ÁÈ¡¡¢ÏÔʾ¡¢×ª»»wordÎĵµ(97~2007)¡¢htmlÎĵµ

´¿Java¶ÁÈ¡¡¢ÏÔʾ¡¢×ª»»wordÎĵµ(97~2007)¡¢htmlÎĵµ
ÏÂÔØ³ÌÐò¿â
http://hgsqldoc.appspot.com/lib/hg.jar
Ö÷³ÌÐò¿â£¨±ØÐ룩
http://hgsqldoc.appspot.com/lib/poi.jar
½âÎödoc¸ñʽ
http://hgsqldoc.appspot.com/lib/itext.jar
Êä³öpdfºÍrtf
http://hgsqldoc.appspot.com/lib/fgio.jar
Êä³ösvg¡¢swf¡¢ps¡¢emf
¶ÁÈ ......

JAVAÖеÄÖ¸Õë,ÒýÓü°¶ÔÏóµÄclone

JavaÓïÑÔµÄÒ»¸öÓŵã¾ÍÊÇÈ¡ÏûÁËÖ¸ÕëµÄ¸ÅÄµ«Ò²µ¼ÖÂÁËÐí¶à³ÌÐòÔ±ÔÚ±à³ÌÖг£³£ºöÂÔÁ˶ÔÏóÓëÒý
ÓõÄÇø±ð£¬±¾ÎÄ»áÊÔͼ³ÎÇåÕâÒ»¸ÅÄî¡£²¢ÇÒÓÉÓÚJava²»ÄÜͨ¹ý¼òµ¥µÄ¸³ÖµÀ´½â¾ö¶ÔÏó¸´ÖƵÄÎÊÌ⣬ÔÚ¿ª·¢¹ý³ÌÖУ¬Ò²³£³£ÒªÒªÓ¦ÓÃclone£¨£©·½·¨À´¸´ÖƶÔ
Ïó¡£±¾ÎÄ»áÈÃÄãÁ˽âʲôÊÇÓ°×ÓcloneÓëÉî¶Èclone£¬ÈÏʶËüÃǵÄÇø±ð¡¢Óŵ㼰ȱµã¡£ ......

Îı¾¾ÛÀàËã·¨JavaʵÏÖ

ÍÜÍÜÍÆ¼ö£ºÍÜÍܽÌÄãÎı¾¾ÛÀà
ÕªÒª£ºÎı¾¾ÛÀàÊÇËÑË÷ÒýÇæºÍÓïÒåwebµÄ»ù±¾¼¼Êõ£¬Õâ´Î±¾Íܺʹó¼ÒÒ»Æðѧϰһϼòµ¥µÄÎı¾¾ÛÀàËã·¨£¬¿ÉÄܲ»ÄÜÖ±½ÓÓÃÓÚʵ¼ÊÓ¦ÓÃÖУ¬µ«¶ÔÓÚÏëѧËÑË÷¼¼ÊõµÄ³õѧÕß»¹ÊÇÓÐÒ»¶¨ÈëÃÅ×÷Óõġ£ÕâÀï»áÓõ½TF/IDFÈ¨ÖØ£¬ÓÃÓàÏҼнǼÆËãÎı¾ÏàËÆ¶È£¬Ó÷½²î¼ÆËãÁ½¸öÊý¾Ý¼äŷʽ¾àÀ룬ÓÃk-means½øÐÐÊý¾Ý¾ÛÀàµÈÊýѧ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ