javaµ¥ÀýģʽµÄÁ½ÖÖÐÎʽ
Á½ÖÖÐÎʽ£º
1, ¶öººÊ½µ¥ÀýÀà
public class Singleton {
¡¡¡¡private Singleton(){}
¡¡¡¡//ÔÚ×Ô¼ºÄÚ²¿¶¨Òå×Ô¼ºÒ»¸öʵÀý£¬ÊDz»ÊÇºÜÆæ¹Ö£¿
¡¡¡¡//×¢ÒâÕâÊÇprivate Ö»¹©ÄÚ²¿µ÷ÓÃ
¡¡¡¡private static Singleton instance = new Singleton();
¡¡¡¡//ÕâÀïÌṩÁËÒ»¸ö¹©Íⲿ·ÃÎʱ¾classµÄ¾²Ì¬·½·¨£¬¿ÉÒÔÖ±½Ó·ÃÎÊ¡¡¡¡
¡¡¡¡public static Singleton getInstance() {
¡¡¡¡¡¡¡¡return instance; ¡¡¡¡
¡¡¡¡ }
}
2. ÀÁººÊ½µ¥ÀýÀà
public class Singleton {
¡¡¡¡private static Singleton instance = null;
¡¡¡¡public static synchronized Singleton getInstance() {
¡¡¡¡//Õâ¸ö·½·¨±ÈÉÏÃæÓÐËù¸Ä½ø£¬²»ÓÃÿ´Î¶¼½øÐÐÉú³É¶ÔÏó£¬Ö»ÊǵÚÒ»´Î¡¡¡¡¡¡
¡¡
¡¡¡¡//ʹÓÃʱÉú³ÉʵÀý£¬Ìá¸ßÁËЧÂÊ£¡
¡¡¡¡if (instance==null)
¡¡¡¡¡¡¡¡instance£½new Singleton();
¡¡¡¡return instance; ¡¡¡¡}
}
µÚ¶þÖÐÐÎʽÊÇlazy initialization£¬Ò²¾ÍÊÇ˵µÚÒ»´Îµ÷ÓÃʱ³õʼSingleton£¬ÒÔºó¾Í²»ÓÃÔÙÉú³ÉÁË¡£
×¢Òâµ½lazy initializationÐÎʽÖеÄsynchronized£¬Õâ¸ösynchronizedºÜÖØÒª£¬Èç¹ûûÓÐsynchronized£¬ÄÇôʹÓÃgetInstance()ÊÇÓпÉÄܵõ½¶à¸öSingletonʵÀý¡£
Ò»°ãÀ´ËµµÚÒ»ÖֱȽϰ²È«¡£½¨Òé¶¼ÓõÚÒ»ÖÖ¡£
Ïà¹ØÎĵµ£º
ÎÒÃÇÖªµÀJavaÖÐÒ»°ãµÄÊäÈëÊä³öÁ÷Àà¶¼ÊÇÓõ¥×ֽڵĶÁÈ¡·½·¨À´½øÐÐI/O²Ù×÷µÄ£¬Ò²¾ÍÊÇ˵ÿ´ÎÖ»¶Áдһ¸ö×Ö½ÚµÄÊý¾Ý£¬ÕâÖÖ·½·¨ÏÔÈ»·±ËöµÍЧ¡£Èç¹û´ÓÉ豸¶ÁÈ¡10MµÄÎļþ£¬Ã¿´Î¶Áȡһ¸ö×Ö½Ú£¬Íê³É²Ù×÷½«ÐèÒª×ö10M/´ÎI/O²Ù×÷£¬I/O²Ù×÷ÓÖÊÇÒ»¼þÏ൱ºÄʱµÄÊÂÇ飬ÎÞÒÉÔںܴó³Ì¶ÈÉϽµµÍÁËϵͳµÄÐÔÄÜ¡£
JavaÖÐ× ......
ǰһ¶Îʱ¼äÊÔ×ÅÓÃÕâÈýÖÖÓïÑÔ¼òµ¥µÄдÁ˹ØÓÚÎļþ¿½±´µÄ³ÌÐò£¬·¢ÏÖc#ºÍpythonµÄapi¾ªÈ˵ÄÏàËÆ£¬¶ÔÓÚÎļþµÄ²Ù×÷ÕâÁ½ÖÖÓïÑԷdz£µÄ·½±ã¡£¶¼Ã»ÓмÓÒì³£µÄ´¦Àí
C#Ô´´úÂ룺
public static void CopyFile(string source, string destination)
& ......
AbstractclassºÍinterfaceÊÇJavaÓïÑÔÖжÔÓÚ³éÏóÀඨÒå½øÐÐÖ§³ÖµÄÁ½ÖÖ»úÖÆ£¬ÕýÊÇÓÉÓÚÕâÁ½ÖÖ»úÖÆµÄ´æÔÚ£¬²Å¸³ÓèÁËJavaÇ¿´óµÄÃæÏò¶ÔÏóÄÜÁ¦¡£abstractclassºÍinterfaceÖ®¼äÔÚ¶ÔÓÚ³éÏóÀඨÒåµÄÖ§³Ö·½Ãæ¾ßÓкܴóµÄÏàËÆÐÔ£¬ÉõÖÁ¿ÉÒÔÏà»¥Ìæ»»£¬Òò´ËºÜ¶à¿ª·¢ÕßÔÚ½øÐгéÏóÀඨÒåʱ¶ÔÓÚabstractclassºÍinterfaceµÄÑ¡ÔñÏԵñȽÏËæÒâ¡£Æä ......
JavaºÍÆäËûÓïÑÔ²»Í¬µÄÊÇ£¬JavaÊÇÔËÐÐÓÚJavaÐéÄâ»ú(JVM)¡£Õâ¾ÍÒâζ×űàÒëºóµÄ´úÂëÊÇÒÔÒ»ÖÖºÍÆ½Ì¨Î޹صĸñʽ±£´æµÄ£¬¶ø²»ÊÇijÖÖÌØ¶¨µÄ»úÆ÷ÉÏÔËÐеĸñʽ¡£ÕâÖÖ¸ñʽºÍ´«Í³µÄ¿ÉÖ´ÐдúÂë¸ñʽÓкܶàÖØÒªµÄÇø±ð¡£¾ßÌåÀ´Ëµ£¬²»Í¬ÓÚC»òÕߣÃ++³ÌÐò£¬Java³ÌÐò²»ÊÇÒ»¸ö¶ÀÁ¢µÄ¿ÉÖ´ÐÐÎļþ£¬¶øÊÇÓɺܶà·Ö¿ªµÄÀàÎļþ×é³É£¬Ã¿¸öÀàÎļþ¶ÔÓ¦Ò»¸ö ......