The best video on memory management that I have come across. It gives a clear insight on how to write memory efficient code in Java. Will appreciate if you can make a video on streaming and how it works internally. Thanks a ton.
Great explanation. I read that from Java 8 onwards the permgen has been removed. And instead of permgen we have a metaspace which is part of the native memory (which is not a heap memory) which is managed by the OS.
If Test t = new Test() is defined as instance variable rather then defined inside some method like m1 method. In that case I understood that new test() will be creating one object inside the heap. But where the reference will be stored as it is not local variable it is instance variable ? And stack will store local variable and local references as much as i know?
Great and deep explanation and information in detail . Better than all other videos from other youtube channels.. Just a small suggestion, if the diagram is ready then this video can be covered in bit less time.Awesome video. Thanks a ton
Great video. Just had a couple of query : 1. You said permgen is part of stack memory but you displayed them on separate boxes so that was confusing. 2. You said stack size is very less compared to heap memory. but than what about Permgen (or now Metaspace) . Is metaspace is less compared to heap? Thanks!
Question 1: At the time of Major GC, will the JRE do only Major GC ? or JRE will perform its normal tasks and in parallel Major GC will perform Question 2: When you said we don't have to do the Major GC frequently, is there any code we write explicitly for GC? I think JRE itself take care of the Garbage collection.
As per my understanding, 1. So at a time, one of the survivor space is always empty ? this correct ? 2. Objects that are survived after many cycles of GC, are moved to the Old generation memory space ?
Hi Naveen, one query on method block. You said one method at a time is given space inside it. But let's say we have a main method which calls another method inside it. How is this scenario handled?
Thanks Naveen for such a informative video. I have a follow up question below:- If we create any Collection I.e Arraylist , Hashmap etc .. where is it created .. in Heap or Stack?Since collections stores the the object references rather than physical objects..How does it manage the whole process?
very nice video. one question i had, corresponding to each thread is there a separate stack bcoz in case of multiple threads multiple functions may execute simultaneously thus each method need a method block. Though in a particular thread only one method will execute at a time.
Hello Sir, I have some questions: So where exactly are new Strings stored (in heap or in stringpool directly)? And where is the stringpool located then (method area of permgen or heap)? There has been some changes in Java 7 and 8 to the permgen section. When does a string automatically move to striingpool provided intern methos is not called. Thanks in advance :)
if Method block is used one by one by the methods being executed, what will happen if one method1 calls another method2 and method2 returns something to method1, at this time both the methods are executing (pseudo parallelly)?
As much as i have a knowledge till now permanent generation is separate memory are and stack is separate memory area . But in this video somewhere at the end you are saying parmanent memory is part of stack memory which is making me confused can you please explain on that ? Is both separate memory area or parmanent is part of stack. ?
Great one!! One question to you Naveen. Do you know how to perform test for the product (Web based Game) where DOM element is hidden. I think all the DOM element is under the CANVAS?
u really make it simple naveen... 😊...i still like ur amazing diagrammatic representation of concepts which make things really easy to understand...kudos bro... keep going...👏🙂
Hi naveen, thanks for the detailed explanation. I have a question. Where are the instance variables, argument to the constructor, if any object is created inside the constructor, where is the reference var stored? I was asked in an interview and I flunked 😒
What if the reference variable is a class instance variable and NOT a method local variable? I believe in that case, the reference variable is stored along with the object of that class and NOT on stack. Please correct me if I'm wrong.
Small correction in your lesson When the survivor space S0 is filled, it automatically goes to Old Generation after the minor GC. It will not go to S1.
Hi sir I have one doubt,let say if older generations is also filled with objects and there is not enough space then if GC destroy that object wouldn't it impcact the application as the object is no longer available...sir I am starter guy pardon me if I sound stupid..
Hi Naveen, My Java application reads file and stores to DB.for this it takes 3GB space.but after completion of program GC is not clearing the space, application still takes 3GB space.how to free up the space??
The best video on memory management that I have come across. It gives a clear insight on how to write memory efficient code in Java.
Will appreciate if you can make a video on streaming and how it works internally.
Thanks a ton.
This video deserves more likes and views 🙏
Best illustrated concept of memory management in java
Great explanation. I read that from Java 8 onwards the permgen has been removed. And instead of permgen we have a metaspace which is part of the native memory (which is not a heap memory) which is managed by the OS.
Best content on memory management..Thanks for sharing!
Thanks glad you liked it. Please refer the latest video on java memory management
Thank you provide valuable information about Java memory management 🙏🙏🙏
Great video. JVM understanding is important not only for interviews but far beyond interviews.
Very good video....!! Crisp and Clear...!!! Thank you...!!
Thanks a lot Naveen. That was a Video which I was looking for it but never could find. Thanks for the excellent explanation.
One of the best tutors you are Naveen.
thanks for watching it @Rachana
Awesome explanation!!! Terrific!! Thanks a lot!!!
My first nice video on Memory Management 👌👌
Hi Naveen,
as always this is nice explanation!!
Can we say that :Java Stack memory=Class (method) area+Native Method Stack+Variables memory area
Very nice👍👍👍 it's really helpful.
Sir you have clear all concepts regarding java memory management. Thanks for your such great efforts in making video.
Great Explanation , this is something that I found deepen understanding of memory management. Thanks Naveen
really it is very nice video, after read this, I clear my concept on memory heap and stack. thank you navin.
Kutha chimpi para dhengaw anna.... Mid nyt kuda chaala interesting ga chusaa
Great knowledge you having sir. Thanks for this .
Just thank you.. i relieved finally.. i ve been seaching this for years !!!
Great explanation. Thank you!
never found so detailed.... thanks a ton!
Naveen, i want to add one point, permanent Generation is part of heap memory not stack memory as you said in video(28:03)
I am always follow your channel for java related , you rocking pls keep doing the good work. great sir!❤
I really appreciate your effort Naveen. Thanks for video :)
Hats off sir..very good explanation..
Pls continue this topic to cover garbage collection..
Thankyou Naveen. This was so informational
I Like your efforts Naveen, Very very useful video for interview (I was asked these questions in mine!).
It was really a very explanatory session.
Got all the concept by this vesio
Thanks Naveen for this amazing video. It is full of information and explained very clearly.
Thanks, very interesting video. I just wanted to see what is the diference between local and static variable storage but I've learned much more.
Nice explanation, thank you...As for the back ground noise, you could add a faint background music to cancel and soften the high pitch noise....
Thankyou for this video Naveen!
Very good explanation. But this video is up to Java 7. Java 8 on wards, we dont have pergem concept at all. Its Metaspace now.
Jaikrat Singh Tariyal yes ... I was about to ask this questions. Now pergen is removed completely...
Thankyou sir for this 🔥🔥🔥 explanation
Thanks for sharing this knowledge!
If Test t = new Test() is defined as instance variable rather then defined inside some method like m1 method. In that case I understood that new test() will be creating one object inside the heap. But where the reference will be stored as it is not local variable it is instance variable ? And stack will store local variable and local references as much as i know?
Great and deep explanation and information in detail . Better than all other videos from other youtube channels.. Just a small suggestion, if the diagram is ready then this video can be covered in bit less time.Awesome video. Thanks a ton
Every Nice explanation sir, it's very clear to understand. Thank you sir.
This was really helpful. Thanks a lot.
great explanation 👏
One of the survivor memories will always be free..
Great video. Just had a couple of query : 1. You said permgen is part of stack memory but you displayed them on separate boxes so that was confusing.
2. You said stack size is very less compared to heap memory. but than what about Permgen (or now Metaspace) . Is metaspace is less compared to heap?
Thanks!
Thank you so much for creating such a helpful video
Thanks for such nice videos....can you please tell me after execution of a method... where the result is stored.???
Very informative. I have one doubt why the survivor memory classified as two, both have same usage and purpose?
Thank you so much Naveen but one Question, Cam you tell from which book you took reference ?
Very good explanation for Memory management. Thanks Naveen
Excellent sir, thanks for the video
Awesome video. I have one question do i need to run manual gc?
Such a quality content ❤️
Nice explanation sir..
Question 1:
At the time of Major GC, will the JRE do only Major GC ? or JRE will perform its normal tasks and in parallel Major GC will perform
Question 2:
When you said we don't have to do the Major GC frequently, is there any code we write explicitly for GC? I think JRE itself take care of the Garbage collection.
great information, fine details. :)
Custom immutable store into which part of memory?
As per my understanding,
1. So at a time, one of the survivor space is always empty ? this correct ?
2. Objects that are survived after many cycles of GC, are moved to the Old generation memory space ?
Hi Naveen,
Very well explained! Can we get the pictorial view of this concept as explained in the video?
Thanks for watching! But what do you mean by pictorial view of this concept?
Thanks much for sharing the information.
Naveen ji extraordinary teaching thanks a lot for sharing your great knowledge please help in sql concepts as well.
This is perfect! Great job man ! Thanks a lot!
Great explanation..
Great explanation
Hi Naveen, one query on method block. You said one method at a time is given space inside it. But let's say we have a main method which calls another method inside it. How is this scenario handled?
Memory leak will come on only in heap area right? If yes then in that case what we need to do in that case?
Thanks Naveen for such a informative video. I have a follow up question below:-
If we create any Collection I.e Arraylist , Hashmap etc .. where is it created .. in Heap or Stack?Since collections stores the the object references rather than physical objects..How does it manage the whole process?
Hi Naveen, just want to know each application create own JRE on server memory? also what is difference between JVM and JMM?
Any suggestion of a book for further reading and understanding this?
Nice Explanation
very nice video. one question i had, corresponding to each thread is there a separate stack bcoz in case of multiple threads multiple functions may execute simultaneously thus each method need a method block. Though in a particular thread only one method will execute at a time.
Hello Sir, I have some questions:
So where exactly are new Strings stored (in heap or in stringpool directly)? And where is the stringpool located then (method area of permgen or heap)? There has been some changes in Java 7 and 8 to the permgen section. When does a string automatically move to striingpool provided intern methos is not called.
Thanks in advance :)
Hi Naveen, How to perform GC for a particular object
if Method block is used one by one by the methods being executed, what will happen if one method1 calls another method2 and method2 returns something to method1, at this time both the methods are executing (pseudo parallelly)?
how you differing method block and method area of Permanent generation.
Thanks Naveen . I have a question is premgen is also part of stack memory
Very well explained .. Concise and clear .. Pls keep uploading more videos on JAVA
which method block is stored in stack in case of method overriding?
As much as i have a knowledge till now permanent generation is separate memory are and stack is separate memory area . But in this video somewhere at the end you are saying parmanent memory is part of stack memory which is making me confused can you please explain on that ? Is both separate memory area or parmanent is part of stack. ?
If m1 calls m2, method block will be available to which method?
What are JRE classes? The predefined classes or the ones which I have made ?? Someone help me understand please.
very very nice explain
I become subscriber because this video
Great one!! One question to you Naveen. Do you know how to perform test for the product (Web based Game) where DOM element is hidden. I think all the DOM element is under the CANVAS?
one word....AWESOME
u really make it simple naveen... 😊...i still like ur amazing diagrammatic representation of concepts which make things really easy to understand...kudos bro... keep going...👏🙂
sir , your explanation is very nice
and make more videos
thanking you very much sir
PermGen was part of Heap upto java 8.
From java 8, it had been removed.
Hi naveen, thanks for the detailed explanation.
I have a question.
Where are the instance variables, argument to the constructor, if any object is created inside the constructor, where is the reference var stored?
I was asked in an interview and I flunked 😒
..wow
Nice Naveen, very informative. :) by any chance any plans for a video explaining the metaspace concept also?
What if the reference variable is a class instance variable and NOT a method local variable? I believe in that case, the reference variable is stored along with the object of that class and NOT on stack. Please correct me if I'm wrong.
Small correction in your lesson
When the survivor space S0 is filled, it automatically goes to Old Generation after the minor GC. It will not go to S1.
Very Good One:) got some more Idea about JRE.
Very informative, but I was looking for information regarding MetaSpace.
sir can we say that each class have only one object and rest are created by referenced to that object.
Memory Pool (Constant Pool) memory is available in Young Generation or Old Generation?
Hi sir I have one doubt,let say if older generations is also filled with objects and there is not enough space then if GC destroy that object wouldn't it impcact the application as the object is no longer available...sir I am starter guy pardon me if I sound stupid..
Very informative and nicely presented. Just the keyboard noise is lill irretating.
Please upload any video on Class loading with context of JRE.
Permanent Generation is also part of Heap memory.
Hi Naveen,
My Java application reads file and stores to DB.for this it takes 3GB space.but after completion of program GC is not clearing the space, application still takes 3GB space.how to free up the space??
Hi Naveen, Can you please make an video on difference between String,String Buffer and Sting Builder (Differenace bewtween Mutable and immutable )
Thanku sir can u please share if u have any notes?
PermGen is replaced with metaspace after java 8 with better memory management and growable feature.
Yes it got covered and updated ib this video: ua-cam.com/video/4yKxJjYXZ0A/v-deo.html