1. 程式人生 > 其它 >RabbitMQ 消費者

RabbitMQ 消費者

        HashMap是Hashtable的輕量級實現(非執行緒安全的實現),他們都完成了Map介面,主要區別在於HashMap允許空(null)鍵值(key),由於非執行緒安全,在只有一個執行緒訪問的情況下,效率要高於Hashtable。

        HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。

        Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現。

        最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個執行緒訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap就必須為之提供同步。

     就HashMap與HashTable主要從三方面來說。
        一.歷史原因:Hashtable是基於陳舊的Dictionary類的,HashMap是Java 1.2引進的Map介面的一個實現
        二.同步性:Hashtable是執行緒安全的,也就是說是同步的,而HashMap是執行緒序不安全的,不是同步的
        三.值:只有HashMap可以讓你將空值作為一個表的條目的key或value

參考資料:

 http://www.java265.com/JavaMianJing/202205/16515869843253.html