Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Effective Java ѧϰ±Ê¼Ç£¨3£©

ÔÚʵÏÖsingletonģʽʱ£¬ÎÒÃÇÓÐÒÔϼ¸ÖÖ·½·¨¡£
1. public static final ×ֶμÓÉÏprivate µÄ¹¹Ô캯Êý¡£
public class Singleton{
            public static final Singleton INSTANCE = new Singleton();
            private Singleton() { ... }
}
ÕâÖÖ·½·¨¼òµ¥£¬ÆäÖеÄ×Ö¶ÎÈÃÈËһĿÁËÈ»¾ÍÖªµÀÕâ¸öÀàÊÇSingletonģʽ£¬ÓÃfinal¹Ø¼ü×ÖÈ·±£Õâ¸ö±äÁ¿ÔÚ³õʼ»¯ºó¾Í²»»áÔÙ±»¸ü¸Ä£¬µ«Òª×¢ÒâµÄÊÇСÐÄ·ÀÖ¹ÉÙÊý±ðÓÐÓÃÐĵijÌÐòʹÓÃAccessibleObject.setAccessibleÀ´·ÃÎÊ˽Óй¹Ô캯Êý£¬Õâʱ¿ÉÒÔÔÚ˽Óй¹Ô캯ÊýÖÐÅжϵ±´´½¨µÚ¶þ¸öʵÀýµÄʱºòÅ׳öÒ»¸öÒì³£¡£
2. private static final ×ֶμÓÉÏprivate µÄ¹¹Ô캯ÊýÔÙ¼ÓÉÏpublic ¾²Ì¬¹¤³§º¯Êý
public class Singleton{
            private static final Singleton INSTANCE = new Singleton();
            private Singleton() { ... }
            public static Singleton getInstance{}{return INSTANCE;}
}
ÕâÖÖ·½Ê½²»Óõ£ÐÄÐÔÄÜÎÊÌ⣬ÒòΪÏÖÔÚµÄJVM»á°Ñ¾ø´ó¶àÊýµÄ¾²Ì¬¹¤³§º¯Êý¸ÄΪÄÚÁª¡£´ËÍ⣬ÕâÖÖ·½·¨»¹¿ÉÒÔÔÚ²»¸Ä±äAPIµÄÇé¿ö϶Էµ»ØÖµ½øÐиı䣬¼´ÔÚÒÔºó¸ù¾ÝÐèÒªÊÇ·ñ·µ»ØµÚ¶þ¸öʵÀý£¬»òÊÇÿ¸öÏß³ÌÒ»¸öʵÀý¡£
¶ÔÓÚÒÔÉÏÁ½ÖÖ·½·¨ÔÚ´®Ðл¯µÄʱºòҪעÒ⣬²»Äܽö½öÖ»¼ÓÉÏimplements Serializable½Ó¿Ú£¬ÕâÑù»áµ¼ÖÂÿ´Î·´ÐòÁл¯µÄʱºò´´½¨Ò»¸öжÔÏó£¬ÕâÑù¾Í²»ÊÇÕæÕýµÄsingletonÁË£¬½â¾öÕâ¸öÎÊÌâµÄ·½·¨ÊÇÔÚÉùÃ÷µÄʱºò¶Ôÿһ¸öfinal×ֶμÓÉÏtransient¹Ø¼ü×Ö£¬È»ºóÔÙʵÏÖÒ»¸öreadResolve·½·¨¡£
private Object readResolve() {
           return INSTANCE;
}
¶ÔÓÚjava 1.5ºóµÄ°æ±¾£¬ÊµÏÖsingletonģʽ×îºÃµÄ·½·¨ÊÇÓÃö¾Ù¡£
public enum Singleton {
              INSTANCE;
}
ÕâÖÖ·½·¨Ã»ÓÐÉÏÃæËµµÄȱµã£¬ÊÇ×îÓŵķ½·¨¡£
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/mutsinghua/archive/2010/01/16/5199124.aspx


Ïà¹ØÎĵµ£º

Java¿ª·¢ÖжàÏß³Ìͬ²½¼¼ÇÉ

ÔÚ±àдһ¸öÀàʱ£¬Èç¹û¸ÃÀàÖеĴúÂë¿ÉÄÜÔËÐÐÓÚ¶àÏ̻߳·¾³Ï£¬ÄÇô¾ÍÒª¿¼ÂÇͬ²½µÄÎÊÌâ¡£ÔÚJavaÖÐÄÚÖÃÁËÓïÑÔ¼¶µÄͬ²½Ô­Ó£­synchronized£¬ÕâÒ²´ó´ó¼ò»¯ÁËJavaÖжàÏß³Ìͬ²½µÄʹÓá£
 ÎÒÃÇÊ×Ïȱàдһ¸ö·Ç³£¼òµ¥µÄ¶àÏ̵߳ijÌÐò£¬ÊÇÄ£ÄâÒøÐÐÖеĶà¸öÏß³Ìͬʱ¶Ôͬһ¸ö´¢ÐîÕË»§½øÐдæ¿î¡¢È¡¿î²Ù×÷µÄ¡£
¡¡¡¡ÔÚ³ÌÐòÖÐÎÒÃÇÊ¹Ó ......

javaÕýÔò±í´ïʽ

package com.yzy;
import java.util.regex.*;
public class Test {
 /**
  * @param args
  */
 public static void main(String[] args) {
  Pattern p=Pattern.compile("^[a-z]+");
  Matcher m=p.matcher("a233"); //true
  //Matcher m=p.matcher("2233") ......

JAVAʵÏÖAES¼ÓÃÜ

1. Òò×Ó
       ÉϴνéÉÜÁË¡¶JAVAʵÏÖAES¼ÓÃÜ¡·£¬ÖмäÌáµ½½üЩÄêDESʹÓÃÔ½À´Ô½ÉÙ£¬Ô­Òò¾ÍÔÚÓÚÆäʹÓÃ56λÃÜÔ¿£¬±È½ÏÈÝÒ×±»ÆÆ½â£¬½üЩÄêÀ´Öð½¥±»AESÌæ´ú£¬AESÒѾ­±ä³ÉĿǰ¶Ô³Æ¼ÓÃÜÖÐ×îÁ÷ÐÐËã·¨Ö®Ò»£»AES¿ÉÒÔʹÓÃ128¡¢192¡¢ºÍ256λÃÜÔ¿£¬²¢ÇÒÓÃ128λ·Ö×é¼ÓÃܺͽâÃÜÊý¾Ý¡£±¾Îľͼòµ¥½éÉÜÈçºÎͨ¹ ......

Java ME SDK 3.0²»ÔËÐеÄÎÊÌâ¼°½â¾ö

×î½üÏëʵÏÖÒ»¸öÔÚ×Ô¼ºÊÖ»úÉϲéѯºº×ÖÆ´ÒôµÄ³ÌÐò£¬ÒѾ­½øÐÐÁË´ó¸Å20ÌìÁ˰ɡ£µ«ÊÇÉÏÖܵÄʱºòÔÚNetbeans 6.8ÖÐÔËÐгÌÐò£¬ÔÚÊä³öÖÐÏÔʾµÄÊÇ“Starting emulator in execution mode”£¬Ä£ÄâÆ÷È´Æô¶¯²»ÆðÀ´¡£È¥²é¿´°²×°µÄJavaƽ̨£¬ÏÔʾÓÐ Java ME£¬³¢ÊÔ°ÑËüɾ³ýºó£¬»µÁË£¬ÔõÁËÒ²ÎÞ·¨ÔÙ´ÎÌí¼Ó£¬Ã÷Ã÷Ö¸¶¨ÁËĿ¼£¬È´ÌáÊ¾Õ ......

´ÓC++¸Éµ½×ªÐÍΪjavaÊÇÍ˲½£¬ÕýÈ·Óë·ñ£¿

½ñÌìÔÚ¹äÂÛ̳µÄʱºò¿´µ½ÓÐÈ˽ò½òÀÖµÀ£º´ÓC++¸Éµ½×ªÐÍΪjavaÊÇÍ˲½
ÎÒ²»ÈÏΪÊÇÕâÑù£¬Ê×ÏÈÓ¦¸ÃÒ»¸öÈ˵ÄÐËȤ£¬¼ÓÉÏÕâÃÅÓïÑÔ£¬ÕâÃŹ¤×÷ÊÇ·ñ·ûºÏÄã
¸É×Ô¼ºÏ²»¶µÄÓïÑÔ±àÂë²ÅÊÇ×îÖØÒªµÄ£¬µ±È»java±È½ÏÈÝÒ׵㣬ÎÒÒ²ÊÇÕâÑùÈÏΪµÄ
µ«ÊÇjava²¢²»ÊÇ´ó¼ÒËù˵µÄÄÇôÈÝÒ×£¬µ±½ñÉç»áË­²»¸Ò˵×Ô¼º»ássh£¬µ±ÊÇ×Ô¼ºÎÊÐÄ×Ô¼ºÑ§µÃÓжàºÃ£¬
ÔÚ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ