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
Why for each loop is used?
Define how does a try statement determine which catch clause should be used to handle an exception?
What is the purpose of the enableevents() method in java programming?
Can you instantiate the math class?
How do you find the independent variable?
What are the basic concepts of OOPS in java?
How many arguments can a method have java?
How does predicate work in java?
How can constructor chaining be done using this keyword?
How do you empty a list in java?
What are user defined exceptions?
Define how can we find the actual size of an object on the heap?
What is thread safe java?
How do you know if a value is nan?
How will you reverse a singly-link list?