2. How Java Program Works and its 3 Important Components (JVM, JRE and JDK) with Example

Поділитися
Вставка
  • Опубліковано 30 січ 2025

КОМЕНТАРІ • 54

  • @ankitshaw_3060
    @ankitshaw_3060 Рік тому +42

    If any one wants to know why main method is void so the short answer is because it does not return anything but if you want to know in depth about why main method in java returns void but in C/C++ it returns 0, then this is the reason behind it :- The C and C++ program which return int from main method are processes of operating system . The int value returned from the main in C and C++ is exit code or exit status.
    Exit Code 0 --> means successful termination
    Exit Code non-zero ---> indicates an error
    The parent process of any child process keeps waiting for the exit status of the child and after receiving that exit status of child it clears up the child process from the process table and free the resources allocated to it . That is why it becomes mandatory for C and C++ program to pass their exit status . However, the java program runs as a main thread in JVM. The java program is not even a process of operating system directly this is why main method of java is not designed to return an exit status. However, JVM is a process of Operating system and JVM can be terminated with a certain exit status with help of System.exit(int status).

  • @someshsangwan3768
    @someshsangwan3768 9 днів тому +1

    Thanks bhaiya , Understood properly ... Currently working for a big company in Tokyo , tomorrow I will have an interview for Goldman sachs Tokyo !! wish me best luck

  • @priyam86f
    @priyam86f Рік тому +12

    Thankyou so much for this series. Why i am learning from you and not the big channels, because I see that experienced engineer in you,which even i look forward to be in the future. I believe, knowledge with experience is something really amazing. Currently preparing for my on-campus placements and this series is really helping. Just a question, if i buy your membership, are more JAVA videos available there? thanks.

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +1

      hi Priyam, with just 159rs, the whole playlist will get open, till now uploaded 28 videos of in depth java, and more going to add soon.

    • @chethannaik6333
      @chethannaik6333 Рік тому +1

      Hi priyam can you suggest good UA-cam channel for operating system, dbms and web development.

  • @ashishshandilya2286
    @ashishshandilya2286 Рік тому +4

    I am working from rival for PayPal, which until now written core components in c++, with influx from folks from PayPal we are now moving to Microservices. Hence forced to learn java and spring.Hope this one will ramp me up. :(. Thanks for the content.

  • @abhijittalukdar9429
    @abhijittalukdar9429 Рік тому +2

    undeerstood clearly.

  • @soumyasatish7941
    @soumyasatish7941 Рік тому +1

    Hi Shreyansh, which ide are you using in this video? Can you recommend an IDE for Windows?

  • @grrlgd3835
    @grrlgd3835 7 місяців тому +1

    excellent. great teaching

  • @leviuzumaki5059
    @leviuzumaki5059 11 місяців тому +1

    Nice

  • @arishsheikh3000
    @arishsheikh3000 11 місяців тому +2

    Please add exception handling

  • @fv5895
    @fv5895 Рік тому +5

    Nice lecture dude. One question: if JVM reads the code line by line and converts to machine code( which is a definition of an interpreter ), could you tell why is it called "Just in time compiler".

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +14

      Good question buddy:
      Let me try to explain:
      Generally JVM convert the bytecode to machine code using Interpretor.
      But internally JVM also maintains the counter for each method, and once it identifies that's particular method is called very frequently, it passes that method to JIT(just in time compiler).
      JIT has capability to do certain optimization (like removing dead code etc ) and another capability is Reusing of frequently used method machine code (not need to interpret again and again).
      So it helps in increasing the performance of JVM a lot and hence name JIT :)
      Hope it clear or we can discuss more

    • @fv5895
      @fv5895 Рік тому +1

      @@ConceptandCoding its clear :-). Thank you

    • @vallabhchugh2075
      @vallabhchugh2075 10 місяців тому

      good question. we need more such

  • @sumitbasu5146
    @sumitbasu5146 Рік тому +2

    Hi Srayansh, may be it is not a valid question but still let me ask it.
    If the jvm converts the bytecode to machine code and cpu will execute the machine code, then how JVM invokes/calls the main method at runtime? It should be CPU that calls the main method r8?

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +1

      Hi Sumit, Machine code is in binary form 0 and 1.
      CPU do not understand high level language or bytecode. It understand sequence of instructions in binary form 0 and 1. So calling main method is not possible for CPU as all instructions it's in 0 and 1 only.

    • @sumitbasu5146
      @sumitbasu5146 Рік тому

      My doubt is machine code will execute finally to display the output then at runtime with the machine code level why we are talking about "JVM will invoke the main method "?

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +1

      @@sumitbasu5146 sorry did not get it.
      Jvm is the one which invoke main method at Runtime and convert it to machine code (0 and 1) which CPU will execute directly.

    • @sumitbasu5146
      @sumitbasu5146 Рік тому +1

      Now I got it..Thank you so much 👍

    • @knowledgeascend
      @knowledgeascend Рік тому +6

      @@sumitbasu5146 JVM interprets bytecode line by line and converts it to machine code for execution, thus JVM calls main method, converts it into machine code and passes to cpu for execution.

  • @suryaprakash7980
    @suryaprakash7980 Рік тому +1

    bro, pls put a specific videos about jar, war and ear files

  • @akarshkumarsrit2518
    @akarshkumarsrit2518 Рік тому +1

    if my code doesnt use any java lib it would just need jvm to run right ?

  • @ManishVerma-si8nv
    @ManishVerma-si8nv Рік тому +1

    Hello Shrayansh,
    I have one doubt...If I have written a program in Java and wants to run it in a mobile phone...does the phone require JVM or JRE ???

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      There are Java emulator software you need buddy, through which you can run Java code on phone

    • @vyankateshkulkarni4374
      @vyankateshkulkarni4374 Рік тому

      in JRE , jvm will be there. you need JRE only to run bytecode

  • @sambhav07
    @sambhav07 7 місяців тому +1

    If jre already has class libraries then what is meant by "jdk has programming language"? jdk has compiler and debugger and that is a valid point but not able to understand difference between class libraries in jre and programming language in jdk?

    • @ConceptandCoding
      @ConceptandCoding  7 місяців тому +1

      umm, Programming Language (Java), Refers to the syntax, semantics, and core libraries used to write Java applications. The JDK provides the tools to write (using the language), compile, and debug Java code.

  • @vivekkumarsingh1276
    @vivekkumarsingh1276 3 місяці тому +1

    .java is platform dependent what i know.
    bytecode( .class file )is platform indpendent.
    Because byteocde only java is called platform independent laguage. please anyone confirm

  • @AnupTiwari-e7o
    @AnupTiwari-e7o 5 місяців тому

    Hi Shrayansh, Which drawing tool you are using?

  • @knowledgeascend
    @knowledgeascend Рік тому +1

    Hey Srayansh, Great video.
    Just a small query, does JRE contains bytecode of class libraries or will the java code contained in them will be converted to Byte code by java compiler ?

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +3

      Those libraries are already compiled and have .class files also. JVM does the linking and use them.

    • @knowledgeascend
      @knowledgeascend Рік тому

      Understood , Thanks!

  • @akhilbhatia7211
    @akhilbhatia7211 Рік тому +1

    can i have notes of these lecture for quick interview revision ?

  • @tawhidhassan8748
    @tawhidhassan8748 4 місяці тому +1

    great

  • @singhji4149
    @singhji4149 Рік тому +1

    For LLD WILL U ADD VIDEOS OF PAYMENTS APP AND FOODING APPS( ZOMATO SWIGGY DESIGN)

  • @yogendramaurya1741
    @yogendramaurya1741 Рік тому +2

    Started today, let's see how far I go.🤞

  • @Badalkumar-me9ok
    @Badalkumar-me9ok 7 місяців тому

    How to get the .class file from a .java file in eclipse

  • @pleasantdayNwisdom
    @pleasantdayNwisdom Рік тому +1

    Video 5 learning continues

  • @anishkr7888
    @anishkr7888 Рік тому +1

    Hi Anish here. Done with this video