¡¶Effective Java¡·±Ê¼Ç
µÚÒ»ÕÂ ÒýÑÔ
(By wind5shy£ºhttp://blog.csdn.net/wind5shy)
µÚ¶þÕ ´´½¨ºÍÏú»Ù¶ÔÏó
(By wind5shy£ºhttp://blog.csdn.net/wind5shy)
µÚ1Ìõ£º¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨´úÌæ¹¹Ô캯Êý
ºÃ´¦£º
¾²Ì¬¹¤³§·½·¨ÓÐÃû×Ö£¬±í´ï¸üÇå³þ¡£
²»Ðè´´½¨ÐµĶÔÏó¡£
¿ÉÒÔ·µ»ØÔ·µ»ØÀàÐ͵Ä×ÓÀàÐͶÔÏó¡£Ó¦Óãº1.·µ»ØÀàÐͶ¨ÒåΪ½Ó¿Ú£¬Ôò·µ»ØµÄËùÓÐʵÀý¶ÔÏóµÄϸ½Ú¶¼¿ÉÒÔ±»Òþ²Ø£¬ÈçCollections¡£2.·µ»Ø¶ÔÏóËùÊôµÄÀàÔÚд¸Ã¾²Ì¬·½·¨Ê±¿ÉÒÔ²»´æÔÚ¡£
ȱµã£º
ÀàÈç¹û²»º¬public»òÕßprotected¹¹Ô캯Êý£¬¾Í²»Äܱ»×ÓÀ໯£¬Èç²»ÄÜʵÀý»¯CollectionsµÄÈÎһʵÏÖÀà¡£
ÓëÆäËû¾²Ì¬·½·¨Ã»ÓÐÇø±ð£¬²»Ïñ¹¹Ô캯ÊýÒ»ÑùÃ÷ÏÔ¡£µ«Ê¹Óñê×¼µÄÃüÃûϰ¹ß£ºvalueOfºÍgetInstance£¬¿ÉÒÔ¿Í·þÒ»¶¨µÄȱµã¡£
µÚ2Ìõ£ºÊ¹ÓÃ˽Óй¹Ô캯ÊýÇ¿»¯singletonÊôÐÔ
½«¹¹Ô캯ÊýÉèΪprivateÊÇΪÁ˱ÜÃâÆäËûÀàµ÷ÓÃÒÑÈ·±£Î¨Ò»ÐÔ£¨²»Ð´ÏÔʾ¹¹Ô캯ÊýÔòϵͳÌṩĬÈϹ¹Ô캯ÊýÇÒΪpublic£¡£©¡£
Á½ÖÖʵÏÖsingletonµÄ·½·¨£º
1.
public static final Singleton INSTANCE = new Singleton();
private Singleton(){}
¹¹Ôì·½·¨Ö»ÔÚ³õʼ»¯INSTANCEʱ±»µ÷ÓÃÒ»´Î¡£
2.
private static final Singleton INSTANCE = new Singleton();
private Singleton(){}
public static getInstance(){ return INSTANCE};
1ºÃ´¦ÔÚÓÚÀà³ÉÔ±Ã÷È·±íÃ÷ÁËÀàÊÇÒ»¸ösingleton£»¶ø2ÔòÌṩÁËÁé»îÐÔ£¬ÔÊÐíÔÚ²»¸Ä±äAPIµÄÇé¿öϸıäÀàÊÇ·ñΪsingleton¡£
singletonÀàÔÚÐòÁл¯µÄʱºòÐèÒªÌṩreadResolve()È·±£singletonÐÔ£¬·ñÔòÒ»¸öÐòÁл¯µÄʵÀýÔÚÿ´Î·´ÐòÁл¯µÄʱºò£¬¶¼»áµ¼Ö´´½¨Ò»¸öеÄʵÀý¡£
private Object readResolve() throws ObjectStreamException{ return INSTANCE;}
µÚ3Ìõ£ºÍ¨¹ý˽Óй¹Ô캯ÊýÇ¿»¯²»¿ÉʵÀý»¯µÄÄÜÁ¦
ȱµã£ºÀ಻Äܱ»×ÓÀ໯£¬ÒòΪ×ÓÀàµÄ¹¹Ô캯ÊýÐèÒªµ÷Óó¬ÀàµÄ¹¹Ô캯Êý¡£
µÚ4Ìõ£º±ÜÃâ´´½¨Öظ´µÄ¶ÔÏó
String s = “s”;ÓÅÓÚString s = new String(“s”);ÒòΪºóÕßÿ´Î¶¼´´½¨ÐµĶÔÏó¶øÇ°Õß²»ÊÇ¡£
ͬʱÌṩ¾²Ì¬¹¤³§º¯ÊýºÍ¹¹Ô캯ÊýµÄ·Ç¿É±äÀ࣬ʹÓþ²Ì¬¹¤³§º¯Êý¿ÉÒÔ±ÜÃâÿ´Î´´½¨ÐµĶÔÏó£¬ÈçBoolean.valueOf(String)ÓÅÓÚBoolean(String)¡£
²»»á±»Ð޸ĵĿɱäÀà
&nbs
Ïà¹ØÎĵµ£º
1.Listת»»³ÉΪÊý×é¡££¨ÕâÀïµÄListÊÇʵÌåÊÇArrayList)
¡¡¡¡µ÷ÓÃArrayListµÄtoArray·½·¨¡£
¡¡¡¡toArray
¡¡¡¡public <T> T[] toArray(T[] a)·µ»ØÒ»¸ö°´ÕÕÕýÈ·µÄ˳Ðò°üº¬´ËÁбíÖÐËùÓÐÔªËØµÄÊý×飻·µ»ØÊý×éµÄÔËÐÐʱÀàÐ;ÍÊÇÖ¸¶¨Êý×éµÄÔËÐÐʱÀàÐÍ¡£Èç¹ûÁбíÄÜ·ÅÈëÖ¸¶¨µÄÊý×飬Ôò·µ»Ø·ÅÈë´ËÁбíÔªËØµÄÊý×é¡£·ñÔò£¬½«¸ù¾ ......
1.Listת»»³ÉΪÊý×é¡££¨ÕâÀïµÄListÊÇʵÌåÊÇArrayList)
¡¡¡¡µ÷ÓÃArrayListµÄtoArray·½·¨¡£
¡¡¡¡toArray
¡¡¡¡public <T> T[] toArray(T[] a)·µ»ØÒ»¸ö°´ÕÕÕýÈ·µÄ˳Ðò°üº¬´ËÁбíÖÐËùÓÐÔªËØµÄÊý×飻·µ»ØÊý×éµÄÔËÐÐʱÀàÐ;ÍÊÇÖ¸¶¨Êý×éµÄÔËÐÐʱÀàÐÍ¡£Èç¹ûÁбíÄÜ·ÅÈëÖ¸¶¨µÄÊý×飬Ôò·µ»Ø·ÅÈë´ËÁбíÔªËØµÄÊý×é¡£·ñÔò£¬½«¸ù¾ ......
¡¡¡¡×î½üÐèÒª×öһЩJAVAµ×²ã²Ù×÷£¬ÎªÁ˾¡¿ÉÄÜÌá¸ßЧÂÊ×öÁËÈçϲâÊÔ¡£
¡¡¡¡ÔÚͬһ¸öÀàÖн¨Á¢ÆÕͨµÄPUBLIC·½·¨ºÍPUBLIC STATIC ·½·¨Á½ÖÖ£¬²¢Ê¹ÓÃJUnit½øÐжà´ÎÑ»·¡£×îÖÕÖ¤Ã÷ʹÓöÔÏóµÄ·½Ê½µ÷ÓÃЧÂʸߡ£
¡¡¡¡ÉϽá¹û¡£
Æðʼʱ¼äFri Mar 05 10:15:37 CST 2010½áÊøÊ±¼äFri Mar 05 10:15:38 CST 2010ʱ¼ä¼ä¸ô891
Æðʼʱ¼äFri ......
service = new
Service();
thread=new
Thread(service);
try
{
  ......
ҪʹÓÃdom4j¶ÁдXMLÎĵµ,ÐèÒªÏÈÏÂÔØdom4j°ü,dom4j¹Ù·½ÍøÕ¾ÔÚ http://www.dom4j.org/
Ŀǰ×îÐÂdom4j°üÏÂÔØµØÖ·: http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
½â¿ªºóÓÐÁ½¸ö°ü,½ö²Ù×÷XMLÎĵµµÄ»°°Ñdom4j-1.6.1.jar¼ÓÈ빤³Ì¾Í¿ÉÒÔÁË,Èç¹ûÐèҪʹÓÃXPathµÄ»°»¹ÐèÒª¼ÓÈë°üjaxen-1.1-beta-7.jar.
ÒÔÏÂ ......