µ¥Àýģʽ(Singleton) JavaʵÏÖ
µ¥ÀýģʽµÄʵÏÖ·½Ê½ÓкܶàÖÖ£¬ÔÚÕâÀï½éÉÜ×î¼òµ¥µÄÁ½ÖÖ¡£
µ¥ÀýģʽÄܹ»È·±£Ò»¸öÀàÖ»ÓÐÒ»¸öʵÀý£¨Õý³£Çé¿öÎÒÃÇ¿ÉÒÔnew³öÒ»¸öÀàµÄÎÞÊý¸öʵÀý£©£¬×ÔÐÐÌṩÕâ¸öʵÀý²¢ÏòÕû¸öϵͳÌṩÕâ¸öʵÀý¡£ÏÂÃæ½éÉܵ¥ÀýģʽµÄʵÏÖ·½·¨£º
1. µ¥ÀýģʽÓÐÁ½ÖÖʵÏÖ·½Ê½£ºÒ»ÖÖÊǽ«ÀàµÄ¹¹Ôì·¨·½·¨Ë½Óл¯£¬ÓÃÒ»¸ö˽ÓеÄÀà±äÁ¿instance±£´æÀàµÄʵÀý£¬ÔÚ¼ÓÔØÀàʱ£¬´´½¨ÀàµÄʵÀý£¬²¢½«ÊµÀý¸³¸øinstance£¬ÔÙÌṩһ¸ö¹¤Óѵľ²Ì¬·½·¨getInstanceÓÃÓÚ»ñÈ¡ÀàµÄΨһʵÀý£¬¸Ã·½·¨Ö±½Ó·µ»Øinstance¡£ÁíÒ»ÖÖÊǽ«ÀàµÄ¹¹Ôì·½·¨Ë½Óл¯£¬ÓÃÒ»¸ö˽ÓеÄÀàµÄ±äÁ¿instance±£´æÀàµÄʵÀý£¬µ½´ËΪֹ¶¼ÓëµÚÒ»ÖÖÇé¿öÏàͬ£¬µ«ÊÇÔÚ¼ÓÔØÀàʱ£¬½«null¸³¸øinstance¶ø²»ÊÇ´´½¨ÀàµÄʵÀý£¬ÔÙÌṩһ¸öÀàµÄ¹¤Óѵľ²Ì¬·½·¨getInstance£¬ÓÃÓÚ»ñÈ¡ÀàµÄΨһʵÀý£¬¸Ã·½·¨Ê×ÏÈÅжÏinstanceÊÇ·ñΪnull£¬Èç¹ûΪnull£¬Ôò´´½¨ÊµÀý¶ÔÏ󣬷ñÔò£¬Ö±½Ó·µ»Øinstance¡£
2. Á½ÖÖ·½·¨µÄÇø±ðÔÚÓÚ£ºÇ°ÕßÔÚÀà±»¼ÓÔØÊ±£¬ÀàµÄΨһʵÀý¾Í±»´´½¨³öÀ´ÁË£¬ºóÕßÔÚµÚÒ»¸öµ÷ÓÃgetInstance()·½·¨Ê±£¬ÀàµÄΨһʵÀý²Å±»´´½¨£¬µ«ÐèÒªÔÚgetInstance()·½·¨µÄÉùÃ÷ÖÐʹÓÃsynchronized¹Ø¼ü×Ö£¬±£Ö¤Ä³Ò»Ê±¿ÌÖ»ÓÐÒ»¸öÏ̵߳÷Óô˷½·¨£¬Èç¹û²»Ê¹ÓÃsynchronized¹Ø¼ü×ֵϰ£¬¾ÍÓпÉÄܳöÏÖÓÐÁ½¸öÏß³Ìͬʱ·ÃÎÊgetInstance·½·¨£¬Èç¹û´ËʱinstanceÇ¡ºÃΪnull£¬ÔòÁ½¸öÏ̶߳¼»áÈ¥´´½¨Õâ¸öÀàµÄʵÀý£¬Õâ¾Í²»·ûºÏµ¥ÀýģʽµÄ˼ÏëÁË¡£
´úÂëʵÏÖ£ºÊ×ÏȽ¨Á¢Ò»¸öÎļþTestSingleton.java£¬È»ºó½«ÏÂÃæµÄ²âÊÔ´úÂ뿽±´µ½ÎļþÖÐÔËÐС£
class OneSingleton {
private static OneSingleton instance = new OneSingleton();
private static int number = 0;
private OneSingleton() {}
public static OneSingleton getInstance() {
return instance;
}
public synchronized int getNumber() {
return number;
}
public synchronized void nextNumber() {
number++;
}
}
class TwoSingleton {
private static TwoSingleton instance = null;
private static int number = 0;
private TwoSingleton() {}
public static synchronized TwoSingleton getInstance() {
if(instance == null) {
instance = new
Ïà¹ØÎĵµ£º
ºÜ¶àÍøÓÑ×ÉѯѧϰJavaÓÐûÓÐʲô½Ý¾¶,ÎÒ˵“ÎÞËû£¬Î¨ÊÖÊì¶û”¡£µ«ÊÇÉÐѧÌÃÔ¸Ò⽫һЩ¾Ñéд³öÀ´£¬ÒÔ±ãºóÀ´ÕßÉÙ×ßÍä·,°ïÖú±ðÈËÊÇ×î´óµÄ¿ìÀÖÂ
ÒªÏëѧºÃJava£¬Ê×ÏÈÒªÖªµÀJavaµÄ´óÖ·ÖÀà¡£ÎÒÃÇÖªµÀ£¬×Ô´ÓSunÍÆ³öJavaÒÔÀ´£¬¾ÍÁ¦Í¼Ê¹Ö®ÎÞËù²»°ü£¬ËùÒÔJava·¢Õ¹µ½ÏÖÔÚ£¬°´Ó¦ÓÃÀ´·ÖÖ÷Òª·ÖΪÈý´ó¿é£ºJ2SE,J2MEºÍJ2EE, ......
¡¶Java¸ß¼¶¼¼Êõ¡·¿Î³Ì¼ò½é
1. Java³ÌÐòÉè¼ÆÓïÑÔÒýÂÛ
2. JavaÓïÑԵĽṹ»¯ÌØÐÔ
3.1. JavaÓïÑÔµÄÃæÏò¶ÔÏóÌØÐÔ£¨1£©
3.2. JavaÓïÑÔµÄÃæÏò¶ÔÏóÌØÐÔ£¨2£©
3.3. JavaÓïÑÔµÄÃæÏò¶ÔÏóÌØÐÔ£¨3£©
3.4. JavaÓïÑÔµÄÃæÏò¶ÔÏóÌØÐÔ£¨4£©
4.1. ÃæÏò¶ÔÏóÉè¼ÆÔÔò
4.2. ÃæÏò¶ÔÏóÉè¼ÆÄ£Ê½Ê¾Àý
5.1. JavaµÄÒì³£´¦Àí»úÖÆ
5.2. JavaÓïÑÔ ......
°æÈ¨ËùÓУ¬×ªÔØ×¢Ã÷³ö´¦£¡
×ªÔØÇëЯ´ø´ËÐÅÏ¢£ºhuangfox
-----------------------------------------------------------------
³éÏ󹤳§ºÍ¹¤³§·½·¨ ¸Õ¿ªÊ¼ºÜÈÝÒ×»ìÏý£¬ÖÁÉÙÎÒÊÇÕâÑùµÄ£¡
²»¹ýËûÃDzúÉúµÄÔµÓÉÀ´¿´£¬»¹ÊÇ¿ÉÒԺúÃÇø·ÖµÄ¡£
1.¹¤³§·½·¨£ºÊÇΪÁ˱ÜÃâÓ¦ÓÃÖ±½ÓʵÀýÀà²ã´Î½á¹¹ÖеľßÌåÀ࣬Ìṩһ¸ö·½·¨¸ù¾ÝÔËÐÐÇé ......
½ñÌ츴ϰÁËÒ»ÏÂÕâЩ֪ʶ£¬Ë³±ã×öÁËϱʼÇ.
1.¼Ä´æÆ÷£º×î¿ìµÄ´æ´¢Çø, ÓɱàÒëÆ÷¸ù¾ÝÐèÇó½øÐзÖÅä,ÎÒÃÇÔÚ³ÌÐòÖÐÎÞ·¨¿ØÖÆ.
2. Õ»£º´æ·Å»ù±¾ÀàÐ͵ıäÁ¿Êý¾ÝºÍ¶ÔÏóµÄÒýÓ㬵«¶ÔÏó±¾Éí²»´æ·ÅÔÚÕ»ÖУ¬¶øÊÇ´æ·ÅÔÚ¶Ñ£¨new ³öÀ´µÄ¶ÔÏ󣩻òÕß³£Á¿³ØÖУ¨×Ö·û´®³£Á¿¶ÔÏó´æ·ÅÔÚ³£Á¿³ØÖС££©
3. ¶Ñ£º´æ·ÅËùÓÐnew³öÀ´µÄ¶ÔÏó¡£
4. ¾²Ì¬Óò£ ......