It is time for learning some Java programming. That is the reason we are bringing to you this blog related to Java. To learn Java from scratch to expert level, take admission to a Java institute in Pune.
It’s time for the Java concurrency concept. Let’s see top 5 JDK 5 and 6 concurrent collections that every Java programmer should be aware of
ConcurrentHashMap is without a doubt most well known accumulation class presented in Java 5 and a large portion of us are now utilizing it. ConcurrentHashMap gives a simultaneous option of Hashtable or Synchronized Map classes with the objective to bolster larger amount of simultaneousness by actualizing fined grained locking. Different readers can get to the Map simultaneously while a segment of Map gets bolted for write operation relies on concurrency level of Map. ConcurrentHashMap gives preferred versatility over there synchronized partner. Iterator of ConcurrentHashMap are fail-safe iterators which doesn’t toss ConcurrencModificationException subsequently takes out another necessity of locking amid cycle which result in further scalability and execution
2.CopyOnWriteArrayList and CopyOnWriteArraySet:
CopyOnWriteArrayList is a simultaneous option of synchronized List. CopyOnWriteArrayList gives preferred concurrency over synchronized List by permitting numerous simultaneous reader and supplanting the entire rundown on write operation. Yes, write operation is expensive on CopyOnWriteArrayList however it performs better when there are multiple reader and necessity of emphasis is more than composing. Since CopyOnWriteArrayList Iterator additionally don’t throw ConcurrencModificationException it dispenses with need to lock the collection amid iteration. Keep in mind both ConcurrentHashMap and CopyOnWriteArrayList doesn’t gives same level of locking as Synchronized Collection and accomplishes thread safety by there locking and alter-ability technique. So they perform better if necessities suits there nature. So also, CopyOnWriteArraySet is a simultaneous substitution to Synchronized Set. See What is CopyOnWriteArrayList in Java for more points of interest
BlockingQueue is additionally one of better known collection class in Java 5. BlockingQueue makes it simple to execute producer-consumer design pattern by giving inbuilt blocking support to put() and take() method. put() method will block if Queue is full while take() method will block if Queue is void. Java 5 API gives two solid implementation of BlockingQueue in the form of ArrayBlockingQueue and LinkedBlockingQueue, them two execute FIFO requesting of element. ArrayBlockingQueue is upheld by Array and its limited in nature while LinkedBlockingQueue is alternatively limited. Consider utilizing BlockingQueue to take care of producer consumer issue in Java as opposed to composing your won wait-notify code. Java 5 additionally gives PriorityBlockingQueue, another execution of BlockingQueue which is requested on need and valuable in the event that you need to process elements on request other than FIFO
4.Deque and BlockingDeque:
Deque interface is included Java 6 and it stretches out Queue interface to bolster inclusion and expulsion from both end of Queue alluded as head and tail. Java 6 likewise gives simultaneous usage of Deque like ArrayDeque and LinkedBlockingDeque. Deque can be utilized effectively to build parallelism as a part of program by permitting set of worker thread to help each other by taking some of work load from other thread by using Deque twofold end utilization property. So if all Thread has there possess set of errand Queue and they are devouring from head; assistant string can likewise share some work stack through utilization from tail
5.ConcurrentSkipListMap and ConcurrentSkipListSet:
Much the same as ConcurrentHashMap gives a simultaneous option of synchronized HashMap. ConcurrentSkipListMap and ConcurrentSkipListSet give simultaneous contrasting option to synchronized rendition of SortedMap and SortedSet. For instance as opposed to utilizing TreeMap or TreeSet wrapped inside synchronized Collection, You can consider utilizing ConcurrentSkipListMap or ConcurrentSkipListSet from java.util.concurrent package. They likewise execute NavigableMap and NavigableSet to include extra navigational method we have found in our post How to utilize NavigableMap in Java.
That is all on this rundown of concurrent Collection classes from Java 5 and 6. They are included java.util.concurrent package as simultaneous option of there synchronized partner. It’s smart thought to know these Collection classes alongside other well known classes from Java Collection Framework.
To learn these and other Java related concepts, look for best Java courses in Pune.