Which One is optimal to choose ?

Syncronized hash map or Hash table with single thread model?

How can a hash map syncronized with out using syncrozed
blocks in programm?

Answer Posted / ranganathkini

The java.util.Hashtable provides a synchronized collection
implementation to store key-value pairs. Hence
synchronization of a Hashtable is not necessary.

Synchronization has a performance overhead and therfore must
be used with caution in only those situations where a
resource(s) is shared by multiple threads. Hence a
java.util.HashMap implementation can be used for single
threaded model and it can be externally synchronized if it
is to be used in a mult-threaded model.

To get a synchronized version of a java.util.HashMap without
using synchronized blocks, do this:

// make sure this is in imports
import java.util.*;

// our unsynchronized map object
Map myMap = new HashMap();

// get a synchronized map from our unsynchronized map
Map mySyncMap = Collections.synchronizedMap( myMap );

After this, all access to the map must be via mySyncMap
reference and NOT myMap.

Another way to acquire a synchronized map is:

Map mySyncMap = Collections.synchronizedMap( new HashMap() );

Is This Answer Correct ?    5 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Explain about anonymous inner classes ?

833


What is assembly used for?

792


What are benefits of java?

821


What is java string pool?

780


What is int argc char * argv?

800


Why are there no global variables in java?

817


What is the synonym of string?

802


What is the use of join method?

812


How many JVMs can run on a single machine and what is the Just-In-Time(JIT) compiler?

826


What is the latest version of java?

817


What is * argv?

953


Can we override tostring method in java?

731


Differentiate between == and equals().

807


Can It is possible to synchronize the constructor of a Java Class?

842


What is the meaning of variables in research?

792