µ¥Àýģʽ(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¸ß¼¶¼¼Êõ¡·¿Î³Ì¼ò½é
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ÓïÑÔ ......
¾³£Óõ½µç¿ÏÂÔØ×ÊÁÏ,һЩhttpÄã¸ù±¾ÕÒ²»µ½µÄ×ÊÔ´,µ±È»ËÙ¶ÈÊDz»Äܹ§Î¬ÁË,¿×Óô,¸ÉµÄ¾ÍÊÇÂý»î,ÈÈÃÅ×ÊÔ´³ýÍâ…
ÎÒÓõÄverycd°æµÄµç¿,Ô°æµç¿µÄÒ»ÖÖmods,µçÂ¿Ã²ËÆÓÐN¶à°æ±¾,²»¹ýÎÒ¾õµÃverycdµÄ¾Í¹»ÓÃÁË,±Ï¾¹¹úÄڰ˳ɵÄÈ˶¼ÔÚÓÃ.
×î½üÔÚÏÂж«·½µÄиÅÄîÓ¢Óï½Ì³Ì,½ø¶È87%,ÑÛ¿´ÒªÏÂÍêÁË,µÈÒªµÈ1¸ö¶àСʱ,ÏÂÔØÍê³ÉÓ ......
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ – ÿÖܶ¼ÓÐÐÂÎÄÕ·¢±í.
4.[http:/ ......
ºÜÔç֮ǰд¹ýÀûÓ÷ºÐͺͷ´Éä»úÖÆ³éÏóDAO £¬¶ÔÆäÖлñÈ¡×ÓÀà·ºÐ͵ÄclassÒ»Ö±²»ÊǺÜÀí½â¡£¹Ø¼üµÄµØ·½ÊÇHibernateBaseDaoµÄ¹¹Ôì·½·¨ÖеÄ
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class)params[0] ......
ÍøÉÏÓÐÁ˺ܶàÕâÑùµÄÎÄÕ£¬²»¹ý¸Ð¾õ²¢²»ÊǺÜÈ«£¬ÎÒ¶¼¶«ÕÒÎ÷ÕÒ²Å×îÖÕ°ÑJAVAµ÷ÓÃc++¸ø¸ã¶¨¡£
ÏÂÃæÒýÓÃÁ˺ܶàÍøÉÏÒѾÓеĵÄÄÚÈÝ£¬ÎÒÔÚÕâÀïÖ»ÊÇÕûºÏÒ»´Î£¬ÈÃÒÔºóµÄÅóÓÑÉÙ×ßÍøÂ·¡£
¶à˵ÎÞÒæ£¬¾ßÌåÈçÏ£º
×÷Õß:mykoma
¼ÙÉèËùÓÐÎļþ¶¼·ÅÔÚd:\
Step 1:
дJAVAÎļþ
ÀýÈç³ÌÐòtestdll.java£¬ÄÚÈÝΪ£º
......