JVM ( java virtual machine) architecture - tutorial

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 523

  • @vyshnavramesh9305
    @vyshnavramesh9305 11 месяцев назад +8

    0:49 Edit .java -> compile .java -> run .class
    3:33 JVM breakdown
    4:14 Class loader: load (bootstrap (rt.jar), extension (jre/lib/ext), application (classes we write))
    6:59 Class loader: link (verify bytecode, prepare memory allocation for static variables, resolve nested references of a class)
    10:02 Class loader: initialize (of static variables, static blocks)
    11:09 ClassNotFoundException and ClassDefNotFoundException
    12:38 Runtime Data area
    13:01 Method Area / Permgen space / Metaspace (class data like static variables)
    16:16 Heap (object data)
    17:41 Program Counter Register: pointer to next instruction to be executed per thread
    18:35 Java Stacks: stack frame of currently running method per thread
    20:16 Native method stack: for running non-java methods called from java methods running in Java Stack (per thread)
    24:09 Execution engine: GHIJ (Garbage Collector, Hotspot Profiler, Interpreter, JOT Compiler)
    24:26 Interprets and executes the bytecode/instruction
    25:52 JIT Compiler: Bytecodes that are repeated, called hotspots, are saved from re-interpretation. On the fly compiles them and make them ready for execution
    26:27: Hotspot Profiler: graphically analyses the all the bytecodes and helps JIT compiler
    27:36 Recap
    26:57 Garbage Collector: cleans up unused classes, objects and memory areas.

  • @devsatg
    @devsatg 6 лет назад +33

    Man, I have already watched this video like 5 times and I keep coming back to refresh. Kudos

  • @eswarprasad9773
    @eswarprasad9773 6 лет назад +29

    Thanks for this video,
    I cleared 3 rounds of interview and got rejected in the final round because I couldnt explain memory management in jvm
    yes companies in india do ask about jvm.this video will help me for my next interview.

  • @jvsnyc
    @jvsnyc 4 года назад +14

    This is still great after 5+ years. The Bootstrap loading is somewhat different in the most recent versions of Java, they broke up rt.jar into modules which aren't covered here because they didn't exist back in Java 8...

  • @tatyanav8326
    @tatyanav8326 Год назад

    despite slightly outdated it's one of the best videos I've went through, perfect to start with

  • @akshatvashishtha4626
    @akshatvashishtha4626 7 лет назад +9

    Hi Ranjith this the most absolute extent about internal working of JVM.. Your work is reverence.. Such a deep & cultured explanation on JVM.. Generally, I never write on anything but your video convinced me to share my thoughts.. Great work, it's too helpful..

  • @dmitrikonnov922
    @dmitrikonnov922 2 года назад +2

    Matter of fact, to know how jvm works is terrifically important, this topic hasn't been covered enough though unlike all other fancy stuff. Thumbs up!

  • @baobozo
    @baobozo 9 лет назад +19

    Great tutorial man~ Best thing I've ever found to have JVM explained so clearly in such a simple way.

  • @hp354
    @hp354 9 лет назад +5

    Sir, Thank you for sharing your deep insight on this subject. After several years of struggling through understanding JVM concepts, this video today has finally helped me!!!

  • @UntamedRogueMavrick
    @UntamedRogueMavrick 3 года назад +1

    Thanks a lot, bro, for keeping very much area for the ppt, and a small window for yourself. If Modi would be presenting the same, it would be vice versa..

  • @javedakhtar-om2hb
    @javedakhtar-om2hb 8 лет назад

    Lovely Presentation with key points of the JVM architecture.

  • @enjoywithvivin3379
    @enjoywithvivin3379 6 лет назад

    Excellent and very helpful to explore lot about JVM. Thanks.

  • @byronwang5539
    @byronwang5539 6 лет назад

    Easy to understand. This is what I am looking for. thanks to Ranjith for your sharing

  • @abhijitsarkar482
    @abhijitsarkar482 2 года назад

    Excellent video on the internal structure and workings of jvm.
    Thanks a lot

  • @AbdelmuniemAbdallah
    @AbdelmuniemAbdallah 9 лет назад +13

    Well Explained in a simple way, I have understood now how JVM is working.
    Thanks a lot.

    • @ranjithramachandran5928
      @ranjithramachandran5928  9 лет назад +1

      Abdelmuniem Abdallah - Thanks, feel free to ping me if you have any questions.

  • @shreyapatil4471
    @shreyapatil4471 4 года назад +2

    great tutorial.. explained every detail.

  • @smuralimohan1
    @smuralimohan1 9 лет назад +30

    Excellent video... never seen a better one on JVM. Thanks a lot!

  • @arnabthakuria2243
    @arnabthakuria2243 4 года назад

    Amazing tutorial , sir . Thanks for sharing your knowledge.

  • @nektariosmusic
    @nektariosmusic 8 лет назад

    You are the best Java tutor I have come across in my 18 years of Java experience! Thank you!

    • @nagirner
      @nagirner 8 лет назад

      Completely agree with Nektarios (my long time colleague). One of the best presentation in Java basics. No water, up to the point, informative, accurate and very good presentation pictures. Will recommend to all my friends/colleagues working with Java. Thank you!

  • @andytube07
    @andytube07 3 года назад

    Thanks a lot Mr. Ramachandran...for sharing your knowledge. Why I see only 5 years old videos. But create and sharing such more informative videos.

  • @mail2mahendran
    @mail2mahendran 9 лет назад

    Awesome presentation with all the images. Thanks and awaiting more of your videos.

  • @sreenivasuludoniparthi7534
    @sreenivasuludoniparthi7534 8 месяцев назад

    It's amazing tutorial and great explanation

  • @SMARTARIX
    @SMARTARIX 8 лет назад

    Awesome Video, thanks for sharing it.

  • @jlestua
    @jlestua 9 лет назад +1

    thank you very much for your great explanation it has been very useful to understand how JVM works. congratulations for your video.

  • @appapujari
    @appapujari 9 лет назад

    Great explanation ..Thanks for sharing this video .

  • @swapnilpuri
    @swapnilpuri 9 лет назад +1

    Very well explained. Thanks for creating and sharing the Video.

  • @GeoPoliticsCollection
    @GeoPoliticsCollection 9 лет назад +1

    Awesome, beautifully and crisply explained. Thanks so much.

  • @vivekjacas3425
    @vivekjacas3425 8 лет назад

    I like the way u teach. Clean and Simple.
    Best way to learn
    Thank you

  • @rameshyakkala1
    @rameshyakkala1 7 лет назад

    awesome...its nice video to understand the internals of java class loading

  • @balajikalavakollu4134
    @balajikalavakollu4134 9 лет назад +1

    Very simple, nice and easily understandable... thanks for sharing.

  • @chethans279
    @chethans279 9 лет назад

    It helped me to understand a pretty well about the JVM Architecture .its simple,clean and crispy explanation . Thanks you.

  • @rahulpatil5897
    @rahulpatil5897 9 лет назад

    very good explained sir all dout clear no 1 video thanks so much

  • @madad.moraru5166
    @madad.moraru5166 5 лет назад

    Excellent video, very well done explanation. Thaks!

  • @karthikkumar9279
    @karthikkumar9279 8 лет назад

    very well explained and easy to follow your teaching. Keep posting other topics and it will be great use

  • @sham1796
    @sham1796 5 лет назад

    Sir very good explanation of JVM functionality, please post more videos for enhancing my knowledge

  • @mileshoo2873
    @mileshoo2873 6 лет назад

    VERY VERY VERY useful tutorial, THANKS A LOT...

  • @nihanthdara
    @nihanthdara 9 лет назад

    Good Presentation for understanding the memory of JVM.

  • @vivsameer
    @vivsameer 7 лет назад

    The best explanation of JVM I ever heard.

  • @abhisheknag6689
    @abhisheknag6689 9 лет назад

    excellent presentation and explanation. thank you very much for the lesson.

  • @samirpanchal5883
    @samirpanchal5883 2 года назад

    your channel helped me understood some important concepts of java, Thanks for your support and keep educating people around.

  • @utkarshkdave
    @utkarshkdave 5 лет назад +1

    Wonderful. What a explaination. All and all, perfect. That helped me a lot understanding the actual JVM, one of the areas on which i have been working since several years now

  • @neerajjassal8750
    @neerajjassal8750 6 лет назад

    Pretty nice explanation ... Thanks for sharing your hardwork

  • @deepikar6472
    @deepikar6472 9 лет назад +16

    An amazing video Ranjith! Just what I was looking for!! But I have few questions that are requesting some insights :
    1) Does loading bytecodes into memory == simply copying them to RAM for further processing?
    2) In the class loader -> "verify" step, what are the examples of "bad/invalid" bytecode? What error is raised if the bytecode is not valid?
    3) In class loader -> "Prepare step", what is the intent behind performing memory allocation for class member variables and later assign the values for static ones?
    4) In Application loader aren't the different class files created by us required to be given if not existing in the current same directory? So if the classes are already loaded in the Application Loader phase, what happens in the "Resolve" phase?
    5) Does interpreter convert bytecode to macine code? And JIT caches the frequent machine codes?
    6) Could Native method calls be the calls to OS to allocate memory, handle resources? If no, what are some examples ?
    I know these are too many but please help out!!

    • @ranjithramachandran5928
      @ranjithramachandran5928  9 лет назад +2

      +Deepika R Very good questions. I have replied separately.

    • @naraharibabukannemadugu2724
      @naraharibabukannemadugu2724 9 лет назад +1

      +Ranjith ramachandran can you just share those answers with me as well.?
      thanks

    • @javedakhtar-om2hb
      @javedakhtar-om2hb 8 лет назад +3

      +Ranjith ramachandran Could you share to me the same. it is better if you can replied publicly which is useful to all . Thanks in advance.

    • @dhananjaykumarsingh8057
      @dhananjaykumarsingh8057 8 лет назад

      +Deepika R +Ranjith ramachandran , Please share that answer with me also.

    • @nandakumar1990
      @nandakumar1990 8 лет назад

      +Ranjith ramachandran Can you share the answers to me?

  • @manasranjan4
    @manasranjan4 7 лет назад

    Really very nice ... thanks for sharing this.

  • @harshitagrawal6299
    @harshitagrawal6299 7 лет назад

    Awesome lecture on JVM Architecture..

  • @PavanKumar-yj8fu
    @PavanKumar-yj8fu 3 года назад

    It was a great lecture on JVM, thank you very much for the video.

  • @thalathotitharunprabhakar3390
    @thalathotitharunprabhakar3390 3 года назад

    Thank you for the detailed explanation of the JVM. It helped me a lot to understand JVM.

  • @ambareeshreddy5289
    @ambareeshreddy5289 8 лет назад

    Awesome explanation of JVM internals.

  • @akshayyhakrishnamurthy7319
    @akshayyhakrishnamurthy7319 Год назад

    One of the best videos with clear explanation. Helps me understand the basics. Thank you for making this video. Its really helpful! Good work...

  • @hassankalaldeh8408
    @hassankalaldeh8408 6 лет назад

    Excellent tutorial to understand JVM arch. Thanks!

  • @VinothkumarJayandiran
    @VinothkumarJayandiran 5 месяцев назад

    Thanks Ranjith for the detailed explanation. Appreciate it.

  • @Aditya-yn5lk
    @Aditya-yn5lk 2 года назад

    Great explaination of JVM architecture. Diagram also looks familiar to me from "Inside java virtual machine." I was in need of this video.

  • @shrikantjesu3665
    @shrikantjesu3665 7 лет назад

    Thank you for excellent explanation. You articulated lecture about JVM in proper format and lucidly which helps us to understand what exactly JVM does under the hood. Loved your session.

  • @mayurkarote785
    @mayurkarote785 4 года назад

    This is probably one of best way to explain. Thanks Ranjit.
    Along with the explanation, Ranjit has covered many troubleshooting areas that is a practically relating us to understand better. This is the Best part of video.

  • @vttest01
    @vttest01 9 лет назад

    Awesome video...it explains in a very simple way. Thanks for sharing this.

  • @vishalbahekar
    @vishalbahekar 9 лет назад

    Very precise presentation on JVM architecture

  • @dhananjaykumarsingh8057
    @dhananjaykumarsingh8057 8 лет назад

    Nice Explanation, thank you very much

  • @RanjitRajD
    @RanjitRajD 9 лет назад +3

    Simple words explained very complicated architecture.
    Thanks for your good effort. Keep going. We are now big fan of your videos.

  • @derringerbilly
    @derringerbilly 8 лет назад +1

    Very good explanation! I liked all of the simple visuals. Thank you.

  • @MrRamesh940
    @MrRamesh940 5 лет назад

    Excellent presentation. very well explained .Thank a lot.

  • @shashankneema4307
    @shashankneema4307 8 лет назад

    Very good explanation of JVM architecture!!!

  • @kvr6031
    @kvr6031 6 лет назад

    Nice Explanation. Many Thanks for your effort

  • @Mohamed-uf5jh
    @Mohamed-uf5jh 3 года назад

    Excellent , every java programmer must watch ! Thanks Sir!!!!

  • @yungesqargo1493
    @yungesqargo1493 5 лет назад

    The detail in explanation was no-less than perfect ... Reference invoking with class and study materials -Thanks

  • @MLprabuddhafernando
    @MLprabuddhafernando 7 лет назад

    very nice video.. so simply understand everything

  • @reviliant
    @reviliant 7 лет назад

    Very nice...thanks for sharing!

  • @thomasisrael5334
    @thomasisrael5334 8 лет назад

    Nice very good way of explaning

  • @vivekchaudhary643
    @vivekchaudhary643 6 лет назад

    Great work done...Excellent Explanation Ranjith !! Please share below questions answers asked by Deepika .
    +Deepika R +Ranjith ramachandran , Please share answers publicly.It will help all of us .
    1) Does loading bytecodes into memory == simply copying them to RAM for further processing?
    2) In the class loader -> "verify" step, what are the examples of "bad/invalid" bytecode? What error is raised if the bytecode is not valid?
    3) In class loader -> "Prepare step", what is the intent behind performing memory allocation for class member variables and later assign the values for static ones?
    4) In Application loader aren't the different class files created by us required to be given if not existing in the current same directory? So if the classes are already loaded in the Application Loader phase, what happens in the "Resolve" phase?
    5) Does interpreter convert bytecode to macine code? And JIT caches the frequent machine codes?
    6) Could Native method calls be the calls to OS to allocate memory, handle resources? If no, what are some examples ?

  • @harikrishnab4937
    @harikrishnab4937 9 лет назад

    Explained very good. Thanks

  • @guntassingh1
    @guntassingh1 5 лет назад

    Excellent tutorial .... haven't come across something so comprehensive on JVM so far

  • @AdigoThierry
    @AdigoThierry 7 лет назад

    the best video and best explanation on JVM i've watched so far... you are a great teacher dude... thanks

  • @vaibhavsingh144
    @vaibhavsingh144 9 лет назад

    Thanks a lot for such a crystal clear explanation of JVM and it's execution

  • @lifeisfun9
    @lifeisfun9 Год назад

    Thankyou for such excellent video. Its the best.

  • @craftworld703
    @craftworld703 6 лет назад

    nice video ..i got an information what i want by this video ..thank you..

  • @knight_rider007
    @knight_rider007 6 лет назад

    very good explanation please post more videos on java

  • @isaaczhu9223
    @isaaczhu9223 6 лет назад +1

    An excellent, detailed, on-point overview of the JVM. Great work!

  • @andriyyarish8628
    @andriyyarish8628 6 лет назад

    Very valuable video, thank you

  • @majidzolfaghari630
    @majidzolfaghari630 7 лет назад +2

    Thanks Ranjith! This is one of the best presentations (in any area) that I have seen! You avoid mistakes that many technicians do when they present. Masterful!

  • @siddharthdg
    @siddharthdg 8 лет назад

    Thanks really crisp and insightful content ...

  • @DershiTsi
    @DershiTsi 7 лет назад

    Very helpful video! Thank you!

  • @okavari5940
    @okavari5940 9 лет назад

    Thanks, well broken down explanation of JVM.

  • @marcinkurek2950
    @marcinkurek2950 3 года назад

    Best explanation of JVM architecture in consice manner. Thank You! Shame that You stopped producing videos though.

  • @nawnitsen7771
    @nawnitsen7771 5 лет назад

    couldn't ask for ymore simpler way.. you are a life savor.. thanks man!!

  • @NikhilKumar-fj2dg
    @NikhilKumar-fj2dg 7 лет назад

    Fabulous explanation sir it's very helpful too Thank you for making this excellent video

  • @debasishpatnaik294
    @debasishpatnaik294 2 года назад

    Very resourceful and well explained !!!

  • @RGWorld148
    @RGWorld148 8 лет назад

    Very useful ... watched multiple times to explain like you .. inspired me..

  • @mlevidigeri
    @mlevidigeri 2 года назад

    Very informative video.. good work

  • @kuldeepmishra6742
    @kuldeepmishra6742 7 лет назад

    Very good explanation of JVM.

  • @ramukoneti8446
    @ramukoneti8446 6 лет назад

    Hi Ranjith, thanks for sharing this information and it gives more insight on how JVM works.

  • @rohitkr.maurya6917
    @rohitkr.maurya6917 5 лет назад

    Thanks Ranjith for putting your effort to create such a knowledgeable lecture...

  • @S__Khan__
    @S__Khan__ 7 месяцев назад

    Thanks Ranjith. Quite clear and in-depth explanation.

  • @hasitha7880
    @hasitha7880 4 года назад

    Excellent tutorial. Subscribed.

  • @jaganr5725
    @jaganr5725 8 лет назад

    Very good explanation..expecting more videos

  • @vamsi0406
    @vamsi0406 9 лет назад

    excellent video...thank u very much...

  • @lijoysam5516
    @lijoysam5516 7 лет назад

    You got a very good teaching and presentation skills. Thumbs up to the awesome video !

  • @ganesh2182
    @ganesh2182 8 лет назад +4

    Excellent presention Mr. Ramachandran.. Exactly what i was looking for.
    Thanks again n again.!

  • @saishanaik4078
    @saishanaik4078 3 года назад +1

    Why did you stop making videos? Yours is one of the best content i have seen on youtube....

  • @tejasthacker178
    @tejasthacker178 8 лет назад

    Thank you for uploading videos. very well explained.

  • @pk61435
    @pk61435 7 лет назад

    This is the best explanation I've seen on this topic so far! Huge thanks to you!

  • @lovelysaxena7599
    @lovelysaxena7599 6 лет назад

    Thanx a lot for this amazing video.