Video není dostupné.
Omlouváme se.

#26 Stack And Heap in Java

Sdílet
Vložit
  • čas přidán 16. 01. 2023
  • Check out our courses:
    Enterprise Java Spring Microservices: go.telusko.com/enterpriseJava
    Coupon: TELUSKO10 (10% Discount)
    Master Java Spring Development : bit.ly/java-spring-cloud
    Coupon: TELUSKO20 (20% Discount)
    Udemy Courses:
    Java:- bit.ly/JavaUdemyTelusko
    Spring:- bit.ly/SpringUdemyTelusko
    Java For Programmers:- bit.ly/javaProgrammers
    For More Queries WhatsApp or Call on : +919008963671
    website : courses.telusko.com/
    In this lecture we are discussing:
    1) Memory management in java and typed of categories to store data in memory.
    2)What is stack ?
    3)What is heap ?
    4) where instance variable and local variable is allocated?
    #1
    In java we are managing our managing our memory using two data structure stack and heap.
    two categories to store data in memory:
    1) Stack data structure
    2) heap data structure
    #2
    Stack is data structure which follow LIFO(Last in First Out) principle.
    #3
    heap is data structure which is used to store data in form of object and object is a collection of data and method.
    #4
    class Student{
    int instVariable; //store in object and object created in heap
    public static void main(String []args){
    int localVariable=0; //local variable store in stack frame of method in stack area.
    Student st=new Student(); //st is reference variable store address of new Student() object
    }
    public int add(int num1,int num2){
    return num1+num2;
    }
    }
    -- instance variable stored in object and object are in heap therefore we can say that instance variable created in heap.
    -- method declaration and definition is present in object but actual implementation present in stack frame of stack.
    -- local variable created in stack during call of method.
    -- stack frame of called method is present in stack area.
    -- st is reference variable created inside the current stack frame and it is reference variable store address of student object created in heap area.
    -- new Student() create object in heap area and pointed by his reference variable.
    Github repo : github.com/navinreddy20/Javac...
    Java:- bit.ly/JavaUdemyTelusko
    Spring:- bit.ly/SpringUdemyTelusko
    More Learning :
    Java :- bit.ly/3x6rr0N
    Python :- bit.ly/3GRc7JX
    Django :- bit.ly/3MmoJK6
    JavaScript :- bit.ly/3tiAlHo
    Node JS :- bit.ly/3GT4liq
    Rest Api :-bit.ly/3MjhZwt
    Servlet :- bit.ly/3Q7eA7k
    Spring Framework :- bit.ly/3xi7buh
    Design Patterns in Java :- bit.ly/3MocXiq
    Docker :- bit.ly/3xjWzLA
    Blockchain Tutorial :- bit.ly/3NSbOkc
    Corda Tutorial:- bit.ly/3thbUKa
    Hyperledger Fabric :- bit.ly/38RZCRB
    NoSQL Tutorial :- bit.ly/3aJpRuc
    Mysql Tutorial :- bit.ly/3thpr4L
    Data Structures using Java :- bit.ly/3MuJa7S
    Git Tutorial :- bit.ly/3NXyCPu
    Donation:
    PayPal Id : navinreddy20
    www.telusko.com

Komentáře • 85

  • @spidermanhomecoming001
    @spidermanhomecoming001 Před rokem +44

    I just love you sir! I was confused for so long about heap and stack. Now its clear! U are a great teacher.

  • @MsSWAGboss
    @MsSWAGboss Před rokem +3

    Thank you for the video :) I just started going into interviews again and this helped me get back to speed on the topic cause I had forgotten so much stuff throughout the year as a junior dev

  • @ajiboladaniel9386
    @ajiboladaniel9386 Před 9 měsíci +8

    The best Java teacher I've ever encountered in my life. You are awesome sir. The understanding of the concept is sooo seamless. It's like a miracle. Thanks soo much.

  • @rushikeshbhujbal2480
    @rushikeshbhujbal2480 Před rokem +4

    you are really great,this content is really helpfull and thanks for the notes that you are providing in description.

  • @zr0724
    @zr0724 Před rokem +1

    wow , these tutorials are of next level for sure. thank you sir.

  • @thefriendlymartian7317
    @thefriendlymartian7317 Před 5 měsíci +2

    The best explanation anyone could ever give. As soon as I have a question in my mind, you call out that point and explain as if I asked the question in person. Just shows how perfectly the flow of the content is.

  • @kapiljain359
    @kapiljain359 Před 10 měsíci +3

    Really Nice explained. I am following Telusko since my collage time(2018). And now I am the Senior Software Developer in reputated Product company. Big Thanks Goes to Mr Naveen. Thank you Sir!
    I would like to request if you can make the playlist on AWS for Java Developers. It would be very helpful.

  • @chairma_prabhu
    @chairma_prabhu Před 10 měsíci

    Thank you Navin for providing quality content like this.

  • @mehedishuvo6257
    @mehedishuvo6257 Před 3 měsíci

    Well explained dear sir.Not only India but also all over the world students get benefited by your lecture,. This is a masterpiece that ever created by you.💜💜💜💜💜,,,,Love from Bangladesh dear sir.

  • @Shubham-si6hd
    @Shubham-si6hd Před rokem +1

    You are a life saver! Thank You

  • @ramenmanna6150
    @ramenmanna6150 Před rokem

    Great video sir 😊 understand concepts very well ! love you sir 🥳

  • @prakash1to7
    @prakash1to7 Před rokem

    Great way of delivery Sir. Really motivating to learn. Keep on Rocking Sir :-)

  • @ajuSiuuu
    @ajuSiuuu Před dnem

    100 times better than those paid courses

  • @MohdZaid-kv7yn
    @MohdZaid-kv7yn Před 11 měsíci +3

    Watching 2 hours before java developer interview

  • @bharathsajan8926
    @bharathsajan8926 Před 2 měsíci +1

    wonderfully explained thank you.

  • @moaazsuliman7584
    @moaazsuliman7584 Před rokem

    From Egypt Thank You Very Much

  • @hridikasaha9519
    @hridikasaha9519 Před 11 měsíci

    Excellent explanation

  • @sahinyusifli9756
    @sahinyusifli9756 Před rokem

    Thank you, it was so educative to me

  • @princeiiolaguera921
    @princeiiolaguera921 Před 7 měsíci

    Best course imo. Can you please create exercises so we can test our knowledge and skills so far? Thank you

  • @bahasahli4151
    @bahasahli4151 Před 6 měsíci

    Simply awesome thank you 🌼

  • @jackfrost8969
    @jackfrost8969 Před rokem

    excellent video.
    Keep it up.

  • @vishnusunil7446
    @vishnusunil7446 Před rokem

    Amazing video.. thank you.

  • @rosaliademartino7265
    @rosaliademartino7265 Před rokem

    nice and clear, thanks!

  • @valoranthighlights6374
    @valoranthighlights6374 Před měsícem

    great explanation . love it

  • @Coding-Just
    @Coding-Just Před rokem

    Navin sir it's totally clear thanks a lot and sir i have to join your Java backend course but Saturday is my college sir and it's 3rd year bca 7 to 12 time is not convenient sir

  • @HocineFerradj
    @HocineFerradj Před 22 dny

    U are a great teacher

  • @srushtishah8674
    @srushtishah8674 Před 5 měsíci

    When i asked my sir about instance variable he gave me such lame ans that I gave up on every being able to understanding it. Thanks!!

  • @sn0wball13
    @sn0wball13 Před 6 měsíci

    Thank you so much for this explanation!!!! :)

  • @marcos_silvestri
    @marcos_silvestri Před rokem

    Splendid!

  • @piotr2951
    @piotr2951 Před 3 měsíci +8

    No, we don't have multiple stacks (in a single thread), those are called frames. Those frames contain multiple data structures for storing local variables, operands, return addresses, constants.

  • @nasamind
    @nasamind Před 8 měsíci

    Simply awesome

  • @alexkuzmichev9051
    @alexkuzmichev9051 Před rokem

    nicely explained! by the way, what program do you use to draw?

  • @danurarya0823
    @danurarya0823 Před rokem +2

    Thanks for this sir, i like when you are describing how things work using a sketch.
    maybe it's just me but reading documentation that just only have text explanation is really confusing and to imagining it was really hard.

  • @anupam6045
    @anupam6045 Před měsícem

    best explanation sirr

  • @Trekshorts
    @Trekshorts Před 14 dny

    sir give us a quetion bank to practice this concepts, all quetions from basic to advance, so we can practice and implement the concepts or logic. your lectures are very easy to understand!! they are very helpful thank you!!!😃😃😃

  • @Avineshutube
    @Avineshutube Před měsícem

    excellent !!

  • @hdkzmsakao
    @hdkzmsakao Před 9 dny

    thank you sir

  • @unemployedcse3514
    @unemployedcse3514 Před 2 měsíci

    this channel gives trustworthy content where other's just do for content sake

  • @adora6860
    @adora6860 Před 7 měsíci

    maraming salamat tol

  • @uchihasenpai5671
    @uchihasenpai5671 Před rokem +1

    Shouldn't obj be created after DATA in the stack? I mean should not OBJ be above data?

  • @afsirlaghari3738
    @afsirlaghari3738 Před rokem

    Love you Naveen sir, from Pakistan.

  • @HarshPatel-so7gl
    @HarshPatel-so7gl Před 6 měsíci

    incredible

  • @minote8t451
    @minote8t451 Před 6 dny

    Hi sir , i have a question . We all know that if we wanna create an object we need to use the new keyword for that , if we don't it won't use a different part of memory ! But the question is , so why we can create a copy constructor in a class without using that new keyword and still have a different area of memory which is not gonna effect the main object ?
    I would be glad if you answer me , and thanks for your great teaching skills !

  • @rajnishchoubey2246
    @rajnishchoubey2246 Před 10 měsíci

    Sir with reference to memory allocation in java can u plzz specify which of the variables have static memory allocation and which one has dynamic allocation and why

  • @srinivasmb-re8km
    @srinivasmb-re8km Před rokem +3

    Where static variables are stored?
    static int in = 10;

  • @-RimuruTempest
    @-RimuruTempest Před rokem

    Hi, I have one doubt. What about the add method in stack? If we create two objects then the is there two add stack?

  • @user-ql5pe3xc3p
    @user-ql5pe3xc3p Před 6 měsíci

    I became a diehard fan for you sir ❤ love you and love your teachings sir

    • @user-ql5pe3xc3p
      @user-ql5pe3xc3p Před 6 měsíci

      Thank You SIR ✨
      This is my status today 🫴 ✨
      Thank You SIR 💫

  • @shyamchowdary5086
    @shyamchowdary5086 Před 8 měsíci

    I have a doubt. When we write a local variable in Java. It automatically allocates memory or it allocates after compilation? Please someone address this.

  • @aaaeditzforever
    @aaaeditzforever Před 9 měsíci

    Super

  • @actandrepeat
    @actandrepeat Před rokem

    Wow!

  • @FEJAYACHANDRANK
    @FEJAYACHANDRANK Před rokem

    I have one doubt what if the class is static ... we cant create instance right at the case how is memory allocated

  • @ganesang7217
    @ganesang7217 Před 5 měsíci

    I understand clearly, it's not an object. It's a reference type.like Car c = new Car() c is reference type, correct or not

  • @saumyojitdas4212
    @saumyojitdas4212 Před 10 měsíci

    public class Main
    {
    String s = "ABC";
    public static void main(String[] args) {
    Main obj = new Main() ;
    System.out.println(obj.s);
    }
    }
    in this above code String object is created in heap and also of class.
    So 2 objects in heap.
    But isn't the string object Abc resides inside class object in the heap?that's why we are calling it obj.s

  • @congdatt
    @congdatt Před 4 měsíci

    Stack:
    - Store local variables
    - Address of obj ( obj store in HEAP )
    Heap:
    - Store obj. Have 2 sections: instance variables & .... (add(),....)
    Every method have own stack

  • @keinsent
    @keinsent Před 3 měsíci

    tqsmomg

  • @Ounknown098
    @Ounknown098 Před rokem

    i am comming from pw skills to watch full memory alliocaion

  • @abhiroy1993
    @abhiroy1993 Před rokem

    Will the 'add' method stack be reused for the 2 different objects or will it create a new 'add' method stack for obj1?

    • @Krishna_script
      @Krishna_script Před 11 měsíci

      the new obj1 will reuse the add method which is there in the stack

    • @saumyojitdas4212
      @saumyojitdas4212 Před 10 měsíci

      ​@@Krishna_scriptpublic class Main
      {
      String s = "ABC";
      public static void main(String[] args) {
      Main obj = new Main() ;
      System.out.println(obj.s);
      }
      }
      in this above code String object is created in heap and also of class.
      So 2 objects in heap.
      But isn't the string object Abc resides inside class object in the heap?that's why we are calling it obj.s

  • @abhishekmb7690
    @abhishekmb7690 Před rokem +1

    Where the memory will be allocated for static members and static methods sir

  • @partoon863
    @partoon863 Před 11 měsíci

    If you guide us in Hindi we understand it more clearly

  • @papo7936
    @papo7936 Před 11 měsíci

    Could you replicate this video for python too?

  • @ashutoshraj8668
    @ashutoshraj8668 Před 10 měsíci +1

    But sir methods of objects are stored in method area😢

  • @jatinsharma3792
    @jatinsharma3792 Před 10 měsíci

    You beauty !!

  • @ummersiddique
    @ummersiddique Před 28 dny

    Which device is he using for drawing?

  • @YuvarajRoll
    @YuvarajRoll Před 9 měsíci

    Sir how to get input from users in java

  • @mohokhachai
    @mohokhachai Před 11 měsíci

    Thier values is null

  • @mohokhachai
    @mohokhachai Před 11 měsíci

    Scope

  • @mohokhachai
    @mohokhachai Před 11 měsíci

    Entry point

  • @rajattalreja9740
    @rajattalreja9740 Před rokem

    One question - Exactly when is a stack created? When the method is created of when the method is called?

    • @sachinkhatri1077
      @sachinkhatri1077 Před rokem

      I think stack memory allocated at run time. So it created when mehod is called. Thats why we get stackoverflow error at runtime instead of compile time.

    • @banujan.b2479
      @banujan.b2479 Před 6 měsíci

      To be more specific the entire program has a stack. But when you call a method, each method creates a stack-frame in the stack.

  • @banujan.b2479
    @banujan.b2479 Před 6 měsíci

    Each method has own stack or stack-frame? 🙄

  • @muthukumarthangapandian8434

    both objects having same address only. if car1 =car2
    class Car
    {
    String name;
    int cost;
    double mileage;
    }
    public class PassByReference {
    public static void main(String arg[])
    {
    Car car1 =new Car();
    System.out.println(car1.name);
    System.out.println(car1.cost);
    System.out.println(car1.mileage);
    car1.name="bmw";
    car1.cost=1_00_0000;
    car1.mileage=17.5;
    System.out.println(car1.name);
    System.out.println(car1.cost);
    System.out.println(car1.mileage);
    Car car2=car1;
    System.out.println(car2.name);
    System.out.println(car2.cost);
    System.out.println(car2.mileage);
    car2.name="honda";
    car2.cost=1_00_000;
    car2.mileage=18.5;
    System.out.println(car2.name);
    System.out.println(car2.cost);
    System.out.println(car2.mileage);
    System.out.println(car1.name);
    System.out.println(car1.cost);
    System.out.println(car1.mileage);
    System.out.println( car1.hashCode());
    System.out.println( car2.hashCode());
    System.out.println(car1);
    System.out.println(car2);
    }
    }

  • @ehteerk
    @ehteerk Před 11 měsíci

    An instance variable is a variable that is specific to a certain object. It is declared within the curly braces of the class but outside of any method. The value of an instance variable can be changed by any method in the class, but it is not accessible from outside the class

  • @mohokhachai
    @mohokhachai Před 11 měsíci

    Thier only one main entry function

  • @RamSingh-bi9tc
    @RamSingh-bi9tc Před měsícem

    But damaging one phone affect the user heart

  • @navingautam8878
    @navingautam8878 Před rokem

    same name haha

  • @khanhgiapham-mi4hg
    @khanhgiapham-mi4hg Před rokem

    please speak English sir

  • @mr.islam777
    @mr.islam777 Před 10 dny

    Your teaching style not so good . Please explain more clearly

  • @ahmedyoussef7923
    @ahmedyoussef7923 Před 25 dny

    Java does not have multiple call stacks per thread. Each thread has a single call stack that tracks method invocations and local variables.