Stack and Heap: Memory Management In Java (The most important Concept in Java)

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น •

  • @bibekkumarbazaz647
    @bibekkumarbazaz647 4 ปีที่แล้ว +35

    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.

  • @techy0716
    @techy0716 3 ปีที่แล้ว +1

    Best illustrated concept of memory management in java

  • @GAGamingLegends
    @GAGamingLegends 3 ปีที่แล้ว +4

    This video deserves more likes and views 🙏

  • @TechWithChetann
    @TechWithChetann 4 ปีที่แล้ว +4

    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.

  • @ABAutomationHub
    @ABAutomationHub 2 ปีที่แล้ว +2

    Best content on memory management..Thanks for sharing!

    • @naveenautomationlabs
      @naveenautomationlabs  2 ปีที่แล้ว

      Thanks glad you liked it. Please refer the latest video on java memory management

  • @saikiran2356
    @saikiran2356 2 ปีที่แล้ว

    Kutha chimpi para dhengaw anna.... Mid nyt kuda chaala interesting ga chusaa

  • @WeWalkAI
    @WeWalkAI 5 ปีที่แล้ว +1

    Great video. JVM understanding is important not only for interviews but far beyond interviews.

  • @nandagopal375
    @nandagopal375 ปีที่แล้ว +1

    Thank you provide valuable information about Java memory management 🙏🙏🙏

  • @ananthasubramanian7355
    @ananthasubramanian7355 4 ปีที่แล้ว +1

    Very good video....!! Crisp and Clear...!!! Thank you...!!

  • @MrSpraveennaika
    @MrSpraveennaika 2 ปีที่แล้ว +1

    My first nice video on Memory Management 👌👌

  • @rachanabanerjee4696
    @rachanabanerjee4696 5 ปีที่แล้ว +1

    One of the best tutors you are Naveen.

  • @asimghosh5737
    @asimghosh5737 3 ปีที่แล้ว +1

    Very nice👍👍👍 it's really helpful.

  • @Saravanans-q4e
    @Saravanans-q4e 10 หลายเดือนก่อน

    Great knowledge you having sir. Thanks for this .

  • @niloybasu6508
    @niloybasu6508 3 ปีที่แล้ว +1

    Awesome explanation!!! Terrific!! Thanks a lot!!!

  • @shashankjakhmola6226
    @shashankjakhmola6226 2 ปีที่แล้ว

    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?

  • @abhijeets6593
    @abhijeets6593 4 ปีที่แล้ว +1

    Naveen, i want to add one point, permanent Generation is part of heap memory not stack memory as you said in video(28:03)

  • @praveenautomationinterview2367
    @praveenautomationinterview2367 7 ปีที่แล้ว +7

    Hi Naveen,
    as always this is nice explanation!!
    Can we say that :Java Stack memory=Class (method) area+Native Method Stack+Variables memory area

  • @yashasvirallabandi9070
    @yashasvirallabandi9070 2 ปีที่แล้ว +1

    Great explanation. Thank you!

  • @amanokuba4688
    @amanokuba4688 4 ปีที่แล้ว

    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....

  • @ShubhamGupta-du6ie
    @ShubhamGupta-du6ie 3 ปีที่แล้ว

    Hi Naveen, How to perform GC for a particular object

  • @avishsharma3404
    @avishsharma3404 3 ปีที่แล้ว

    Great Explanation , this is something that I found deepen understanding of memory management. Thanks Naveen

  • @jeet_upadhyaya
    @jeet_upadhyaya 3 ปีที่แล้ว

    Thankyou for this video Naveen!

  • @mugeeshhk
    @mugeeshhk 3 ปีที่แล้ว

    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 ?

  • @sudhirDubey-g3g
    @sudhirDubey-g3g 10 หลายเดือนก่อน

    how you differing method block and method area of Permanent generation.

  • @dupindersingh1599
    @dupindersingh1599 3 ปีที่แล้ว

    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.

  • @shashankjakhmola6226
    @shashankjakhmola6226 2 ปีที่แล้ว

    Memory leak will come on only in heap area right? If yes then in that case what we need to do in that case?

  • @somias1575
    @somias1575 4 ปีที่แล้ว

    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?

  • @akado5663
    @akado5663 6 ปีที่แล้ว +5

    Thanks a lot Naveen. That was a Video which I was looking for it but never could find. Thanks for the excellent explanation.

  • @rafiq41cb
    @rafiq41cb 2 ปีที่แล้ว

    If m1 calls m2, method block will be available to which method?

  • @apoorvdixit2856
    @apoorvdixit2856 4 ปีที่แล้ว

    sir can we say that each class have only one object and rest are created by referenced to that object.

  • @shashankjakhmola6226
    @shashankjakhmola6226 2 ปีที่แล้ว

    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. ?

  • @shijocg
    @shijocg 3 ปีที่แล้ว

    Very informative. I have one doubt why the survivor memory classified as two, both have same usage and purpose?

  • @saranthoughts9826
    @saranthoughts9826 9 หลายเดือนก่อน

    I am always follow your channel for java related , you rocking pls keep doing the good work. great sir!❤

  • @rajajain786
    @rajajain786 3 ปีที่แล้ว

    Hi Naveen, just want to know each application create own JRE on server memory? also what is difference between JVM and JMM?

  • @GauravSingh-ov9mh
    @GauravSingh-ov9mh 7 ปีที่แล้ว +3

    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!

  • @dinkarinjosh
    @dinkarinjosh 5 ปีที่แล้ว

    Any suggestion of a book for further reading and understanding this?

  • @sancharidas7532
    @sancharidas7532 3 ปีที่แล้ว

    What are JRE classes? The predefined classes or the ones which I have made ?? Someone help me understand please.

  • @anjaliaggarwal3884
    @anjaliaggarwal3884 2 ปีที่แล้ว

    What is created first a class or a stack

  • @swapnilgupta6028
    @swapnilgupta6028 6 ปีที่แล้ว +1

    Thank you so much Naveen but one Question, Cam you tell from which book you took reference ?

  • @aritrabhattacharya7722
    @aritrabhattacharya7722 2 ปีที่แล้ว

    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 :)

  • @sagars3332
    @sagars3332 4 ปีที่แล้ว

    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..

  • @bopon4090
    @bopon4090 4 ปีที่แล้ว

    Awesome video. I have one question do i need to run manual gc?

  • @SureshKumar-ul5ev
    @SureshKumar-ul5ev 5 ปีที่แล้ว +1

    Custom immutable store into which part of memory?

  • @dilipp007
    @dilipp007 6 ปีที่แล้ว +1

    One of the survivor memories will always be free..

  • @RoshniGupta-bl6ex
    @RoshniGupta-bl6ex 4 ปีที่แล้ว

    Hi Naveen,
    Very well explained! Can we get the pictorial view of this concept as explained in the video?

    • @naveenautomationlabs
      @naveenautomationlabs  4 ปีที่แล้ว

      Thanks for watching! But what do you mean by pictorial view of this concept?

  • @GurubabuJampala
    @GurubabuJampala 5 ปีที่แล้ว

    Memory Pool (Constant Pool) memory is available in Young Generation or Old Generation?

  • @shubhamtripathi6536
    @shubhamtripathi6536 5 ปีที่แล้ว

    which method block is stored in stack in case of method overriding?

  • @sanjanapanwar3844
    @sanjanapanwar3844 10 หลายเดือนก่อน

    method area is inside the permanent generation, so can we say that now method area is inside the metaspace

  • @_________________404
    @_________________404 4 ปีที่แล้ว +1

    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.

  • @tianhaozhao6774
    @tianhaozhao6774 2 ปีที่แล้ว

    Permanent Generation is replaced by Metaspace in jdk8. What's the difference

  • @jalalzoon4447
    @jalalzoon4447 6 ปีที่แล้ว

    Sir you have clear all concepts regarding java memory management. Thanks for your such great efforts in making video.

  • @bollywoodtrailers7913
    @bollywoodtrailers7913 4 ปีที่แล้ว

    It was really a very explanatory session.
    Got all the concept by this vesio

  • @JaikratSinghTariyal
    @JaikratSinghTariyal 6 ปีที่แล้ว +2

    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.

    • @MrVinnap
      @MrVinnap 6 ปีที่แล้ว +1

      Jaikrat Singh Tariyal yes ... I was about to ask this questions. Now pergen is removed completely...

  • @svecww
    @svecww 3 ปีที่แล้ว +1

    Thanku sir can u please share if u have any notes?

  • @aritrabhattacharya7722
    @aritrabhattacharya7722 2 ปีที่แล้ว

    This was really helpful. Thanks a lot.

  • @dinkarinjosh
    @dinkarinjosh 5 ปีที่แล้ว

    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)?

  • @prabhatpatnaik205
    @prabhatpatnaik205 4 ปีที่แล้ว +1

    really it is very nice video, after read this, I clear my concept on memory heap and stack. thank you navin.

  • @sourabhhsethii7292
    @sourabhhsethii7292 3 ปีที่แล้ว

    Thanks for sharing this knowledge!

  • @kamnijaiswal8060
    @kamnijaiswal8060 4 ปีที่แล้ว

    Permanent Generation is also part of Heap memory.

  • @ankit9953817851
    @ankit9953817851 5 ปีที่แล้ว

    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.

  • @mallikarjun-shurpali9698
    @mallikarjun-shurpali9698 2 ปีที่แล้ว

    Nice explanation sir..

  • @SeadoooRider
    @SeadoooRider 4 ปีที่แล้ว +1

    I really appreciate your effort Naveen. Thanks for video :)

  • @RanjithKumar-qj9mn
    @RanjithKumar-qj9mn 5 ปีที่แล้ว

    Thanks Naveen . I have a question is premgen is also part of stack memory

  • @AshutoshSingh-uc6nk
    @AshutoshSingh-uc6nk 3 ปีที่แล้ว +1

    Thankyou sir for this 🔥🔥🔥 explanation

  • @shankardayal6928
    @shankardayal6928 3 ปีที่แล้ว

    PermGen was part of Heap upto java 8.
    From java 8, it had been removed.

  • @kunalsinha5942
    @kunalsinha5942 3 ปีที่แล้ว

    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?

  • @nikhilkhatri1417
    @nikhilkhatri1417 5 ปีที่แล้ว

    Very informative and nicely presented. Just the keyboard noise is lill irretating.
    Please upload any video on Class loading with context of JRE.

  • @faisalsakib9810
    @faisalsakib9810 6 ปีที่แล้ว +1

    Thanks for such nice videos....can you please tell me after execution of a method... where the result is stored.???

  • @anushree3744
    @anushree3744 4 ปีที่แล้ว

    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 😒

  • @ahmadreza7508
    @ahmadreza7508 3 ปีที่แล้ว

    Thank you so much for creating such a helpful video

  • @ramyapalani6760
    @ramyapalani6760 5 ปีที่แล้ว

    Hats off sir..very good explanation..
    Pls continue this topic to cover garbage collection..

  • @nalithamsaisudha
    @nalithamsaisudha 2 ปีที่แล้ว

    great explanation 👏

  • @livefantastic2442
    @livefantastic2442 6 ปีที่แล้ว

    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.

  • @nutandas7828
    @nutandas7828 4 ปีที่แล้ว

    PermGen is replaced with metaspace after java 8 with better memory management and growable feature.

    • @naveenautomationlabs
      @naveenautomationlabs  4 ปีที่แล้ว

      Yes it got covered and updated ib this video: th-cam.com/video/4yKxJjYXZ0A/w-d-xo.html

  • @Priya1_123
    @Priya1_123 4 ปีที่แล้ว

    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

  • @ThishK
    @ThishK 7 ปีที่แล้ว

    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?

  • @madhulikaghosh3876
    @madhulikaghosh3876 6 ปีที่แล้ว +2

    Thankyou Naveen. This was so informational

  • @meditationandrelaxationmus741
    @meditationandrelaxationmus741 5 ปีที่แล้ว +1

    never found so detailed.... thanks a ton!

  • @parikshitraghav7543
    @parikshitraghav7543 5 ปีที่แล้ว +3

    I Like your efforts Naveen, Very very useful video for interview (I was asked these questions in mine!).

  • @jaserq
    @jaserq 4 ปีที่แล้ว

    Just thank you.. i relieved finally.. i ve been seaching this for years !!!

  • @arvindmv7166
    @arvindmv7166 3 ปีที่แล้ว

    Very informative, but I was looking for information regarding MetaSpace.

  • @sureshgply
    @sureshgply 6 ปีที่แล้ว

    Very good explanation for Memory management. Thanks Naveen

  • @sreevanireddy1325
    @sreevanireddy1325 4 ปีที่แล้ว

    Every Nice explanation sir, it's very clear to understand. Thank you sir.

  • @narainsankar
    @narainsankar 3 ปีที่แล้ว

    Great explanation..

  • @arunnagarindia
    @arunnagarindia 6 ปีที่แล้ว

    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??

  • @supriyakumari8552
    @supriyakumari8552 3 ปีที่แล้ว

    great information, fine details. :)

  • @mathiyarasu.tarasu6366
    @mathiyarasu.tarasu6366 5 ปีที่แล้ว

    Let's say we given 1 gb to 2 gb for JVM. How much memory will take each component?

  • @nishant2242
    @nishant2242 2 ปีที่แล้ว

    Great explanation

  • @RajanGupta-jf5mn
    @RajanGupta-jf5mn 4 ปีที่แล้ว

    Nice Naveen, very informative. :) by any chance any plans for a video explaining the metaspace concept also?

  • @zajuzam
    @zajuzam 2 ปีที่แล้ว

    Nice Explanation

  • @AhmedKhaled-he9mf
    @AhmedKhaled-he9mf 3 ปีที่แล้ว

    very very nice explain
    I become subscriber because this video

  • @shipraparihar6963
    @shipraparihar6963 5 ปีที่แล้ว +1

    Thanks Naveen for this amazing video. It is full of information and explained very clearly.

  • @nikitaojha8768
    @nikitaojha8768 3 ปีที่แล้ว

    Can you please explain the difference between java 7 and java 8 memory management .

  • @arijitbasu4397
    @arijitbasu4397 3 ปีที่แล้ว

    Such a quality content ❤️

  • @ayyapareddykandula8481
    @ayyapareddykandula8481 5 ปีที่แล้ว +1

    Excellent sir, thanks for the video

  • @saptarshi9433
    @saptarshi9433 5 ปีที่แล้ว

    Bro. As per java 8 permgen is part of Heap ..

  • @123deepakkakkar
    @123deepakkakkar 3 ปีที่แล้ว

    Is this java 7 model or java 8?

  • @mdrashidiqbal6599
    @mdrashidiqbal6599 5 ปีที่แล้ว

    But how we will differetiate which object will go young generation and which object will go old generation..and you didn't tell exactly global variable and local static variable store. Could you please calrify.

  • @DheerajKapoor-km3vb
    @DheerajKapoor-km3vb 3 ปีที่แล้ว

    we call a method , a method block is created what if we call another method from within a method
    a new method block will be created?? if yes, then where inside the same method block or outside that method block?

  • @namangoyal5578
    @namangoyal5578 4 ปีที่แล้ว

    Great Work, I searched so many videos but this is my final stop !!
    Appreciate the efforts you did to make this :)
    One doubt : Is permanent generation the part of Stack Memory ???