¡¶Effective Java¡·: ¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨´úÌæ¹¹Ô캯Êý
¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨´úÌæ¹¹Ô캯Êý
Àà¿ÉÒÔΪËüµÄ¿Í»§ÌṩһЩ¾²Ì¬¹¤³§·½·¨£¬À´Ìæ´ú¹¹Ô캯Êý£¬»òÕßͬʱҲÌṩһЩ¹¹Ô캯Êý¡£
¾²Ì¬¹¤³§·½·¨µÄÒ»¸öºÃ´¦ÊÇ£¬Óë¹¹Ô캯ÊýÏà±È£¬¾²Ì¬¹¤³§·½·¨¾ßÓÐÃû×Ö£¬Ëü¿ÉÒÔʹµÃ´úÂë¸üÈÝÒ×ÔĶÁ¡£Èç¹ûÒ»¸öÀà¿´ÆðÀ´ÐèÒª¶à¸ö¹¹Ô캯Êý£¬²¢ÇÒËüÃǵÄÔÐÍÌØÕ÷Ïàͬ£¬ÄÇôÄãÓ¦¸Ã¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨À´´úÌæÆäÖÐÒ»¸ö»ò¶à¸ö¹¹Ô캯Êý£¬²¢ÇÒÉ÷ÖØÑ¡ÔñËüÃǵÄÃû×ÖÒÔ±ãÃ÷ÏԵرêʾ³öËüÃǵIJ»Í¬¡£
¾²Ì¬¹¤³§·½·¨µÄµÚ¶þ¸öºÃ´¦ÊÇ£¬Óë¹¹Ô캯Êý²»Í¬£¬ËüÃÇÿ´Î±»µ÷ÓõÄʱºò£¬²»ÒªÇó·ÇµÃ´´½¨Ò»¸öеĶÔÏó¡£¾²Ì¬¹¤³§·½·¨¿ÉÒÔÎªÖØ¸´µÄµ÷Ó÷µ»ØÍ¬Ò»¸ö¶ÔÏó¡£ÕâÑù×öÓÐÁ½¸öÀíÓÉ¡£µÚÒ»£¬ËüʹµÃÒ»¸öÀà¿ÉÒÔ±£Ö¤ÊÇÒ»¸ösingleton¡£µÚ¶þ£¬ËüʹµÃ·Ç¿É±äÀà¿ÉÒÔ±£Ö¤“²»»áÓÐÁ½¸öÏàµÈµÄʵÀý´æÔÚ”¡£
¾²Ì¬¹¤³§·½·¨µÄµÚÈý¸öºÃ´¦ÊÇ£¬Óë¹¹Ô캯Êý²»Í¬£¬ËüÃÇ¿ÉÒÔ·µ»ØÒ»¸öÔ·µ»ØÀàÐ͵Ä×ÓÀàÐ͵ĶÔÏó¡£ÕâÖÖÁé»îÐÔµÄÒ»¸öÓ¦ÓÃÊÇ£¬Ò»¸öAPI¿ÉÒÔ·µ»ØÒ»¸ö¶ÔÏó£¬Í¬Ê±ÓÖ²»Ê¹¸Ã¶ÔÏóµÄÀà³ÉΪ¹«Óеģ¨ÄäÃûÀà»ò˽ÓÐÀࣩ¡£ÒÔÕâÖÖ·½Ê½°Ñ¾ßÌåµÄʵÏÖÀàÒþ²ØÆðÀ´£¬¿ÉÒԵõ½Ò»¸ö·Ç³£¼ò½àµÄAPI¡£ÕâÏî¼¼Êõ·Ç³£ÊʺϻùÓڽӿڵĿò¼Ü½á¹¹£¬ÒòΪÔÚÕâÑùµÄ¿ò¼Ü½á¹¹ÖУ¬½Ó¿Ú³ÉΪ¾²Ì¬¹¤³§·½·¨µÄ×ÔÈ»·µ»ØÀàÐÍ¡£
¾²Ì¬¹¤³§·½·¨µÄÖ÷ҪȱµãÊÇ£¬ÀàÈç¹û²»º¬Óй«ÓеĻòÕßÊܱ£»¤µÄ¹¹Ô캯Êý£¬¾Í²»Äܱ»×ÓÀ໯¡£
¾²Ì¬¹¤³§·½·¨µÄµÚ¶þ¸öȱµãÊÇ£¬ËüÃÇÓëÆäËûµÄ¾²Ì¬·½·¨Ã»ÓÐÈκÎÇø±ð£¬ÔÚAPIÎĵµÖУ¬ËûÃDz»»áÏñ¹¹Ô캯ÊýÄÇÑù±»Ã÷È·±êʾ³öÀ´¡£Èç¹û×ñѱê×¼µÄÃüÃûϰ¹ß£¬¾Í¿ÉÒÔ½«Õâ¸öȱµã¼õСµ½×îÉÙ¡£ÕâЩÃüÃûϰ¹ßÈÔÔÚÑÝ»¯ÖУ¬µ«ÊǾ²Ì¬¹¤³§·½·¨µÄÁ½¸öÃû×ÖÒѾ±äµÄºÜÁ÷ÐÐÁË£º
¡ï valueOf ²»Ì«ÑϸñµÄ½²£¬¸Ã·½·¨·µ»ØµÄʵÀýÓëËüµÄ²ÎÊý¾ßÓÐÏàͬµÄÖµ¡£
¡ï getInstance ¶ÔÓÚsingletonµÄÇéÐΣ¬Õâ¸ö·½·¨·µ»ØÎ©Ò»µÄʵÀý¡£
×ܵÄÀ´Ëµ£¬¾²Ì¬¹¤³§·½·¨ºÍ¹«ÓеĹ¹Ô캯Êý¶¼ÓÐËüÃǸ÷×ÔµÄÓÃ;£¬ÎÒÃÇÐèÒªÀí½âËüÃǸ÷×Եij¤´¦¡£Òª±ÜÃâÒ»ÉÏÀ´¾ÍÌṩ¹¹Ô캯Êý£¬¶ø²»¿¼ÂǾ²Ì¬¹¤³§£¬ÒòΪ¾²Ì¬¹¤³§Í¨³£¸üÊʺϡ£Èç¹ûÄãÕýÔÚȨºâÕâÁ½ÖÖÑ¡Ôñ£¬ÓÖûÓÐÆäËûÒòËØÇ¿ÁÒµÄÓ°ÏìÄãµÄÑ¡Ôñ£¬ÄÇôÄã×îºÃ»¹ÊǼòµ¥µØÊ¹Óù¹Ô캯Êý£¬±Ï¾¹ËüÊÇÓïÑÔÌṩµÄ¹æ·¶¡£
Ïà¹ØÎĵµ£º
ÔÚjavaÖÐ ¿ÉÒÔ½«Ä³¸ö¶ÔÏó¸³Öµ¸øÁíÒ»¸ö¶ÔÏó Ö»Òª¸ÃÁ½¸ö¶ÔÏóÊÇÊôÓÚͬһ¸öÀ༴¿É ´Ëʱ ÕâÁ½¸ö¶ÔÏóµÄËùÓгÉÔ±½«Ö¸Ïòͬһ¿éÄÚ´æ
eg£º
public class class1
{
&n ......
×òÌì¿´µ½ÁôÑÔ,ÓÚÊǽñÌìÓÖ°ÑһЩ¹¦Äܼӽø½øÈ¥ÁË
±ÈÈç,
1,³ÌÐò¿ÉÒÔ×îС»¯µ½ÏµÍ³ÍÐÅÌÇø
2,³ÌÐò¿ÉÒÔÅúÁ¿±£´æËùÓнعýµÄͼƬ
3,ÐÞÕýÁËÒÔǰµÄÒ»¸öСBUG,ÄǾÍÊÇÊäÈë±£´æÍ¼Æ¬µÄÎļþÃûʱ,Èç¹ûûÓÐÊäÈëºó׺Ãû,½«±£´æÕý³£,Èç¹ûÊäÈëÁ˺ó׺Ãû,½«»á±£´æ¸ñʽ³ö´í
´ò°üÎļþÇëµã»÷ÕâÀïÏÂÔØ,distÎļþ¼ÐÀïÃæµÄJARÎļþÊÇ¿ÉÒÔË«»÷Ö´ÐеÄ
¸Ð ......
´´½¨Ò»¸öÀàµÄʵÀýʱ£¬
1.»áΪËüÒÔ¼°ËüµÄËùÓи¸ÀàµÄʵÀý±äÁ¿·ÖÅäÄÚ´æ¿Õ¼ä£¬Èç¹û·ÖÅä¿Õ¼ä³É¹¦£¬ÔòËùÓÐʵÀý±äÁ¿¶¼»á³õʼ»¯ÎªÄ¬ÈÏÖµ0¡¢false¡¢null
2.»áµÝ¹éµ÷Óø¸¹¹Ô캯Êý£¬µ«ÊÇÔݲ»Ö´Ðй¹Ô캯ÊýµÄÓï¾ä£»
3.¶Ô¸Ã¸¸¹¹Ô캯Êý¶ÔÓ¦µÄÀàµÄʵÀý±äÁ¿¸³Öµ
4.Ö´Ðи¸¹¹Ô캯ÊýµÄÆäËûÓï¾ä
5.¶ÔÓÚ×ÓÀִ࣬ÐÐ2-4²½Öè ......
¹ØÓÚÁùÖÖJavaÒì³£´¦Àí³ÌÐòµÄªϰ
Äã¾õµÃ×Ô¼ºÊÇÒ»¸öJavaר¼ÒÂð£¿ÊÇ·ñ¿Ï¶¨×Ô¼ºÒÑ¾È«ÃæÕÆÎÕÁËJavaµÄÒì³£´¦Àí»úÖÆ£¿ÔÚÏÂÃæÕâ¶Î´úÂëÖУ¬ÄãÄܹ»Ñ¸ËÙÕÒ³öÒì³£´¦ÀíµÄÁù¸öÎÊÌâÂð£¿
1 OutputStreamWriter out = ...
2 java.sql.Connection conn = ...
3 try { // ¢É
4 ¡¡Statement stat = conn.createStatement();
5 ¡¡ResultS ......
Java ½Å±¾ API ¸ÅÊö
½Å±¾ÒýÇæ
½Å±¾ÒýÇæ¾ÍÊÇÖ¸½Å±¾µÄÔËÐл·¾³£¬ËüÄÜÄܹ»°ÑÔËÐÐÆäÉϵĽâÊÍÐÔÓïÑÔת»»Îª¸üµ×²ãµÄ»ã±àÓïÑÔ£¬Ã»Óнű¾ÒýÇæ£¬½Å±¾¾ÍÎÞ·¨±»ÔËÐС£
Java SE 6 ÒýÈëÁË¶Ô Java Specification Request£¨JSR£©223 µÄÖ§³Ö£¬JSR 223 Ö¼ÔÚ¶¨ÒåÒ»¸öͳһµÄ¹æ·¶£¬Ê¹µÃ Java Ó¦ÓóÌÐò¿ÉÒÔͨ¹ýÒ»Ì׹̶¨µÄ½Ó¿ÚÓë¸÷Öֽű ......