Effective Java ѧϰ±Ê¼Ç(9)
ͨ³£,ÓÐÒ»ÀàÎÊÌâµÄ²úÉú¶¼ÊÇÓÉÓÚûÓÐÖØÔØhashCodeÕâ¸ö·½·¨. µ±ÄãÖØÔØequalsºó,hashCode±ØÐëÖØÔØ,·ñÔòÔÚʹÓÃHashMap, HashSet, HashtableµÄʱºò,»á³ö´í.
¶ÔÓÚhashCodeÓм¸¸öÔÔò.
1. ²»¹Üʲôʱºòµ÷ÓÃhashCode,Èç¹ûͬһ¸ö¶ÔÏóÓëhashCodeÏà¹ØµÄ×Ö¶ÎûÓÐÐ޸ĵϰ,Õâ¸ö·½·¨µÄ·µ»ØÖµ±ØÐëÏàͬ. µ«²»±ØºÍÁíÒ»¸öÓ¦ÓóÌÐòÖеÄÖµÏàµÈ.
2. µ±Á½¸ö¶ÔÏóequalsµÄʱºò,ÆähashCodeÒ²±ØÐëÏàͬ.
3.ûÓÐÇ¿ÖÆÁ½¸ö²»Ò»ÑùµÄ¶ÔÏó²»ÄÜ·µ»ØÏàͬµÄhashCode, µ«ÊÇҪעÒâµÄ,Èç¹ûHash±íÖгåͻ̫¶à,»á½µµÍ³ÌÐòÐÔÄÜ.
Ò»¸öºÃµÄhashCodeº¯Êý£¬ÄܶԲ»Í¬µÄ¶ÔÏ󷵻ز»Í¬µÄÖµ¡£Ð´Ò»¸öºÃµÄhashCode²»ÊÇÏëÏñµÄÄÇôÀ§ÄÑ£¬Èç¹û²ÎÕÕÒÔÏµķ½·¨µÄ»°£º
1. ´¢´æÒ»¸ö·ÇÁã³£Á¿£¬Èç17£¬×÷Ϊ·µ»ØÖµ¡£
2. ¶Ôÿһ¸öÓбȽÏÒâÒåµÄ³ÉÔ±£¬²ÎÕÕÒÔÏ£º
a. ¼ÆËãÊý×ÖÐ͵Ähash code
i. Èç¹ûÊÇboolean, ¼ÆËã(f?1:0)
ii. Èç¹ûÊÇbyte char,short or int ¼ÆË㣬(int)f
iii. Èç¹ûÊÇlong, ¼ÆËã(int) ( f ^ (f >>>32))
iv. Èç¹ûÊÇfloat, ¼ÆËãFloat.floatToIntBits(f);
v. Èç¹ûÊÇdouble, ¼ÆËãDouble.doubleToLongBits(f), µÃµ½³¤ÕûÐÍÊý×ÖÇë²Î¼û iii.
vi. Èç¹ûÊǸö¶ÔÏóµÄÒýÓ㬾͵÷ÓÃÕâ¸ö¶ÔÏóµÄhashcode
vii,Èç¹ûÊÇÊý×飬¾Í¶Ôÿ¸öÔªËØ°´ÉÏÊöÔÔò×ö¡£
b. ¼ÆËãhashCode °´ÒÔϹ«Ê½¡£
result = 31 * result + c; // cÊÇ ÉÏÃæ¼ÆËãµÄÖµ
3. ·µ»ØÖµ¡£
4. д²âÊÔÓÃÀý²âÊÔ¡£
ҪעÒâµÄÊÇ£¬Äã¿ÉÒÔÔÚhashCodeÖкöÂÔһЩֵ£¬µ«ÊÇͬÑù£¬ÕâЩֵҲ²»ÄÜÔÚequalsÖÐÒýÓá£
Ïà¹ØÎĵµ£º
Ò»¸öºÃµÄ³ÌÐòÔ±³ýÁ˾߱¸ÔúʵµÄ»ù±¾¹¦Í⣬»¹Ó¦¸Ã¾ßÓиüΪÁé»îµÄÂ߼˼άÓëÅжÏÄÜÁ¦¡£³ý´ËÖ®Í⣬³ÅÎÕһЩÐÐÖ®ÓÐЧµÄ¸¨Öú¹¤¾ßÒ²ºÜÖØÒª¡£¹¤ÓûÉÆÆäÊÂ,±ØÏÈÀûÆäÆ÷¡£ÓкõŤ¾ß¸¨Öú£¬Ëù×öµÄ¹¤×÷½«Ê°빦±¶¡£ÏÂÃæÏò´ó¼ÒÍÆ¼ö»ùÓÚWEBÓ¦Óÿª·¢µÄjava³ÌÐòÔ±Ó¦¸Ã±Ø±¸µÄ¸¨Öú¿ª·¢¹¤¾ß¡£
¡¡¡¡1£¬JavaÆÊÎö¹¤¾ß¡¡--¡¡profiler
¡¡¡¡ÊÇÒ»¸öÈ«¹ ......
JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ &nda ......
±¾ÎÄÌṩjava¶àÏ̷ֱ߳ð¶¨Ê±¶Áдͬһ¸öÎļþµÄÑùÀý£¬ÆäÖÐÁ½¸öỊ̈߳¬Ò»¸öÿ·ÖÖÓдÈ뵱ǰʱ¼äµ½Ö¸¶¨Îļþ£¬ÁíÒ»¸öÏ̶߳Á³öÿ·ÖÖÓÐÂдµÄÄÚÈÝ¡£
ʹÓüòµ¥µÄThread.sleep¼¼ÊõʵÏÖ¶¨Ê±
package test.thread;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
im ......
¹¤×÷̨´°¿ÚµÄEditorÇøÓòĬÈÏÊÇÏÔʾµÄ£¬¶øÇÒËüÖ§³ÖÍÏ×§²Ù×÷¡£ÔÚEclipseÀïÃæ£¬°ÑÒ»¸öÎļþÍϵ½EditorÇøÓò£¬¾Í»á×Ô¶¯´ò¿ª¸ÃÎļþµÄ
Editor.¸ÃÌØÐÔÊÇÔÚIWorkbenchWindowConfigurer ÖÐÉèÖá£
ÔÚPassWord GateÖУ¬µ±Í϶¯Password Gate ViewÖеÄÒ»¸öGroup »òÕß
Serviceµ½EditorÇøÓò£¬»áÔÚEditorÏÔʾ¸Ã ......