Java±ÊÊÔÌ⣺HashMapºÍHashTableµÄÇø±ð
½ñÌì²Î¼ÓÍøÁú±ÊÊÔ£¬Ò»ÌâÊǹØÓÚHashMapºÍHashTableµÄÇø±ð£¬´ðµÄ²»ºÃ£¬»ØÀ´¸Ï½ôѧϰѧϰ....
HashTableµÄÓ¦Ó÷dz£¹ã·º£¬HashMapÊÇпò¼ÜÖÐÓÃÀ´´úÌæHashTableµÄÀ࣬Ҳ¾ÍÊÇ˵½¨ÒéʹÓÃHashMap£¬²»ÒªÊ¹ÓÃHashTable¡£¿ÉÄÜÄã¾õµÃHashTableºÜºÃÓã¬ÎªÊ²Ã´²»ÓÃÄØ£¿ÕâÀï¼òµ¥·ÖÎöËûÃǵÄÇø±ð¡£
1.HashTableµÄ·½·¨ÊÇͬ²½µÄ£¬HashMapδ¾Í¬²½£¬ËùÒÔÔÚ¶àÏ̳߳¡ºÏÒªÊÖ¶¯Í¬²½HashMapÕâ¸öÇø±ð¾ÍÏñVectorºÍArrayListÒ»Ñù¡£
2.HashTable²»ÔÊÐínullÖµ(keyºÍvalue¶¼²»¿ÉÒÔ),HashMapÔÊÐínullÖµ(keyºÍvalue¶¼¿ÉÒÔ)¡£
3.HashTableÓÐÒ»¸öcontains(Object value)£¬¹¦ÄܺÍcontainsValue(Object value)¹¦ÄÜÒ»Ñù¡£
4.HashTableʹÓÃEnumeration£¬HashMapʹÓÃIterator¡£
ÒÔÉÏÖ»ÊDZíÃæµÄ²»Í¬£¬ËüÃǵÄʵÏÖÒ²ÓкܴóµÄ²»Í¬¡£
5.HashTableÖÐhashÊý×éĬÈÏ´óСÊÇ11£¬Ôö¼ÓµÄ·½Ê½ÊÇ old*2+1¡£HashMapÖÐhashÊý×éµÄĬÈÏ´óСÊÇ16£¬¶øÇÒÒ»¶¨ÊÇ2µÄÖ¸Êý¡£
6.¹þÏ£ÖµµÄʹÓò»Í¬£¬HashTableÖ±½ÓʹÓöÔÏóµÄhashCode£¬´úÂëÊÇÕâÑùµÄ£º
int hash = key.hashCode();
int index = (hash & 0x7FFFFFFF) % tab.length;
¶øHashMapÖØÐ¼ÆËãhashÖµ£¬¶øÇÒÓÃÓë´úÌæÇóÄ££º
int hash = hash(k);
int i = indexFor(hash, table.length);
static int hash(Object x) {
¡¡¡¡int h = x.hashCode();
¡¡¡¡h += ~(h << 9);
¡¡¡¡h ^= (h >>> 14);
¡¡¡¡h += (h << 4);
¡¡¡¡h ^= (h >>> 10);
¡¡¡¡return h;
}
static int indexFor(int h, int length) {
¡¡¡¡return h & (length-1);
}
×ܽ᣺
1.HashTableµÄ·½·¨ÊÇͬ²½µÄ£¬¶øHashMapµÄ·½·¨²»ÊÇ¡£
2.HashMap¿ÉÒÔÈÃÄ㽫¿ÕÖµ×÷Ϊһ¸ö±íµÄÌõÄ¿µÄkey»òvalue¡£
3.HashCodeµÄ¼ÆËãËã·¨²»Í¬
Ïà¹ØÎĵµ£º
Ò».ÔõÑùÓÃsocket½øÐпͻ§Óë·þÎñÆ÷ͨÐÅ
ÔÚJavaÖÐÓÃsocket½øÐпͻ§/·þÎñÆ÷Ö®¼äµÄͨÐűà³Ì¡£SocketÊÇÁ½¸öʵÌåÖ®¼ä½øÐÐͨÐŵÄÓÐЧ¶Ëµã¡£Í¨¹ýsocket¿ÉÒÔ»ñµÃÔ´IPµØÖ·ºÍÔ´¶Ë¿Ú¡¢ÖÕµãIPµØÖ·ºÍÖÕµã¶Ë¿Ú¡£Óû§¿ÉÒÔ½«¶à¸ösocketÁ¬Èëͬһ¸ö¶Ë¿Ú£¬ÒÔ±ã¶ÔÓÚµ¥¸ö¶Ë¿Ú¿ÉÒÔÓжà¸öÁ¬½Ó¡£Í¨¹ýsocket¿Í»§/·þÎñÆ÷±à³Ì¿ÉÒÔ´´½¨Ò»¸öÄܱ»Ðí¶àÈËÊ¹Ó ......
µÚÒ»£¬ ̸̸final, finally, finalizeµÄÇø±ð¡£ £¨×î³£±»Îʵ½£©
finalÐÞÊηû£¨¹Ø¼ü×Ö£©
Èç¹ûÒ»¸öÀà±»ÉùÃ÷Ϊfinal£¬Òâζ×ÅËü²»ÄÜÔÙÅÉÉú³öеÄ×ÓÀ࣬²»ÄÜ×÷Ϊ¸¸Àà±»¼Ì³Ð¡£Òò´ËÒ»¸öÀ಻Äܼȱ»ÉùÃ÷Ϊabstract£¬ÓÖ±»ÉùÃ÷Ϊfinal¡£½«±äÁ¿»ò·½·¨ÉùÃ÷Ϊfinal£¬¿ÉÒÔ±£Ö¤ËüÃÇÔÚʹÓÃÖв»±»¸Ä±ä¡£Æä³õʼ»¯¿ÉÒÔÔÚÁ½¸öµØ·½ ......
JavaÉϵı¦Ê¯ JRuby 1.5Õýʽ·¢²¼
2010Äê05ÔÂ12ÈÕ£¬JRubyÍŶӷdz£¸ßÐ˵ÄÐû²¼1.5.0°æµÄ·¢²¼¡£ÔÚÕâ֮ǰ£¬Ôø¾·¢²¼¹ýJRuby 1.5.0 RC1µÄ·¢²¼ÏûÏ¢£¬Ïà±È֮ϣ¬Õýʽ·¢²¼±¾±¾ÓÖÌṩÁ˺ܶà¸üС£
JRuby 1.5.0 °æ±¾µÄÖ÷Ò³ºÍÏÂÔØµØÖ··Ö±ðÊÇ£º
Ö÷Ò³£ºhttp://www.jruby.org/
ÏÂÔØ£ºhttp://www.jruby.org/download
Õâ´Î·¢²¼ÊÇJRubyÀú ......
ÎÒÃÇÖªµÀ£¬ÔÚJavaÖÐÉèÖñäÁ¿ÖµµÄ²Ù×÷£¬³ýÁËlongºÍdoubleÀàÐ͵ıäÁ¿Íâ¶¼ÊÇÔ×Ó²Ù×÷£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚ±äÁ¿ÖµµÄ¼òµ¥¶Áд²Ù×÷ûÓбØÒª½øÐÐͬ²½¡£
ÕâÔÚJVM 1.2֮ǰ£¬JavaµÄÄÚ´æÄ£ÐÍʵÏÖ×ÜÊÇ´ÓÖ÷´æ¶ÁÈ¡±äÁ¿£¬ÊDz»ÐèÒª½øÐÐÌØ±ðµÄ×¢ÒâµÄ¡£¶øËæ×ÅJVMµÄ³ÉÊìºÍÓÅ»¯£¬ÏÖÔÚÔÚ¶àÏ̻߳·¾³ÏÂvolatile¹Ø¼ü×ÖµÄʹÓñäµÃ·Ç³£ÖØÒª¡£
ÔÚµ±Ç°µÄ ......
ÏÂÃæµÄ·½·¨Òâͼȷ¶¨ËüÄÇΨһµÄ²ÎÊýÊÇ·ñÊÇÒ»¸öÆæÊý¡£Õâ¸ö·½·¨Äܹ»ÕýÈ·ÔËתÂð£¿
public static boolean isOdd(int i){
return i % 2 == 1;
}
ÆæÊý¿ÉÒÔ±»¶¨ÒåΪ±»2Õû³ýÓàÊýΪ1µÄÕûÊý¡£±í´ïʽ i % 2 ¼ÆËãµÄÊÇ i Õû³ý 2 ʱËù²úÉúµÄÓàÊý£¬Òò´Ë¿´ÆðÀ´Õâ¸ö³ÌÐòÓ¦¸ÃÄܹ»ÕýÈ·ÔËת¡£Òź¶µÄÊÇ£¬Ëü²»ÄÜ£»ËüÔÚËÄ·ÖÖ®Ò»µÄʱ¼äÀï·µ»Øµ ......