I would say one word --- "AWESOME". I remember my days of engineering - studied about Operating Systems - process synchronization. Thank you for the lucid explanation.
Naveen totally addicted to your videos. Ur videos are simply awesome for complete beginners. Many channels explain about put and add method or about null values and null keys. But if u take a concept u will be true to urself and with us and explain everything about it. Thank you so much.
Aisa koi engineering college me padha deta to maazzaa aa jata..... You are really really amazing ... Itne simple words me koi bhi nai bata sakta.... :)
@Naveen When I'm using below code snippet to print key and value of syncMap, I'm getting NoSuchElementException. Can you please help? Iterator itr = syncMap.entrySet().iterator(); while(itr.hasNext()) { System.out.println("key = "+itr.next().getKey()+" Value = "+itr.next(). getValue()); }
I know it's late, but could be a reference for future viewers.... The "Reading" thread/s can directly read from ConcurrentHashMap. If there is/are update operation(s) happening at same segment/bucket, after all the update operations only, the read operation/thread can execute. We don't have to do anymore settings. As from JavaDocs of SE8 version: More formally, an update operation for a given key bears a happens-before relation with any (non-null) retrieval for that key reporting the updated value.
Hi sir, in case of concurrentHashMap if all the buckets are writing and one more thread wants to write so it will wait for one of the thread to be free ?
Sir i have a doubt please help me ...... If i deploy my application on the server and then every user will get a thread of application...... If there is any synronised map then only one user have lock on it no other user can access utill first user leave ..... Or syncronised map is safe from sub threads of main thread which every user get on server..... Please clear my doubt sir..
Few doubt why only one null key introduce in a hashmap not the multiple and this is the same functionality why not implemented hash table can u tell me answer Naveen sir and also usecases? don't say legacy reason respective of hashtable
I think there is issue when collision occurs and if particular bucket is locked by another thread then it must wait . Otherwise next time when we find value of index or bucket address with hascode it will point to same index where it should be or value wont be able to be found. I am just asking.
Hi naveen.. Clear crisp 👏 I have some doubt. If one thread writing/ updating data to segment one and Another thread accessing data from another segment same point of time... So there is a chance of in accuracy right.. Is there any solution
Sir, what will be the virtual capacity once 16 indexes of nodes are filled? For e.g In ArrayList if I add more values than the default capacity i.e 10 My virtual capacity becomes 15, 22, and so on. What will be the virtual capacity of the HashMap once go beyond the default virtual capacity?
@Naveen AutomationLabs Thanks for the awesome explanation😊Just subscribed😁 Can you please explain segment level locking (till java7) vs Bucket level locking (in java8). Thanks in advance!!
Confused a bit, so when we say ConcurrentHashMap is divided in 16 segments and a thread tries to write to it, does it mean it is writing in "Key", "Value" pair (for an instance, "Key1", "Value1"). If it is so, what happens let's say 2nd thread goes to write "Key1", "Value2" to the map simultaneously and new segment is provided for it to write? Does the map has 2 same keys now, which I believe not is the case, so what exactly is happening?
I guess when another thread goes to write "Key1", "Value2", it will generate same hashcode and then navigate to same index which currently earlier thread is using and this is locked by thread 1. So when writing operation is done by thread1, thread2 will update the value there.
Vedio 13,14 is not there... Directly 15 vedio (hashmap interview questions is listed)... And please make a vedio for fast-fail and fast-safe..,comparator ane comparable..
I am looking for advantages of synchronised over concurrent.. 1. It allows null values and 1 null key. 2. Consistency is weak in concurrent. I want to understand what does this weak consistency mean
I would say one word --- "AWESOME". I remember my days of engineering - studied about Operating Systems - process synchronization. Thank you for the lucid explanation.
I wish that I would have studied Computer Science it’s attractive branch, I am enjoying learning now.
Naveen totally addicted to your videos. Ur videos are simply awesome for complete beginners. Many channels explain about put and add method or about null values and null keys. But if u take a concept u will be true to urself and with us and explain everything about it. Thank you so much.
if providing detailed explanation is an art that you are the Picasso of it Naveen!! Thank You very much😊
Thanks, Naveen for your wonderful demonstration on this Topic.
Really enjoying these series... used to run away from this topic while prepping but you have made it really very easy to understand.. thanks a ton
Aisa koi engineering college me padha deta to maazzaa aa jata.....
You are really really amazing ... Itne simple words me koi bhi nai bata sakta.... :)
Really a great thanks Naveen bro.., Information like these are gem 🥰
best explained ever
tbh. I would suggest to explain it by saying bucket instead of segment
first time I entered your channel I felt awesome content!
Thank you so much for your effort
Welcome to Naveen automation labs
Thank you so much, you made it super easy to understand. 🏆🏆🏆🏆🏆
Super amazing. Thanks a lot for this premium content.
Thank u so much from the bottom of my heart.....such a way u hv explained Amazing keep on...
Glad that you liked it 🙂
Thanks
Explanation is Clear👍
wow!!!To the point :)
Thanks Naveen for this video..super important
@Naveen
When I'm using below code snippet to print key and value of syncMap, I'm getting NoSuchElementException. Can you please help?
Iterator itr = syncMap.entrySet().iterator();
while(itr.hasNext()) {
System.out.println("key = "+itr.next().getKey()+" Value = "+itr.next().
getValue()); }
In concurrent hashmap will data mix up between two threads ? Because two threads are acting on it simultaneously
I think this is the best explanation, and cleared the concept.
Info i didn't know i needed to know, thanks !
how to ensure for the other threads to read the updated value in the segment if one thread is writing at the same time in concurrent hash map.
I know it's late, but could be a reference for future viewers.... The "Reading" thread/s can directly read from ConcurrentHashMap. If there is/are update operation(s) happening at same segment/bucket, after all the update operations only, the read operation/thread can execute. We don't have to do anymore settings.
As from JavaDocs of SE8 version:
More formally, an update operation for a given key bears a happens-before relation with any (non-null) retrieval for that key reporting the updated value.
@@irckdwrld Thanks doubt..cleared
Awesome Explain. Thank you so much
Hi sir, in case of concurrentHashMap if all the buckets are writing and one more thread wants to write so it will wait for one of the thread to be free ?
Thanks for explaining this wonderfully.
what if two threads try to access same segement ...... wil it not throw concurrentModiificationexception at that time .....................
good Question.
Thanks for the topic Naveen bro#naveen👍
Sir i have a doubt please help me ......
If i deploy my application on the server and then every user will get a thread of application......
If there is any synronised map then only one user have lock on it no other user can access utill first user leave .....
Or syncronised map is safe from sub threads of main thread which every user get on server.....
Please clear my doubt sir..
Few doubt why only one null key introduce in a hashmap not the multiple and this is the same functionality why not implemented hash table can u tell me answer Naveen sir and also usecases? don't say legacy reason respective of hashtable
Very beautiful explanation thanks a lot
Thankyou Naveen❤
Great explanation. Surprised. Just subscribed.
what happens when more than 16 threads are trying to write on 16 segments of the object in concurrent hashmap?
Nice explanation. Thanks!!
How to prevent concurrent modification exception in arraylist?
I think there is issue when collision occurs and if particular bucket is locked by another thread then it must wait . Otherwise next time when we find value of index or bucket address with hascode it will point to same index where it should be or value wont be able to be found. I am just asking.
clear explanation .. great !!
Awesome explanation.
Just one correction. HashMap was there before JDK 1.5 too.
I had given SCJP for jdk 1.4 and HashMap was there.
great explanation bro:)
Great work! Good job!!
Note: hashmap was introduced in 1.2 itself. Pls add atleast a note in your video so that people are not misguided.
really ur so talented
Hi naveen.. Clear crisp 👏
I have some doubt.
If one thread writing/ updating data to segment one and
Another thread accessing data from another segment same point of time...
So there is a chance of in accuracy right..
Is there any solution
Hi sir, I have one doubt on concurrenthashmap suppose in one segment can it allow two thread for Two operation (like read, write) ?
Yes it is allowed
segment and bucket both refer to same component ? someone please help
amazing, get well soon thanks
Great job 👍
Thanks u saved my life
Beautifull...
very helpful 👏👏👏
Sir, what will be the virtual capacity once 16 indexes of nodes are filled? For e.g In ArrayList if I add more values than the default capacity i.e 10 My virtual capacity becomes 15, 22, and so on. What will be the virtual capacity of the HashMap once go beyond the default virtual capacity?
Each node create a balanced binary tree once the threshold value reached I guess
Amazing video, however Segment lock was abandoned since Java 8, it now uses CAS + Synchronisation to guarantee thread safety
Can you please explain segment level locking (till java7) vs Bucket level locking (in java8). Thanks in advance!!
@Naveen AutomationLabs Thanks for the awesome explanation😊Just subscribed😁
Can you please explain segment level locking (till java7) vs Bucket level locking (in java8). Thanks in advance!!
Amazing naveen when will you post like this for python .
Awesome 😎
Nice explanation
superb
great explanation
Thank you so much.
What is EnumMap and How to use in real time scenarios
Many thanks (y)
Confused a bit, so when we say ConcurrentHashMap is divided in 16 segments and a thread tries to write to it, does it mean it is writing in "Key", "Value" pair (for an instance, "Key1", "Value1").
If it is so, what happens let's say 2nd thread goes to write "Key1", "Value2" to the map simultaneously and new segment is provided for it to write? Does the map has 2 same keys now, which I believe not is the case, so what exactly is happening?
I guess when another thread goes to write "Key1", "Value2", it will generate same hashcode and then navigate to same index which currently earlier thread is using and this is locked by thread 1. So when writing operation is done by thread1, thread2 will update the value there.
Vedio 13,14 is not there... Directly 15 vedio (hashmap interview questions is listed)... And please make a vedio for fast-fail and fast-safe..,comparator ane comparable..
Awesome
Thank you 😊
You're welcome 😊
thank you so much!!!
Great work! Reminds me of my professor Dr. Subir in U of Windsor.
I am looking for advantages of synchronised over concurrent..
1. It allows null values and 1 null key.
2. Consistency is weak in concurrent.
I want to understand what does this weak consistency mean
After loosing interview, i landed here 🙏🙏🙏🙏🙏
You should tell "not syncronized means".
Not "syncronized means" @ 00:28
5:00
🙌awsmmm!
How is it taking care of this ruclips.net/video/UwurUtvil7w/видео.html ?
ConcurrentModificationException