¡¶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
Ïà¹ØÎĵµ£º
Ï̵߳Ĵ´½¨ºÍÆô¶¯
JavaÓïÑÔÒѾÄÚÖÃÁ˶àÏß³ÌÖ§³Ö£¬ËùÓÐʵÏÖRunnable½Ó¿ÚµÄÀà¶¼¿É±»Æô¶¯Ò»¸öÐÂỊ̈߳¬ÐÂÏ̻߳áÖ´ÐиÃʵÀýµÄrun()·½·¨£¬µ±run()·½·¨Ö´ÐÐÍê±Ïºó£¬Ï߳̾ͽáÊøÁË¡£Ò»µ©Ò»¸öÏß³ÌÖ´ÐÐÍê±Ï£¬Õâ¸öʵÀý¾Í²»ÄÜÔÙÖØÐÂÆô¶¯£¬Ö»ÄÜÖØÐÂÉú³ÉÒ»¸öÐÂʵÀý£¬ÔÙÆô¶¯Ò»¸öÐÂÏ̡߳£
ThreadÀàÊÇʵÏÖÁËRunnable½Ó¿ÚµÄÒ»¸öʵÀý£¬Ëü´ú±í ......
http://blog.sina.com.cn/s/blog_49605b46010007o2.html
<div name='endDateHourDiv<%=i%>' onclick="changeSelect('<%=i%>')">
<html:select property="endDateHour" onclick="Change(this.value,'<%=i%>')">
<html:option va ......
Èí¼þ¼¼ÊõµÄѸÃÍ·¢Õ¹ÈÃJava
ÊÀ½çµÄWeb ¿ò¼Ü
ÁìÓò
·çÆðÔÆÓ¿£¬¸÷Öּܹ¹²ã³ö²»Çµ«ÄãÄÇ?
¡¡¡¡»Øµ½ÁùÄêǰµÄ½ñÌì̸ÂÛÕâ¸ö»°Ì⣬ÎÒ»áÍѿڶø³ö£ºStruts. ÄÇÊÇÒ»¸ö¶ÔStruts¼¸ºõ³ç°ÝµÄʱ´ú£¬¼¸ºõûÈË¶ÔÆäÖÊÒÉ¡£ÄÇʱJava
ÊÀ½çµÄWeb
frameworkÊÀ½çÈç´Ë"µ¥´¿"£¬µ¥´¿µÃÈç´Ë¿ìÀÖ¡£
¡¡¡¡¾µä£¬¿°³Æ¾µä¡£ÌÈÈôÎÒÔÚ´ËÊ ......
È«ÇòʯÓÍÍø£¨www.cippe.net£©´´½¨ÓÚ2004Äê£¬ÖØµã±¨µÀÈ«ÇòʯÓ͹¤ÒµÐ²úÆ·¡¢Ð¼¼Êõ£¬¼á³ÖÆ·ÅÆ»¯¡¢×¨Òµ»¯¡¢¹ú¼Ê»¯µÄÕ½ÂÔ·¢Õ¹·½Ïò£¬´Ù½øÈ«ÇòʯÓ͹¤Òµ¼¼Êõ½»Á÷Óë×°±¸Ã³Ò×£¬ÍƽøÖйúʯÓ͹¤Òµ»¯·¢Õ¹ËÙ¶È£¡
ÍøÕ¾º¸ÇµØÖÊ¿±Ì½¡¢ÓÍÆø²Ø¡¢×ê¾®¡¢²â¾®¡¢²ÉÓÍ¡¢×°±¸¡¢º£ÑóʯÓÍ¡¢´¢ÔË¡¢Á¶»¯µÈרҵÁìÓò£¬´´°ìÁËʯÓÍ×ÊѶ¡¢Ð²úƷм¼Êõ¡¢Ê¯Ó ......
public class TestClass{
public static void main(String args[]){
VarArgs(1, "one");
VarArgs(2, "one", "two");
VarArgs(3, "one", "two", "three");
VarArgs(0); // Attention!
}
static void VarArgs(int nRequired, String... trailing){
System.out.print("Required: " + nRequired + " ");
......