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

javaÖÐhashmapºÍhashtableµÄÇø±ð

 
1¡¢  ¼Ì³ÐºÍʵÏÖÇø±ð
HashtableÊÇ»ùÓڳ¾ɵÄDictionaryÀàµÄ£¬HashMapÊÇJava 1.2Òý½øµÄMap½Ó¿ÚµÄÒ»¸öʵÏÖ¡£
2¡¢  Ḭ̈߳²È«²»Í¬
HashTableµÄ·½·¨ÊÇͬ²½µÄ£¬HashMapÊÇδͬ²½£¬ËùÒÔÔÚ¶àÏ̳߳¡ºÏÒªÊÖ¶¯Í¬²½HashMap¡£
3¡¢  ¶ÔnullµÄ´¦Àí²»Í¬
HashTable²»ÔÊÐínullÖµ(keyºÍvalue¶¼²»¿ÉÒÔ),HashMapÔÊÐínullÖµ(keyºÍvalue¶¼¿ÉÒÔ)¡£¼´HashTable ²»ÔÊÐínullÖµÆäʵÔÚ±àÒëÆÚ²»»áÓÐÈκεIJ»Ò»Ñù£¬»áÕÕÑùÖ´ÐУ¬Ö»ÊÇÔÚÔËÐÐÆÚµÄʱºòHashtableÖÐÉèÖõϰ»Ø³öÏÖ¿ÕÖ¸ÕëÒì³£¡£HashMapÔÊÐí nullÖµÊÇÖ¸¿ÉÒÔÓÐÒ»¸ö»ò¶à¸ö¼üËù¶ÔÓ¦µÄֵΪnull¡£µ±get()·½·¨·µ»Ønullֵʱ£¬¼´¿ÉÒÔ±íʾ HashMapÖÐûÓиüü£¬Ò²¿ÉÒÔ±íʾ¸Ã¼üËù¶ÔÓ¦µÄֵΪnull¡£Òò´Ë£¬ÔÚHashMapÖв»ÄÜÓÉget()·½·¨À´ÅжÏHashMapÖÐÊÇ·ñ´æÔÚij¸ö¼ü£¬¶øÓ¦¸ÃÓÃcontainsKey()·½·¨À´Åжϡ£
4¡¢  ·½·¨²»Í¬
HashTableÓÐÒ»¸öcontains(Object value)£¬¹¦ÄܺÍcontainsValue(Object value)¹¦ÄÜÒ»Ñù¡£
5¡¢HashTableʹÓÃEnumeration£¬HashMapʹÓÃIterator¡£
6¡¢HashTableÖÐhashÊý×éĬÈÏ´óСÊÇ11£¬Ôö¼ÓµÄ·½Ê½ÊÇ old*2+1¡£HashMapÖÐhashÊý×éµÄĬÈÏ´óСÊÇ16£¬¶øÇÒÒ»¶¨ÊÇ2µÄÖ¸Êý¡£
7¡¢¹þÏ£ÖµµÄʹÓò»Í¬£¬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);
}
 
Çø±ð
 Hashtable
 Hashmap
 
¼Ì³Ð¡¢ÊµÏÖ
 Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable,Serializable
 HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable,Serializable
 
 
Ïß³Ìͬ²½
 ÒѾ­Í¬²½¹ýµÄ¿ÉÒÔ°²È«Ê¹ÓÃ
 Î´Í¬²½µÄ£¬¿ÉÒÔʹÓÃColletcions½øÐÐͬ²½Map Collections.synchronizedMap(Map m)
 
¶ÔnullµÄ´¦Àí
 
 Hashtable table = new Hashtable();
table.put(null, "Null");
t


Ïà¹ØÎĵµ£º

Effective Java ѧϰ±Ê¼Ç£¨13£©

Ó°ÏìÄ£¿éÉè¼ÆºÃÓ뻵µÄÒ»¸öÖØÒªÒòËØ¾ÍÊÇÕâ¸öÄ£¿éÊÇ·ñÒþ²ØËüµÄÄÚ²¿Êý¾ÝºÍÆäËûһЩʵÏÖϸ½Ú¡£
ÐÅÏ¢Òþ²ØµÄºÃ´¦£º·½±ã¶ÀÁ¢¿ª·¢£¬²âÊÔ£¬ÓÅ»¯£¬Ê¹Óã¬Àí½âºÍÐ޸ġ£Äܹ»Ìá¸ßϵͳ¿ª·¢ËÙ£¨ÒòΪ¸÷Ä£¿é¿ÉÒÔ²¢Ðпª·¢£©£¬Ò²ÄÜÒ×ÓÚά»¤ºÍµ÷ÊÔ£¬Ò²ÄܼõÉÙϵͳ¹¹½¨µÄ·çÏÕ¡£
ÒªÉè¼ÆÁ¼ºÃµÄÄ£¿é£¬¹æÔòºÜ¼òµ¥£¬¾ÍÒ»¾ä»°£ºÊ¹Ã¿¸öÀà»ò½Ó¿Ú¾¡Á¿²»¿É ......

Java Web µÚÎåÌì Web״̬¹ÜÀí

Ò»¡¢
ΪʲôҪ
Web
״̬¹ÜÀí
¶ÔÓÚÿ¸öÈÝÆ÷¶øÑÔÿ¸öÇëÇó¶¼Ï൱ÓÚÒ»¸öеĿͻ§£¬ÒòΪµ±·þÎñÆ÷Éú³É
Response
·µ»Øµ½¿Í»§¶Ë£¬ÔÚ¿Í»§¶ËÏÔʾ³öÀ´ºóÏà¶ÔÓ¦µÄ
Socket
¾Í»á¹Ø±Õ£¬ËùÒÔ
HTTP
ЭÒéÊǸöÎÞ״̬µÄЭÒ飬Ëû²»Äܱ£´æµ±Ç°Óû§µÄÐÅÏ¢¡£
¶þ¡¢
ʵÏÖ״̬¹ÜÀíµÄ·½Ê½
1.      

ÔÚÍø ......

Java Web µÚÆßÌì ФÀÏ´®½²+¹ºÎﳵС½á

ͨ¹ý
½ñÌìСÀÏʦ¶Ô
Javaweb
µÄ´®½²£¬×Ô¼º×î´óÊÕ»ñÊǶÔÕû¸öjavaWebÓÐÁËÒ»¸öϵͳµÄÀí½â£¬¶ÔʵÏÖ¸÷¸ö²½ÖèµÄÔ­ÀíÓÐÁËÒ»¸öÈÚ»á¹áͨ£¬ÕûÌå֪ʶµãÒ²´®ÁªÁËÆðÀ´£¬×Ô¼ºµÄ˼ÏëÒ²´ÓÒÔǰµ¥´¿µÄÀûÓÃ
Java
´úÂë±àдÏÖʵÏîÄ¿³ÌÐòµ½Ó¦ÓÃÏÖÓй¤¾ß·½±ã¿ì½ÝµÄ·¢¿ª³öÏîÄ¿³ÌÐòµÄ¹ý¡£ÏÖÔڻعË֮ǰ6ÕµÄ֪ʶµãÄÚÈÝ£¬
Javaweb
¸Ð¾õÇåÎúÁ˺ܶà ......

Lucene£º»ùÓÚJavaµÄÈ«ÎļìË÷ÒýÇæ¼ò½é


LuceneÊÇÒ»¸ö»ùÓÚJavaµÄÈ«ÎÄË÷Òý¹¤¾ß°ü¡£
»ùÓÚJavaµÄÈ«ÎÄË÷ÒýÒýÇæLucene¼ò½é£º¹ØÓÚ×÷ÕߺÍLuceneµÄÀúÊ·
È«ÎļìË÷µÄʵÏÖ£ºLueneÈ«ÎÄË÷ÒýºÍÊý¾Ý¿âË÷ÒýµÄ±È½Ï
ÖÐÎÄÇзִʻúÖÆ¼ò½é£º»ùÓÚ´Ê¿âºÍ×Ô¶¯ÇзִÊËã·¨µÄ±È½Ï
¾ßÌåµÄ°²×°ºÍʹÓüò½é£ºÏµÍ³½á¹¹½éÉܺÍÑÝʾ
Hacking Lucene£º¼ò»¯µÄ²éѯ·ÖÎöÆ÷£¬É¾³ýµÄʵÏÖ£¬¶¨ÖƵÄÅ ......

¼ÙÆÚûÊÂ,дÁ˸ö90ÐеĶíÂÞ˹·½¿é,JavaʵÏÖ

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Terris extends JFrame implements Runnable, KeyListener {
private short isPlaying=0,xOffSet = 2, yOffSet = 0, blockType = (short) Math.round(Math.random() * 6), blockRotation = 0, blockColor = (short) Math.round(Math. ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ