Effective Java ѧϰ±Ê¼Ç(15)
Ò»¸ö²»¿É¸Ä±ä£¨immutable£©µÄÀ࣬¹ËÃû˼Ò壬¾ÍÊÇÆäʵÀý²»Äܸı䣬¼´ÀïÃæËùÓеÄÐÅÏ¢ÔÚ´´½¨Ê±¾Í¸³Öµ£¬ÔÚÆäÉúÃüÖÜÆÚÖÐÆäÖµ²»±ä¡£
ʹÓò»¿É¸Ä±äµÄÀàµÄÓŵãÔÚÓÚ£¬Éè¼Æ¼òµ¥£¬Ò×ÓÚʵÏÖºÍʹÓ㬾ßÌåÀ´½²£¬ËüµÄ״̬»úºÜ¼òµ¥£¬Ö»ÓÐÒ»¸ö״̬¡£ËüÊÇḬ̈߳²È«£¬Äܹ»×ÔÓɵı»¹²Ïí£¬Äܹ»Í¨¹ý¾²Ì¬¹¤³§Ä£Ê½¾¡¿ÉÄܸ´ÓÃÒѾ´´½¨³öÀ´µÄ¶ÔÏó£¬Ò²²»ÓÃΪËüдclone»òÊÇ¿½±´¹¹Ô캯Êý£¬²»¿É¸Ä±äµÄÀàÒ²±ãÓÚά»¤£¬ÊÇϵͳµÄÁ¼ÐÔ»ùʯ¡£
ÆäΨһµÄȱµã¾ÍÊÇ£¬Ëü±ØÐëΪ²»Í¬µÄÖµ·Ö±ð´´Ô첻ͬµÄ¶ÔÏó¡£
ʹһ¸öÀàΪimmutable£¬Òª×öµ½ÒÔϼ¸µã¡£
1.²»ÒªÌṩÈκοÉÒÔÐ޸ĶÔÏóÖÐÊý¾ÝµÄ·½·¨¡£
2.È·±£´ËÀ಻»á±»¼Ì³Ð¡£Õâ¸ö¿ÉÒÔ·ÀÖ¹×ÓÀ಻СÐĶԸ¸ÀàÖеÄÊý¾Ý½øÐиü¸Ä¡£
3.ʹËùÓеÄ×Ö¶ÎΪfinal.
4.ʹËùÓеÄ×Ö¶ÎΪprivate.
5.È·±£ËùÓÐ×Ö¶ÎÖеĿɱ»¸Ä±äµÄ¶ÔÏóµÄÒýÓò»±»Íâ½ç»ñµÃ¡£
µ«Òª×¢ÒâµÄµ±ÊµÏÖÐòÁл¯µÄʱºò£¬Èç¹ûÒ»¸ö²»¿É¸Ä±äÀàÖаüº¬¿É¸Ä±äÀàµÄÒýÓ㬾ͱØÐëÌṩһ¸öÏÔʽµÄreadObject»òreadResolve£¬»òʹÓÃObjectOutputStream.writeUnsharedºÍOjbectInputStream.readUnshared·½·¨¡£·ñÔò¾Í¹¥»÷Õ߾ͿÉÄÜ´´½¨Ò»¸ö¿ÉÒԸıäµÄʵÀý¡£
×ܽ᣺³ý·ÇÓÐ×ã¹»µÄÀíÓÉ£¬Ó¦¸Ã½«ÀàÉè¼ÆÎªimmutable¡£
Èç¹ûÒ»¸öÀ಻ÄÜÉè¼Æ³Éimmutable£¬ÄÇô¾¡Á¿¼õÉٿɸıäµÄ×ֶΡ£
Ïà¹ØÎĵµ£º
ËÄ¡¢JSTLµÄÓ÷¨
ÔÚÆ½³£µÄʹÓÃÖÐÎÒÃÇÒ»°ãÀûÓÃ
EL
¿ØÖƱäÁ¿ÒÔ¼°±äÁ¿µÄÊä³ö£¬ÀûÓÃ
JSTL
¿ØÖÆËãÊõÂß¼¡£
JSTL
ÊÇÒ»ÖÖ±ê¼Ç¡£
1.
JSTL
µÄµ¼Èë
&nb ......
Ï£¶ûÅÅÐòËã·¨Äܹ»³ÉÁ¢µÄ»ù´¡ÊÇÊý×éÒ²½Ó½üÓÐÐòÖ±½Ó²åÈëÅÅÐòËã·¨µÄʱ¼äЧÂÊÔ½¸ß¡£Ï£¶ûÅÅÐòËã·¨ÊÇÔÚ²»¼õÉÙÊý×éÔªËØµÄ¸öÊýÇé¿öϽ«Êý×é·Ö×飬´Ó¶ø½«ÅÅÐòºÃµÄÊý²åÈëµ½ÐÂÊý×éÖÐÈ¥¡£¹Ø¼üÔÚÓÚÆä˼Ïë¡£
Ë㷨ʵÏÖÈçÏ£º
/**
* Ï£¶ûÅÅÐòÓÖ³ÆÎªËõСÔöÁ¿ÅÅÐò
* @param a ÓÃÓÚÅÅÐòµÄÊý×é
* @pa ......
¼ÇµÃÒ»Äêǰ£¬ÕýÊÇ×Ô¼º¶Ôjava°®²»ÊÍÊÖµÄʱºò£¬¶øÍøÉÏÒ²ÊÇÒ»²¨ÓÖÒ»²¨µÄjava³°·íÈÈ£¬ÎÒ·ßÅÁË£¬¾ÍÏñÈËÈ˶¼»áº´ÎÀ×Ô¼ºÏ²»¶µÄ¶«Î÷Ò»Ñù¡£ÎÒÔÚÄÚÍøÒ»´ÎÓÖÒ»´ÎµÄ·¢Ìû·¢Ð¹£¬¿ÉÄܰÓÚÎÒÊǰæÖ÷£¬javaÅúÅÐÕßÃÇҲûÓлØÌû¡£Ö±µ½ºóÀ´£¬´ó¼ÒÈÏʶÎÒ£¬¶¼ËµÂ··ÉºÜÉó¤java£¬javaºÜÀ÷º¦¡£ÆäʵÎÒÖ»¶ÔJ2SEÂÔ¶®Æ¤Ã«¡£ÎÒϲ»¶javaµÄÔÒòÊÇ£¬¶ÔÓÚÒ»¸ö ......
LuceneÊÇÒ»¸ö»ùÓÚJavaµÄÈ«ÎÄË÷Òý¹¤¾ß°ü¡£
»ùÓÚJavaµÄÈ«ÎÄË÷ÒýÒýÇæLucene¼ò½é£º¹ØÓÚ×÷ÕߺÍLuceneµÄÀúÊ·
È«ÎļìË÷µÄʵÏÖ£ºLueneÈ«ÎÄË÷ÒýºÍÊý¾Ý¿âË÷ÒýµÄ±È½Ï
ÖÐÎÄÇзִʻúÖÆ¼ò½é£º»ùÓÚ´Ê¿âºÍ×Ô¶¯ÇзִÊËã·¨µÄ±È½Ï
¾ßÌåµÄ°²×°ºÍʹÓüò½é£ºÏµÍ³½á¹¹½éÉܺÍÑÝʾ
Hacking Lucene£º¼ò»¯µÄ²éѯ·ÖÎöÆ÷£¬É¾³ýµÄʵÏÖ£¬¶¨ÖƵÄÅ ......