Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ÖÐÒýÓá£


Ïà¹ØÎĵµ£º

Java³ÌÐòÔ±µÄÃÔʧ—ÂÛ¡°ÐéÄâ»ú¡±


Java³ÌÐòÔ±µÄÃÔʧ—ÂÛ“ÐéÄâ»ú”
2009Äê08Ô  ×÷Õߣº¶«·½Ö©ÖëÒë
ÐéÄâ»ú¼¼ÊõÏÖÔڷdz£ÈÈÃÅ£¬ÈËÃÇÈÏΪËü¿ÉÒÔÍê³ÉÒ»ÇÐÊÂÇé¡£ÈËÃÇÈÈÖÔÓÚÈÃJVM¿ÉÒÔÔËÐÐRuby¡¢PHP»òÆäËüһЩÈÈÃÅÓïÑÔ£¬ÒÔ¼°Ö§³ÖÏñJava FXÖ®ÀàµÄ¼¼Êõ¡£ÕâÖÖÏÖÏóÊǺÃÊÇ»µ£¿Joe WinchesterÒÔ×Ô¼ºµÄ¾­ÀúÀ´ÂÛÖ¤Á˶Դ˵Ŀ´·¨¡£
ÔÚJava³öÏÖ֮ǰÎÒ ......

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

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

JAVA¿ªÔ´´óÈ«

 
Beanshell  ¡¾Java¿ªÔ´ ¶¯Ì¬ÓïÑÔ¡¿
BeanshellÊÇÓÃJavaд³ÉµÄ£¬Ò»¸öСÐ͵ġ¢Ãâ·ÑµÄ¡¢¿ÉÒÔÏÂÔØµÄ¡¢Ç¶ÈëʽµÄJavaÔ´´úÂë½âÊÍÆ÷£¬¾ßÓжÔÏó½Å±¾ÓïÑÔÌØÐÔ¡£BeanShellÖ´Ðбê×¼JavaÓï¾äºÍ±í´ïʽ£¬ÁíÍâ°üÀ¨Ò»Ð©½Å±¾ÃüÁîºÍÓï·¨¡£Ëü½«½Å±¾»¯¶ÔÏó¿´×÷¼òµ¥±Õ°ü·½·¨£¨simple method closure£©À´Ö§³Ö£¬¾ÍÈçͬÔÚPerlºÍJavaScri ......

Java¶àÏ̱߳à³Ì¾­Ñé

²»¹ÜÎÒÊǶàôϲ»¶JAVAµ«ÊÇ£¬´Óʵ¼Ê¿ª·¢½Ç¶È½²£¬JavaµÄ¶àÏß³ÌȷʵûÓÐC++ºÃʹ¡£
±íÏÖÔÚ£º
1.JavaûÓÐÈ«¾Ö±äÁ¿£»
2.Java µÄÏß³ÌÖ®¼äµÄͨÐűȽϲC++ÌṩÁ˶àÖÖͨÐÅ·½Ê½£»
3.JavaµÄÊý¾Ýͬ²½ÊÇͨ¹ýsynchronizedÀ´ÊµÏÖ£¬µ«ÊÇ»ù±¾ÉϵÈÓÚ½»¸øÁËÐéÄâ»úÀ´Íê³É£¬¶øC++ÓкܶàÖÖ£ºÁÙ½çÇø¡¢»¥³âÌåµÈ¡£
4. JavaµÄ¶àÏß³Ìrun·½· ......

java socketͨÐÅ TCP UDP

 java socketͨÐÅ
TCP¿Í»§¶Ë£º
import java.net.*;
import java.io.*;
public class Client {
static Socket server;
public static void main(String[] args) throws Exception {
server = new Socket(InetAddress.getLocalHost(), 23);
BufferedReader in = new BufferedReader(new InputStreamReader ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ