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()); }
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, 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 ?
@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!!
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.
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.
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
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..
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?
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
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.
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.
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.... :)
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
best explained ever
tbh. I would suggest to explain it by saying bucket instead of segment
wow!!!To the point :)
Explanation is Clear👍
Thank you so much, you made it super easy to understand. 🏆🏆🏆🏆🏆
Really a great thanks Naveen bro.., Information like these are gem 🥰
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 🙂
first time I entered your channel I felt awesome content!
Thank you so much for your effort
Welcome to Naveen automation labs
Thanks Naveen for this video..super important
Awesome Explain. Thank you so much
Thanks for explaining this wonderfully.
I think this is the best explanation, and cleared the concept.
Very beautiful explanation thanks a lot
Info i didn't know i needed to know, thanks !
Thankyou Naveen❤
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 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.
Nice explanation. Thanks!!
really ur so talented
Thanks for the topic Naveen bro#naveen👍
clear explanation .. great !!
Thanks u saved my life
Beautifull...
great explanation bro:)
Great explanation. Surprised. Just subscribed.
Thank you so much.
Nice explanation
amazing, get well soon thanks
Many thanks (y)
@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()); }
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!!
Great job 👍
superb
thank you so much!!!
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, 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 ?
very helpful 👏👏👏
Awesome 😎
Awesome
Thank you 😊
You're welcome 😊
Thanks
@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!!
great explanation
How to prevent concurrent modification exception in arraylist?
what if two threads try to access same segement ...... wil it not throw concurrentModiificationexception at that time .....................
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
Amazing naveen when will you post like this for python .
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.
After loosing interview, i landed here 🙏🙏🙏🙏🙏
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
what happens when more than 16 threads are trying to write on 16 segments of the object in concurrent hashmap?
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..
What is EnumMap and How to use in real time scenarios
Great work! Reminds me of my professor Dr. Subir in U of Windsor.
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
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
segment and bucket both refer to same component ? someone please help
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..
5:00
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
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.
🙌awsmmm!
You should tell "not syncronized means".
Not "syncronized means" @ 00:28
ConcurrentModificationException
How is it taking care of this th-cam.com/video/UwurUtvil7w/w-d-xo.html ?