Thursday, 23 July 2015

ConcurrentHashMap vs HashMap

 1.  Thread-Safe & fail-safe

     ConcurrentHashMap is thread-safe that is the code can be accessed by single thread at a time .
     while HashMap is not thread-safe.

 2.  Synchronization Method :

    HashMap can be synchronized by using synchronizedMap(HashMap)  method.
    By using this method we get a HashMap object which is equivalent to the HashTable object .               So every modification is performed on Map is locked on Map object.


  •   ConcurrentHashMap synchronizes or locks on the certain portion of the Map. To optimize           the performance of ConcurrentHashMap , Map is divided into different partitions depending     upon the Concurrency level. So that we do not need to synchronize the whole Map Object.


3.  Null Key

     ConcurrentHashMap does not allow NULL values . So the key can not be null in                                        ConcurrentHashMap .While In HashMap there can only be one null key.

4.  Performance

     In multiple threaded environment HashMap is usually faster than ConcurrentHashMap as  
     only single thread can access the certain portion of the Map and thus reducing the performance.
     While in HashMap any number of threads can access the code at the same time.

No comments:

Post a Comment