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µÄ¼ÆËãËã·¨²»Í¬
Ïà¹ØÎĵµ£º
µÚÒ»£¬ ̸̸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Àú ......
¿É´ÓIOµÄÀà²ã´Î£¬IO¿ò¼ÜµÄÉè¼ÆÄ£Ê½À´ÂÛÊö¡£
×ÜÌåÀ´Ëµ£¬IO¿ÉÒÔ·ÖΪ×Ö½ÚÁ÷ºÍ×Ö·ûÁ÷£¬²»Í¬ÔÚÓÚ×Ö·ûÁ÷ÓÉ×Ö½ÚÁ÷°ü×°¶øÀ´£¬ÔÚIO¶ÁÈëÖ®ºó¾¹ýJVM´¦Àí£¬°Ñ×Ö½ÚÁ÷ת»»³É×Ö·ûÁ÷¡£¶ø×Ö·ûÁ÷µÄ×Ö·û²ÉÓÃÄÄÖÖ×Ö·û±àÂëʵÏÖÓÉJVMĬÈϱàÂë¾ö¶¨¡£
¶øÃ¿¸öÁ÷¶¼·ÖÊäÈëºÍÊä³ö£¬ËùÒÔ£¬×ÜÌåÀ´Ëµ£¬IOÓÐËĸö¶¥²ãÀࣺ
InputStream
OutputStream ......
ÎÒÃÇÖªµÀ£¬ÔÚJavaÖÐÉèÖñäÁ¿ÖµµÄ²Ù×÷£¬³ýÁËlongºÍdoubleÀàÐ͵ıäÁ¿Íâ¶¼ÊÇÔ×Ó²Ù×÷£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚ±äÁ¿ÖµµÄ¼òµ¥¶Áд²Ù×÷ûÓбØÒª½øÐÐͬ²½¡£
ÕâÔÚJVM 1.2֮ǰ£¬JavaµÄÄÚ´æÄ£ÐÍʵÏÖ×ÜÊÇ´ÓÖ÷´æ¶ÁÈ¡±äÁ¿£¬ÊDz»ÐèÒª½øÐÐÌØ±ðµÄ×¢ÒâµÄ¡£¶øËæ×ÅJVMµÄ³ÉÊìºÍÓÅ»¯£¬ÏÖÔÚÔÚ¶àÏ̻߳·¾³ÏÂvolatile¹Ø¼ü×ÖµÄʹÓñäµÃ·Ç³£ÖØÒª¡£
ÔÚµ±Ç°µÄ ......
1. »·¾³±äÁ¿µÄÅäÖãºpathºÍclasspathÖ¸Ïòjava/binĿ¼Ï£»
2. javaÓïÑÔµÄÌØµã£º¿ÉÒÆÖ²£¬ÃæÏò¶ÔÏ󣬷ֲ¼ÐÔ£¬½¡×³ÐÔ£¬°²È«ÐÔ£¬¼òµ¥ÐÔ£¬¸ßÐÔÄÜ£¬¶àỊ̈߳¬¶¯Ì¬ÐÔ¡£
3. Êý¾ÝÀàÐÍ£º
ÕûÐÍ£º×Ö½ÚÐÍ£¨byte 1×Ö½Ú£© ¶ÌÕûÐÍ£¨short 2×Ö½Ú£© »ù±¾ÐÍ£¨int 4×Ö½Ú£© ³¤ÕûÐÍ£¨long 8×Ö½Ú£©£»
¸¡µãÐÍ£ºµ¥¾«¶È¸ ......