Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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ÖÐÒýÓá£


Ïà¹ØÎĵµ£º

dz̸Java´úÀí»úÖÆ

¿ÉÒÔ˵´úÀíÊÇjavaÊ®·ÖÖØÒªµÄÒ»ÖÖ»úÖÆ£¬ÁíÒ»¸öµ±È»ÊÇÊôÓÚ·´ÉäÁË£¬jdkÖе¥¶À½²µ½ÁË·´ÉäAPI£¨java.lang.reflect£©£¬¿ÉÄÜÓÐÈËÈÏΪ·´Éä¶Ô×ÊÔ´ÏûºÄ±È½ÏÀ÷º¦£¬È·ÊµÒ²ÊÇ£¬·´Éä¿Ï¶¨ÊÇÒªÏûºÄ×ÊÔ´µÄ£¬µ«Ò²²»ÊÇʲô¶¼ÒªÓõ½·´É䣬ËùÒÔ×î¼ÑÊÔÑéÓ¦¸ÃÊÇÔÚ×ÊÔ´ÏûºÄ³Ì¶ÈºÍ·´ÉäµÄʹÓó̶ÈÖ®¼äÕÒµ½Ò»¸öƽºâµã£¬±¾ÎIJ¢²»´òËã½²·´É䣬¹ØÓÚ·´ÉäµÄÐ ......

Éè¼Æģʽ֮Factory,Java¹¤³§·½·¨

ÊõÓïÃû³Æ£ºFactory
ÊõÓï½âÊÍ£º¹¤³§Ä£Ê½,ÓÃÀ´Ìṩ´´½¨¶ÔÏóµÄ½Ó¿Ú.
¹¤³§Ä£Ê½¹¦ÄܵÄÏêϸ½âÊÍ£º
¹¤³§Ä£Ê½ÊÇÎÒÃÇ×î³£ÓõÄģʽÁË,ÖøÃûµÄJiveÂÛ̳ ,¾Í´óÁ¿Ê¹ÓÃÁ˹¤³§Ä£Ê½£¬¹¤³§Ä£Ê½ÔÚJava³ÌÐòϵͳ¿ÉÒÔ˵ÊÇËæ´¦¿É¼û¡£
Ϊʲô¹¤³§Ä£Ê½ÊÇÈç´Ë³£Óã¿ÒòΪ¹¤³§Ä£Ê½¾ÍÏ൱ÓÚ´´½¨ÊµÀý¶ÔÏóµÄnew£¬ÎÒÃǾ­³£Òª¸ù¾ÝÀàClassÉú³ÉʵÀý¶ÔÏó ......

JAVA¿ªÔ´¹¤¾ß´óÈ«

Spring Framework  ¡¾Java¿ªÔ´ J2EE¿ò¼Ü¡¿
SpringÊÇÒ»¸ö½â¾öÁËÐí¶àÔÚJ2EE¿ª·¢Öг£¼ûµÄÎÊÌâµÄÇ¿´ó¿ò¼Ü¡£ SpringÌṩÁ˹ÜÀíÒµÎñ¶ÔÏóµÄÒ»Ö·½·¨²¢ÇÒ¹ÄÀøÁË×¢Èë¶Ô½Ó¿Ú±à³Ì¶ø²»ÊǶÔÀà±à³ÌµÄÁ¼ºÃÏ°¹ß¡£SpringµÄ¼Ü¹¹»ù´¡ÊÇ»ùÓÚʹÓÃJavaBeanÊôÐ﵀ Inversion of ControlÈÝÆ÷¡£È»¶ø£¬Õâ½ö½öÊÇÍêÕûͼ¾°ÖеÄÒ»²¿·Ö£ºSpringÔÚʹÓà ......

JAVAʵÏÖAES¼ÓÃÜ

1. Òò×Ó
       ÉϴνéÉÜÁË¡¶JAVAʵÏÖAES¼ÓÃÜ¡·£¬ÖмäÌáµ½½üЩÄêDESʹÓÃÔ½À´Ô½ÉÙ£¬Ô­Òò¾ÍÔÚÓÚÆäʹÓÃ56λÃÜÔ¿£¬±È½ÏÈÝÒ×±»Æƽ⣬½üЩÄêÀ´Öð½¥±»AESÌæ´ú£¬AESÒѾ­±ä³ÉÄ¿Ç°¶Ô³Æ¼ÓÃÜÖÐ×îÁ÷ÐÐËã·¨Ö®Ò»£»AES¿ÉÒÔʹÓÃ128¡¢192¡¢ºÍ256λÃÜÔ¿£¬²¢ÇÒÓÃ128λ·Ö×é¼ÓÃܺͽâÃÜÊý¾Ý¡£±¾Îľͼòµ¥½éÉÜÈçºÎͨ¹ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ