JavaÉè¼ÆÄ£Ê½Ö®Singletonµ¥Àýģʽƪ
JavaÉè¼ÆÄ£Ê½Ö®Singletonµ¥Àýģʽƪ
java µ¥ÀýģʽµÄʵÏÖ·½Ê½
ʵÏÖ1£º
public class Singleton {
private static Singleton instance;
private Singleton (){ //Ê×ÏÈÓÐÒ»¸ö˽ÓеĹ¹ÔìÆ÷
}
public static Singleton getInstance() {
if(instance==null){
instance=new Singleton ();
}
return instance;
}
}
ÕâÖÖ·½Ê½ÊÇÏ̲߳»°²È«µÄ£¬Èç¹û¶à¸öÏß³Ìͬʱ·ÃÎʵϰ¾Í¿ÉÄÜÓжà¸ö¶ÔÏó²úÉú£¬Èç¹ûÔÚget·½·¨ÖмÓͬ²½¿éµÄ»°»áÓ°ÏìÐÔÄÜ¡£
ʵÏÖ2£º
public class Singleton {
private Singleton(){
}
private static Singleton instance =new Singleton();
public static Singleton getInstance(){
return instance;
}
}
ÕâÖÖ·½Ê½ËäÈ»²»´æÔÚ°²È«ÐÔÎÊÌ⣬µ«ÊÇÔÚ³ÌÐòÆô¶¯µÄʱºò¾Í»á³õʼ»¯¡£
ʵÏÖ3£º
public class Singleton {
private static class SingletonHolder {
static Singleton instance = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.instance;
}
}
3ÖÖ·½Ê½ÖÐÕâÊÇ×îºÃµÄ½â¾ö·½°¸£¬¼È½â¾öÁËÏß³Ìͬ²½µÄÎÊÌ⣬ÓÐÔÚµ÷ÓõÄʱºò²Å³õʼ»¯¡£
µ¥ÀýģʽÖ÷ÒªÓÐ3¸öÌØµã£¬£º
1¡¢µ¥ÀýÀàÈ·±£×Ô¼ºÖ»ÓÐÒ»¸öʵÀý¡£
2¡¢µ¥ÀýÀà±ØÐë×Ô¼º´´½¨×Ô¼ºµÄʵÀý¡£
3¡¢µ¥ÀýÀà±ØÐëΪÆäËû¶ÔÏóÌṩΨһµÄʵÀý¡£
ʲôʱºòʹÓõ¥Àýģʽ£¿
µ¥ÀýģʽҲÊÇÒ»ÖֱȽϳ£¼ûµÄÉè¼ÆÄ£Ê½£¬Ëüµ½µ×ÄÜ´ø¸øÎÒÃÇʲôºÃ´¦ÄØ£¿ÆäʵÎÞ·ÇÊÇÈý¸ö·½ÃæµÄ×÷Óãº
µÚÒ»¡¢¿ØÖÆ×ÊÔ´µÄʹÓã¬Í¨¹ýÏß³Ìͬ²½À´¿ØÖÆ×ÊÔ´µÄ²¢·¢·ÃÎÊ£»
µÚ¶þ¡¢¿ØÖÆÊµÀý²úÉúµÄÊýÁ¿£¬´ïµ½½ÚÔ¼×ÊÔ´µÄÄ¿µÄ¡£
µÚÈý¡¢×÷ΪͨÐÅý½éʹÓã¬Ò²¾ÍÊÇÊý¾Ý¹²Ïí£¬Ëü¿ÉÒÔÔÚ²»½¨Á¢Ö±½Ó¹ØÁªµÄÌõ¼þÏ£¬Èöà¸ö²»Ïà¹ØµÄÁ½¸öÏ̻߳òÕß½ø³ÌÖ®¼äʵÏÖͨÐÅ¡£
±È È磬Êý¾Ý¿âÁ¬½Ó³ØµÄÉè¼ÆÒ»°ã²ÉÓõ¥Àýģʽ£¬Êý¾Ý¿âÁ¬½ÓÊÇÒ»ÖÖÊý¾Ý¿â×ÊÔ´¡£Èí¼þϵͳÖÐʹÓÃÊý¾Ý¿âÁ¬½Ó³Ø£¬Ö÷ÒªÊǽÚÊ¡´ò¿ª»òÕ߹رÕÊý¾Ý¿âÁ¬½ÓËùÒýÆðµÄЧÂÊËð ºÄ£¬ÕâÖÖЧÂÊÉϵÄËðºÄ»¹ÊǷdz£°º¹óµÄ¡£µ±È»£¬Ê¹ÓÃÊý¾Ý¿âÁ¬½Ó³Ø»¹ÓкܶàÆäËüµÄºÃ´¦£¬¿ÉÒÔÆÁ±Î²»Í¬Êý¾ÝÊý¾Ý¿âÖ®¼äµÄ²îÒ죬ʵÏÖϵͳ¶ÔÊý¾Ý¿âµÄµÍ¶ÈñîºÏ£¬Ò²¿É
Ïà¹ØÎĵµ£º
#include <iostream>
using namespace std;
class Base {
public:
virtual void fn(int x) {
cout << "In Base class, int x = " << x << endl;
}
};
class SubClass : public Base {
public:
// º¯ÊýµÄÖØÔØ,ÕâÑùµÄÖØÔØ·½Ê½,ÔÚJavaÖÐÄÜÐÐ,ÔÚC/C++ÖÐÈ´²»ÐÐ
virt ......
¡¡Javaƽ̨ÓÉJavaÐéÄâ»ú£¨Java Virtual Machine£©ºÍJava Ó¦Óñà³Ì½Ó¿Ú£¨Application Programming Interface¡¢¼ò³ÆAPI£©¹¹³É¡£Java Ó¦Óñà³Ì½Ó¿ÚΪJavaÓ¦ÓÃÌṩÁËÒ»¸ö¶ÀÁ¢ÓÚ²Ù×÷ϵͳµÄ±ê×¼½Ó¿Ú£¬¿É·ÖΪ»ù±¾²¿·ÖºÍÀ©Õ¹²¿·Ö¡£ÔÚÓ²¼þ»ò²Ù×÷ϵͳƽ̨Éϰ²×°Ò»¸öJavaƽ̨֮ºó£¬JavaÓ¦ÓóÌÐò¾Í¿ÉÔËÐС£ÏÖÔÚJavaƽ̨ÒѾǶÈëÁ˼¸ºõËù ......
Õâ¶Îʱ¼äÔÚ×¢²áÓòÃû£¬ÔÛÆð²½Íí£¬ºÃÓõÄÓòÃû¶¼¸ø±ðÈË×¢²áÁË¡£
ÏëÕÒ¸öλÊýÉÙµÄ.comÓòÃû£¬¿ÉÊÇ·¢Ïִ󲿷ֶ¼×¢²áÁË£¬Ò²¾ÍÊÇ˵£¬ÎÒµã»÷µÄ¶à´Î²éѯ¶¼ÊÇÀË·Ñ¿¨Â·ÀÎҿɲ»Ïë¼õ·Ê£©
ÓÚÊÇ»¨Á˵ãʱ¼ä£¬ÓÃjavaдÁ˸ö¸ù¾ÝÖ¸¶¨Î»Êý²éѯËùÓпÉÓõÄ.comÓòÃûµÄС³ÌÐò¡£ÌṩԴÂëÏÂÔØ¡£
ÎÒÀûÓõÄÊÇwhoisÕâ¸öÓòÃû²éÑ¯ÍøÕ¾È¡µÃÊý¾Ý£¬ÔÚ²âÊÔµ ......
1. ʲôÊÇSerialization?
´®Ðл¯(Serialization)ÊǼÆËã»ú¿ÆÑ§ÖеÄÒ»¸ö¸ÅÄËüÊÇÖ¸½«¶ÔÏó´æ´¢µ½½éÖÊ£¨ÈçÎļþ¡¢ÄÚÔÚ»º³åÇøµÈ£©ÖлòÊÇÒÔ¶þ½øÖÆ·½Ê½Í¨¹ýÍøÂç´«Êä¡£Ö®ºó ¿ÉÒÔͨ¹ý·´´®Ðл¯´ÓÕâЩÁ¬ÐøµÄλÊý¾ÝÖØÐ¹¹½¨Ò»¸öÓëÔʼ¶ÔÏó״̬ÏàͬµÄ¶ÔÏó£¬Òò´ËÔÚÌØ¶¨Çé¿öÏÂÒ²¿ÉÒÔ˵Êǵõ½Ò»¸ö¸±±¾£¬µ«²¢²»ÊÇËùÓÐÇé¿ö¶¼ÕâÑù¡£
JavaÓÐS ......
±¾ÎÄÃæÏòÓÚÄÇЩÈí¼þ¼Ü¹¹Ê¦£¬Éè¼ÆÊ¦ºÍ¿ª·¢ÈËÔ±£¬ËûÃÇÏëʹÓà IBM® Rational® Software Architect ´Ó Java™ Ô´´úÂëÀ´ÄæÏò¹¤³ÌÉú³É UML ÀàºÍÐòÁÐͼ¡£ ÄæÏò¹¤³Ì¾³£±»ÓÃÀ´´ÓÒÑÓеÄÔ´´úÂëÖÐÒÔÒ»ÖÖ³éÏóÄ£ÐÍ UML ¸ñʽÀ´»ñµÃ¶ªÊ§µÄÉè¼ÆÎĵµ£¬Æä¿ÉÒÔÓÃÀ´Ñо¿Ò»¸öϵͳµÄ¾²Ì¬½á¹¹ºÍ¶¯Ì¬ÐÐΪ£¬²¢ÓÃÓÚÀ©Õ¹ÐµÄÌØÐÔµ½²úÆ·¡£ ......