¹ØÓÚ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£°º¹óµÄ¡£µ±È»£¬Ê¹ÓÃÊý¾Ý¿âÁ¬½Ó³Ø»¹ÓкܶàÆäËüµÄºÃ´¦£¬¿ÉÒÔÆÁ±Î²»Í¬Êý¾ÝÊý¾Ý¿âÖ®¼äµÄ²îÒ죬ʵÏÖϵͳ¶ÔÊý¾Ý¿âµÄµÍ¶ÈñîºÏ£
Ïà¹ØÎĵµ£º
Éè¼ÆģʽÔÚÁ£¶ÈºÍ³éÏó²ã´ÎÉϸ÷²»Ïàͬ¡£ÓÉÓÚ´æÔÚÖÚ¶àµÄÉè¼Æģʽ£¬ËùÒÔÎÒÃÇ¿ÉÒÔÓÃÒ»ÖÖ·½Ê½½«ËüÃÇ×éÖ¯ÆðÀ´¡£ÕâÀÎÒÃǸù¾ÝÁ½Ìõ×¼Ôò¶Ôģʽ½øÐзÖÀ࣬ÈçϱíËùʾ£º
µÚÒ»ÊÇÄ¿µÄ×¼Ôò£¬¼´Ä£Ê½ÊÇÓÃÀ´Íê³Éʲô¹¤×÷µÄ¡£Ä£Ê½ÒÀ¾ÝÆäÄ¿µÄ¿É·ÖΪ´´½¨ÐÍ£¨ Creational£©¡¢½á¹¹ÐÍ( Structural)¡¢»òÐÐΪÐÍ( Behavioral )ÈýÖÖ¡£´´½¨ÐÍģʽÓë¶Ô ......
Ị̈߳¨Thread£©·½Ã棺
1¡¢javaÖÐÓм¸ÖÖ·½·¨¿ÉÒÔʵÏÖÒ»¸öỊ̈߳¿ÓÃʲô¹Ø¼ü×ÖÐÞÊÎͬ²½·½·¨? stop()ºÍsuspend()·½·¨ÎªºÎ²»ÍƼöʹÓã¿
´ð£ºÓÐÁ½ÖÖʵÏÖ·½·¨£¬·Ö±ðÊǼ̳ÐThreadÀàÓëʵÏÖRunnable½Ó¿Ú
ÓÃsynchronized¹Ø¼ü×ÖÐÞÊÎͬ²½·½·¨
·´¶ÔʹÓÃstop()£¬ÊÇÒòΪËü²»°²È«¡£Ëü»á½â³ýÓÉÏ̻߳ñÈ¡µÄËùÓÐËø¶¨£¬ ......
תÔØ×Ô http://littlefermat.blog.163.com/blog/static/59771167200962810120843/
Enum×÷ΪSunÈ«ÐÂÒý½øµÄÒ»¸ö¹Ø¼ü×Ö£¬¿´ÆðÀ´ºÜÏóÊÇÌØÊâµÄclass, ËüÒ²¿ÉÒÔÓÐ×Ô¼ºµÄ±äÁ¿£¬¿ÉÒÔ¶¨Òå×Ô¼ºµÄ·½·¨£¬¿ÉÒÔʵÏÖÒ»¸ö»òÕ߶à¸ö½Ó¿Ú¡£µ±ÎÒÃÇÔÚÉùÃ÷Ò»¸öenumÀàÐÍʱ£¬ÎÒÃÇÓ¦¸Ã×¢Òâµ½enumÀàÐÍÓÐÈçϵÄһЩÌØÕ÷¡£
1£®Ëü²»ÄÜÓÐpublicµÄ¹¹Ôìº¯Ê ......
JAVA annotationÈëÃÅ
×î½ü¶ÔspringÔ´Âë¸ÐÐËȤ£¬½ñÌì¿´µ½annotation²¿·Ö£¬ÂÔ¼ÇÖ®¡£
Ò». ×î³£¼ûµÄannotation
@Override:ÓÃÔÚ·½·¨Ö®ÉÏ£¬ÓÃÀ´¸æËß±ðÈËÕâÒ»¸ö·½·¨ÊǸÄд¸¸ÀàµÄ
@Deprecated:½¨Òé±ðÈ˲»ÒªÊ¹ÓþɵÄAPIµÄʱºòÓõÄ,±àÒëµÄʱºò»áÓòúÉú¾¯¸æÐÅÏ¢,¿ÉÒÔÉ趨ÔÚ ......