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

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

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

  • @ankitshaw_3060
    @ankitshaw_3060 11 หลายเดือนก่อน +36

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

    • @jupitertheinvincible7998
      @jupitertheinvincible7998 11 หลายเดือนก่อน +1

      Thank you for sharing!

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

      www.youtube.com/@thecoderstv22

    • @sandeepkosta5750
      @sandeepkosta5750 5 หลายเดือนก่อน

      Thanks a ton for sharing this.

    • @PK-xv4bg
      @PK-xv4bg 2 หลายเดือนก่อน

      are you brother of D E Shaw? (its pun)

  • @priyam86f
    @priyam86f ปีที่แล้ว +10

    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 11 หลายเดือนก่อน +1

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

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

    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.

  • @leviuzumaki5059
    @leviuzumaki5059 8 หลายเดือนก่อน +1

    Nice

  • @grrlgd3835
    @grrlgd3835 5 หลายเดือนก่อน +1

    excellent. great teaching

  • @arishsheikh3000
    @arishsheikh3000 9 หลายเดือนก่อน +2

    Please add exception handling

    • @ConceptandCoding
      @ConceptandCoding  9 หลายเดือนก่อน +1

      already there in the playlist

  • @suryaprakash7980
    @suryaprakash7980 10 หลายเดือนก่อน +1

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

  • @tawhidhassan8748
    @tawhidhassan8748 2 หลายเดือนก่อน +1

    great

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

    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  ปีที่แล้ว +12

      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 7 หลายเดือนก่อน

      good question. we need more such

  • @soumyasatish7941
    @soumyasatish7941 10 หลายเดือนก่อน +1

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

  • @AnupTiwari-e7o
    @AnupTiwari-e7o 3 หลายเดือนก่อน

    Hi Shrayansh, Which drawing tool you are using?

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

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

  • @pleasantdayNwisdom
    @pleasantdayNwisdom 11 หลายเดือนก่อน +1

    Video 5 learning continues

  • @sambhav07
    @sambhav07 5 หลายเดือนก่อน +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  5 หลายเดือนก่อน +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.

  • @akhilbhatia7211
    @akhilbhatia7211 11 หลายเดือนก่อน +1

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

    • @ConceptandCoding
      @ConceptandCoding  10 หลายเดือนก่อน +2

      i will try to add in description section

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

      www.youtube.com/@thecoderstv22

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

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

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

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

    Hi Anish here. Done with this video

  • @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!

  • @Badalkumar-me9ok
    @Badalkumar-me9ok 4 หลายเดือนก่อน

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

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

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

  • @vivekkumarsingh1276
    @vivekkumarsingh1276 27 วันที่ผ่านมา

    .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

  • @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