¡¶Effective Java¡·: ¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨´úÌæ¹¹Ô캯Êý
¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨´úÌæ¹¹Ô캯Êý
Àà¿ÉÒÔΪËüµÄ¿Í»§ÌṩһЩ¾²Ì¬¹¤³§·½·¨£¬À´Ìæ´ú¹¹Ô캯Êý£¬»òÕßͬʱҲÌṩһЩ¹¹Ô캯Êý¡£
¾²Ì¬¹¤³§·½·¨µÄÒ»¸öºÃ´¦ÊÇ£¬Óë¹¹Ô캯ÊýÏà±È£¬¾²Ì¬¹¤³§·½·¨¾ßÓÐÃû×Ö£¬Ëü¿ÉÒÔʹµÃ´úÂë¸üÈÝÒ×ÔĶÁ¡£Èç¹ûÒ»¸öÀà¿´ÆðÀ´ÐèÒª¶à¸ö¹¹Ô캯Êý£¬²¢ÇÒËüÃǵÄÔÐÍÌØÕ÷Ïàͬ£¬ÄÇôÄãÓ¦¸Ã¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨À´´úÌæÆäÖÐÒ»¸ö»ò¶à¸ö¹¹Ô캯Êý£¬²¢ÇÒÉ÷ÖØÑ¡ÔñËüÃǵÄÃû×ÖÒÔ±ãÃ÷ÏԵرêʾ³öËüÃǵIJ»Í¬¡£
¾²Ì¬¹¤³§·½·¨µÄµÚ¶þ¸öºÃ´¦ÊÇ£¬Óë¹¹Ô캯Êý²»Í¬£¬ËüÃÇÿ´Î±»µ÷ÓõÄʱºò£¬²»ÒªÇó·ÇµÃ´´½¨Ò»¸öеĶÔÏó¡£¾²Ì¬¹¤³§·½·¨¿ÉÒÔΪÖظ´µÄµ÷Ó÷µ»Øͬһ¸ö¶ÔÏó¡£ÕâÑù×öÓÐÁ½¸öÀíÓÉ¡£µÚÒ»£¬ËüʹµÃÒ»¸öÀà¿ÉÒÔ±£Ö¤ÊÇÒ»¸ösingleton¡£µÚ¶þ£¬ËüʹµÃ·Ç¿É±äÀà¿ÉÒÔ±£Ö¤“²»»áÓÐÁ½¸öÏàµÈµÄʵÀý´æÔÚ”¡£
¾²Ì¬¹¤³§·½·¨µÄµÚÈý¸öºÃ´¦ÊÇ£¬Óë¹¹Ô캯Êý²»Í¬£¬ËüÃÇ¿ÉÒÔ·µ»ØÒ»¸öÔ·µ»ØÀàÐ͵Ä×ÓÀàÐ͵ĶÔÏó¡£ÕâÖÖÁé»îÐÔµÄÒ»¸öÓ¦ÓÃÊÇ£¬Ò»¸öAPI¿ÉÒÔ·µ»ØÒ»¸ö¶ÔÏó£¬Í¬Ê±ÓÖ²»Ê¹¸Ã¶ÔÏóµÄÀà³ÉΪ¹«Óеģ¨ÄäÃûÀà»ò˽ÓÐÀࣩ¡£ÒÔÕâÖÖ·½Ê½°Ñ¾ßÌåµÄʵÏÖÀàÒþ²ØÆðÀ´£¬¿ÉÒԵõ½Ò»¸ö·Ç³£¼ò½àµÄAPI¡£ÕâÏî¼¼Êõ·Ç³£ÊʺϻùÓڽӿڵĿò¼Ü½á¹¹£¬ÒòΪÔÚÕâÑùµÄ¿ò¼Ü½á¹¹ÖУ¬½Ó¿Ú³ÉΪ¾²Ì¬¹¤³§·½·¨µÄ×ÔÈ»·µ»ØÀàÐÍ¡£
¾²Ì¬¹¤³§·½·¨µÄÖ÷ҪȱµãÊÇ£¬ÀàÈç¹û²»º¬Óй«ÓеĻòÕßÊܱ£»¤µÄ¹¹Ô캯Êý£¬¾Í²»Äܱ»×ÓÀ໯¡£
¾²Ì¬¹¤³§·½·¨µÄµÚ¶þ¸öȱµãÊÇ£¬ËüÃÇÓëÆäËûµÄ¾²Ì¬·½·¨Ã»ÓÐÈκÎÇø±ð£¬ÔÚAPIÎĵµÖУ¬ËûÃDz»»áÏñ¹¹Ô캯ÊýÄÇÑù±»Ã÷È·±êʾ³öÀ´¡£Èç¹û×ñѱê×¼µÄÃüÃûÏ°¹ß£¬¾Í¿ÉÒÔ½«Õâ¸öȱµã¼õСµ½×îÉÙ¡£ÕâЩÃüÃûÏ°¹ßÈÔÔÚÑÝ»¯ÖУ¬µ«ÊǾ²Ì¬¹¤³§·½·¨µÄÁ½¸öÃû×ÖÒѾ±äµÄºÜÁ÷ÐÐÁË£º
¡ï valueOf ²»Ì«ÑϸñµÄ½²£¬¸Ã·½·¨·µ»ØµÄʵÀýÓëËüµÄ²ÎÊý¾ßÓÐÏàͬµÄÖµ¡£
¡ï getInstance ¶ÔÓÚsingletonµÄÇéÐΣ¬Õâ¸ö·½·¨·µ»ØΩһµÄʵÀý¡£
×ܵÄÀ´Ëµ£¬¾²Ì¬¹¤³§·½·¨ºÍ¹«ÓеĹ¹Ô캯Êý¶¼ÓÐËüÃǸ÷×ÔµÄÓÃ;£¬ÎÒÃÇÐèÒªÀí½âËüÃǸ÷×Եij¤´¦¡£Òª±ÜÃâÒ»ÉÏÀ´¾ÍÌṩ¹¹Ô캯Êý£¬¶ø²»¿¼ÂǾ²Ì¬¹¤³§£¬ÒòΪ¾²Ì¬¹¤³§Í¨³£¸üÊʺϡ£Èç¹ûÄãÕýÔÚȨºâÕâÁ½ÖÖÑ¡Ôñ£¬ÓÖûÓÐÆäËûÒòËØÇ¿ÁÒµÄÓ°ÏìÄãµÄÑ¡Ôñ£¬ÄÇôÄã×îºÃ»¹ÊǼòµ¥µØʹÓù¹Ô캯Êý£¬±Ï¾¹ËüÊÇÓïÑÔÌṩµÄ¹æ·¶¡£
Ïà¹ØÎĵµ£º
ÔÚjavaÖÐ ¿ÉÒÔ½«Ä³¸ö¶ÔÏó¸³Öµ¸øÁíÒ»¸ö¶ÔÏó Ö»Òª¸ÃÁ½¸ö¶ÔÏóÊÇÊôÓÚͬһ¸öÀ༴¿É ´Ëʱ ÕâÁ½¸ö¶ÔÏóµÄËùÓгÉÔ±½«Ö¸Ïòͬһ¿éÄÚ´æ
eg£º
public class class1
{
&n ......
ÖØÒªÐÔ
¼ì²éÏî
ÖØÒª
ÃüÃû¹æÔòÊÇ·ñÓëËù²ÉÓõĹ淶±£³ÖÒ»Ö£¿
¡¡
ÊÇ·ñ×ñÑÁË×îС³¤¶È×î¶àÐÅÏ¢ÔÔò£¿
ÖØÒª
has/can/isǰ׺µÄº¯ÊýÊÇ·ñ·µ»Ø²¼¶ûÐÍ£¿
×¢ÊÍ
¡¡
ÖØÒª
×¢ÊÍÊÇ·ñ½ÏÇåÎúÇÒ±ØÒª£¿
ÖØÒª
¸´ÔӵķÖÖ§Á÷³ÌÊÇ·ñÒѾ±»×¢ÊÍ£¿
¡¡
¾àÀë½ÏÔ¶µÄ}ÊÇ·ñÒѾ±»×¢ÊÍ£¿
¡¡
·ÇͨÓñäÁ¿ÊÇ·ñÈ«²¿±»×¢ÊÍ£¿
ÖØÒª
º¯ÊýÊÇ· ......
¼òÑÔÖ®,Èç¹û²»ÓõÚÈý·½ÌṩµÄ½Ó¿Ú
ÄÇ×îºÃµÄ½â¾ö·½°¸Ó¦¸ÃÊǵ±SESSION½¨Á¢Ê±sessionCreated(),ÔÚ·ÃÎÊ×ÜÊýºÍµ±Ç°ÔÚÏßÈËÊýÉÏ+1
µ±SESSIONÏú»ÙʱsessionDistroyed(),ÔÚÏßÈËÊý-1
ºËÐÄ·½·¨ÊÇÀûÓÃListener¼àÌýµÄ¸÷ÖÖ½Ó¿Ú
ÎÒ°Ñ´úÂë(Ö÷Òª²¿·Ö)ÌùÔÚÏÂÃæ
´Ë¶Î´úÂëÎÒÇ××ÔʹÓùý,ûÓÐÎÊÌâ
µ«ÒòΪ¼Ì³ÐÁ˽ӿÚ,ÓÐЩδʹÓõķ½·¨Ò²Òª² ......
ÔÚ»ùÓÚ Java
ÓïÑԵıà³ÌÖУ¬ÎÒÃǾ³£Åöµ½ºº×ֵĴ¦Àí¼°ÏÔʾµÄÎÊÌâ¡£Ò»´ó¶Ñ¿´²»¶®µÄÂÒÂë¿Ï¶¨²»ÊÇÎÒÃÇÔ¸Òâ¿´µ½µÄÏÔʾЧ¹û£¬ÔõÑù²ÅÄܹ»ÈÃÄÇЩºº×ÖÕýÈ·ÏÔʾÄØ£¿JavaÓïÑÔ
ĬÈϵıàÂ뷽ʽÊÇUNICODE£¬¶øÎÒÃÇÖйúÈËͨ³£Ê¹ÓõÄÎļþºÍÊý¾Ý¿â¶¼ÊÇ»ùÓÚGB2312»òÕßBIG5µÈ·½Ê½±àÂëµÄ£¬ÔõÑù²ÅÄܹ»Ç¡µ±µØÑ¡Ôñºº×Ö±àÂ뷽ʽ
²¢ÕýÈ·µØ ......
public static void main(String[] args){
SimpleDateFormat da = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
String aimTime ="2010-02-03 17:30:00.000";
int count = 0;
Date aimDate = d ......