Effective Java ѧϰ±Ê¼Ç(15)
Ò»¸ö²»¿É¸Ä±ä£¨immutable£©µÄÀ࣬¹ËÃû˼Ò壬¾ÍÊÇÆäʵÀý²»Äܸı䣬¼´ÀïÃæËùÓеÄÐÅÏ¢ÔÚ´´½¨Ê±¾Í¸³Öµ£¬ÔÚÆäÉúÃüÖÜÆÚÖÐÆäÖµ²»±ä¡£
ʹÓò»¿É¸Ä±äµÄÀàµÄÓŵãÔÚÓÚ£¬Éè¼Æ¼òµ¥£¬Ò×ÓÚʵÏÖºÍʹÓ㬾ßÌåÀ´½²£¬ËüµÄ״̬»úºÜ¼òµ¥£¬Ö»ÓÐÒ»¸ö״̬¡£ËüÊÇḬ̈߳²È«£¬Äܹ»×ÔÓɵı»¹²Ïí£¬Äܹ»Í¨¹ý¾²Ì¬¹¤³§Ä£Ê½¾¡¿ÉÄܸ´ÓÃÒѾ´´½¨³öÀ´µÄ¶ÔÏó£¬Ò²²»ÓÃΪËüдclone»òÊÇ¿½±´¹¹Ô캯Êý£¬²»¿É¸Ä±äµÄÀàÒ²±ãÓÚά»¤£¬ÊÇϵͳµÄÁ¼ÐÔ»ùʯ¡£
ÆäΨһµÄȱµã¾ÍÊÇ£¬Ëü±ØÐëΪ²»Í¬µÄÖµ·Ö±ð´´Ô첻ͬµÄ¶ÔÏó¡£
ʹһ¸öÀàΪimmutable£¬Òª×öµ½ÒÔϼ¸µã¡£
1.²»ÒªÌṩÈκοÉÒÔÐ޸ĶÔÏóÖÐÊý¾ÝµÄ·½·¨¡£
2.È·±£´ËÀ಻»á±»¼Ì³Ð¡£Õâ¸ö¿ÉÒÔ·ÀÖ¹×ÓÀ಻СÐĶԸ¸ÀàÖеÄÊý¾Ý½øÐиü¸Ä¡£
3.ʹËùÓеÄ×Ö¶ÎΪfinal.
4.ʹËùÓеÄ×Ö¶ÎΪprivate.
5.È·±£ËùÓÐ×Ö¶ÎÖеĿɱ»¸Ä±äµÄ¶ÔÏóµÄÒýÓò»±»Íâ½ç»ñµÃ¡£
µ«Òª×¢ÒâµÄµ±ÊµÏÖÐòÁл¯µÄʱºò£¬Èç¹ûÒ»¸ö²»¿É¸Ä±äÀàÖаüº¬¿É¸Ä±äÀàµÄÒýÓ㬾ͱØÐëÌṩһ¸öÏÔʽµÄreadObject»òreadResolve£¬»òʹÓÃObjectOutputStream.writeUnsharedºÍOjbectInputStream.readUnshared·½·¨¡£·ñÔò¾Í¹¥»÷Õ߾ͿÉÄÜ´´½¨Ò»¸ö¿ÉÒԸıäµÄʵÀý¡£
×ܽ᣺³ý·ÇÓÐ×ã¹»µÄÀíÓÉ£¬Ó¦¸Ã½«ÀàÉè¼ÆÎªimmutable¡£
Èç¹ûÒ»¸öÀ಻ÄÜÉè¼Æ³Éimmutable£¬ÄÇô¾¡Á¿¼õÉٿɸıäµÄ×ֶΡ£
Ïà¹ØÎĵµ£º
Ò»¡¢
HTTP
ÐÒéµÄÀí½â
1.
ʲôÊÇ
HTTP
ÐÒé
HTTP
ÊÇÒ»ÖÖ³¬±¾ÎÄ´«ÊäÐÒ飬ÊÇÒ»Ì×¼ÆËã»úÔÚÍøÂçÖÐͨÐŵĹæÔò¡£ËûÊÇÒ»ÖÖÎÞ״̬µÄ´«Ê䷽ʽ¡£
2.
HTTP
ÐÒéµÄ¸ñʽ
HTTP
µÄÇëÇó£º
Ç ......
Ò»¡¢
HTTP
ÏìÓ¦µÄ¸ñʽ
ÏìÓ¦ÐУº
HTTP
°æ±¾¡¢ÏìÓ¦Âë¡¢ÏìÓ¦ÃèÊö
ÏìӦͷ
¿ÕÐÐ
ÏûÏ¢Ìå
HTTP
ĬÈϵÄÎı¾±àÂëΪ£º
ISO-8895-1
¶þ¡¢
ÏìÓ¦ÂëµÄÉèÖÃ
1.
ʲôÊÇÏìÓ¦Âë
ÏìÓ¦ÂëλÓÚ
HTTP
ÏìÓ¦µÄÏìÓ¦ÐÐÖУ¬ËûÓÃÀ´ÃèÊöµ±Ç°
Servlet
µÄÒ»Ð©ÖØÒªÐÅÏ¢¡£³£¼ûµÄÏìÓ¦ÂëÓÐ
200.302
......
¡¡¡¡Àà¼ÓÔØÊÇjavaÓïÑÔÌṩµÄ×îÇ¿´óµÄ»úÖÆÖ®Ò»¡£¾¡¹ÜÀà¼ÓÔØ²¢²»ÊÇÌÖÂÛµÄÈȵ㻰Ì⣬µ«ËùÓеıà³ÌÈËÔ±¶¼Ó¦¸ÃÁ˽âÆä¹¤×÷»úÖÆ£¬Ã÷°×Ôõô×ö²ÅÄÜÈÃÆäÂú×ãÎÒÃǵÄÐèÒª¡£ÕâÄÜÓÐЧ½ÚÊ¡ÎÒÃǵıàÂëʱ¼ä£¬´Ó²»¶Ïµ÷ÊÔClassNotFoundException, ClassCastExceptionµÄ¹¤×÷ÖнâÍѳöÀ´¡£
¡¡¡¡ÕâÆªÎÄÕ´ӻù´¡½²Æð£¬±ÈÈç´úÂëºÍÊý¾ÝµÄ²»Í¬Ö®´¦ÊÇʲ ......
javac
Ó÷¨£ºjavac <Ñ¡Ïî> <Ô´Îļþ>
ÆäÖУ¬¿ÉÄܵÄÑ¡Ïî°üÀ¨£º
-g   ......
java for foreach whileÑ»·µÄ±È½Ï
¹Ø¼ü×Ö: java
ÔÚjavaÖо¿¾¹ÊÇÒ»°ãµÄforÑ»·£¬»¹ÊÇforµÄÔöÇ¿ÐÍforeach£¬»òÊÇwhileµÄÖ´ÐÐЧÂʱȽϿìÄØ,ÎÒÓÃÁËÒ»¸ö¼òµ¥µÄ³ÌÐòÀ´·ÖÎö3ÖÖÑ»·
public static void main(String[] args) {
List<Integer> map = new ArrayList<Integer>();
for (int i = 0; i < ......