JavaµÄµ¥ÀýģʽÀý×Ó
1. ÏÈдһ¸öSingletonµÄclass
package stone;
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance(){
if(instance==null)
instance= new Singleton();
return instance;
}
}
2. ÔÙдһ¸öTestSingletonµÄclass
package stone;
public class TestSingleton {
public static void main(String[] args) {
Singleton s1=Singleton.getInstance();
Singleton s2=Singleton.getInstance();
if(s1==s2)
System.out.println("s1=s2");
else
System.out.println("s1<>s2");
}
}
3. ÔËÐÐTestSingleton, ½á¹ûÈçÏÂ:
s1=s2
4. ²âÊÔµ¥Àýģʽ³É¹¦.
Ïà¹ØÎĵµ£º
1.2 ¹¤³§·½·¨£¨Factory Method£©Ä£Ê½
¹¤³§·½·¨Ä£Ê½ÊÇÀàµÄ´´½¨Ä£Ê½£¬ÓÖ½ÐÐéÄâ¹¹Ôì×Ó£¨Virtual Constructor£©Ä£Ê½»òÕß¶à̬ÐÔ¹¤³§£¨Polymorphic Factory£©Ä£Ê½¡£
¹¤³§·½·¨Ä£Ê½µÄÓÃÒâÊǶ¨ÒåÒ»¸ö´´½¨²úÆ·¶ÔÏóµÄ¹¤³§½Ó¿Ú£¬½«Êµ¼Ê¹¤×÷ÍÆ³Ùµ½×ÓÀàÖС£
1.2.1 ¹¤ ......
1.Èç¹ûÔÚÏÂÃæµÄ´úÂëÖУ¬tryLock¸Ä³Élock£¬ÄÇô»áÒ»Ö±µÈ´ý£¬Ö±µ½Äܹ»ËøÉÏÎļþΪֹ£¬µ«tryLock»áÁ¢¼´·µ»Ø¡£
Èç¹ûÒ»¸öµ÷ÓÃÁËtryLock£¬»òlock²¢Çҳɹ¦ËøÉÏÖ¸¶¨ÎļþºóµÄ³ÌÐò£¬ÔÚûÓÐÊÍ·ÅÎļþËøµÄÇé¿öÏ£¨Ã»Óе÷ÓÃrelease£©³ÌÐò¾Í½áÊø£¨°üº¬Ç¿ÖƽáÊøµÄÇé¿ö£©£¬ÄÇôÎļþËø»á×Ô¶¯±»ÊÍ·Å¡£
2.´úÂëÖеÄsleepÊÇΪÁ˱ãÓÚÑéÖ¤³ÌÐòÓõġ ......
½ñÌìÊÇÏîÄ¿µÄµÚÈýÌìÁË£¬ºÍ×òÌìµÄÄÚÈݲ¶à£¬ËùÒÔ½ñÌìµÄ×ܽáûÓÐÎ§ÈÆÏîĿչ¿ª£¬ÎÒÖ®ËùÒÔ£¬ÒªÄóöCVS/SVNÀ´ËµµÄÔÒòÊÇÒòΪ°æ±¾¿ØÖÆÆ÷·Ç³£µÄÖØÒª£¬ÒòΪÒÔºóÎÒÃǽøÈ빫˾֮ºó£¬µÚÒ»´ÎÊÂÇé¾ÍÊǸæËßµ¥ÈË¿ª·¢µÄģʽ £¬´ó¼Ò¶¼ÖªµÀÔÚÆóÒµÀïÃæ£¬ÊDz»ÊÇÊÇÒ»¸öÈË¿ª·¢µÄ£¬ÊÇÐ×÷¿ª·¢¡£ËùÒÔ£¬×÷Ϊһ¸öÓпª·¢¾ÑéµÄͬ־¶¼ÖªµÀ£¬ÕâÁ ......
java²»½öÊDZà³ÌÓïÑÔ£¬»¹ÊÇÒ»¸ö¿ª·¢Æ½Ì¨£¬java¼¼Êõ¸ø³ÌÐòÔ±ÌṩÁËÐí¶à¹¤¾ß£º±àÒëÆ÷¡¢½âÊÍÆ÷¡¢ÎĵµÉú³ÉÆ÷ºÍÎļþ´ò°ü¹¤¾ßµÈµÈ¡£Í¬Ê±java»¹ÊÇÒ»¸ö³ÌÐò·¢²¼Æ½Ì¨£¬ÓÐÁ½ÖÖÖ÷ÒªµÄ"·¢²¼»·¾³"£¬Ê×ÏÈjavaÔËÐÐʱ»·¾³£¨java runtime environment£¬¼ò³ÆJRE£©°üº¬ÁËÍêÕûµÄÀàÎļþ°ü£¬Æä´ÎÐí¶àÖ÷ÒªµÄä¯ÀÀÆ÷¶¼ÌṩÁËjava½âÊÍÆ÷ºÍÔËÐÐʱ»·¾³¡£Ä ......
½üÆÚµÄÒ»¸öÏîÄ¿ÐèҪʵÏÖÉãÏñͷͼÏñ²É¼¯£¬¾¹ýһϵÁеÄÕÛÌÚÒÔºó£¬ÖÕÓÚʵÏÖÁËÕâ¸ö¹¦ÄÜ£¬ÏÖÕûÀíһϡ£
±¾Éí¾Íjava¼¼ÊõÀ´Ëµ£¬ÒªÊµÏÖÉãÏñÍ·¶þ´Î¿ª·¢£¬²É¼¯ÉãÏñͷͼƬ£¬ÐèҪʹÓõ½JMF£¬JMFÊʺÏʹÓÃÔÚj2se³ÌÐòµ±ÖУ¬ÎÒÐèÒªÔÚweb³ÌÐòÖе÷ÓÃÉãÏñÍ·£¬ºÜÃ÷ÏÔJMFÊǸ㲻¶¨ÁË£¬Ïë¹ýдһ¸öapplet³ÌÐò£¬Ö»ÊÇÄǶ«Î÷ÒªÇó¿Í»§¶Ë±ØÐëÒªÓÐjre»·¾ ......