JVM (1) JVM Internals : What does JVM do?

 

 Some basic concepts:

What is the difference between JVM, JRE, and JDK

JVM:  Java Virtual Machine 

   It Provides Runtime Environment in which Java bytecode can by executed,

   Tasks of JVM :  Loads Code 

          Verifies Code 

          Executes Code 

          Provides Runtime Environment

          JVM is platform dependent, i.e for each software and hardware we have different JVM configuaration

          JVM does not exists physically, it is abstract in nature.

 

JRE: It stands for Java Runtime Environment. 

 

 

   JRE->  JVM + Set of libraries 

      It is the implementation of JVM

      To run any java code JRE is minimum required. 

      JRE contains set of libraies that JVM uses at runtime

      JRE physically exists.

      JRE is platform dependent.

 

JDK: 

 

JDK stands for Java Development Kit

JDK -> JRE+Development Tools

it is a full featured Software Development Kit 

It contains JRE+Development Tools (Debugger + Compiler + JavaDoc etc)

To Conclude :

  

 

JVM Internals : What does JVM do?

 

when we write and execute a java code, below are some of the common way we do that. 

 

 

And below is how JVM instance load and excecute our class files. 

Class Load is responsible for loading our .class file , which in above example is MyApp.class, it is also responsible for loading some of the built-in .class files 

 

 

 

 Class Loading SubSystem has three main faces:

Load: 1. Bootstrap class Loader

   2. Extension Class Loader

   3. Application Class Loader

Link:    1. Verify:  

     2. Prepare:

     3. Resolve:

Initialize

 

 

 

 

posted @ 2019-07-17 17:20  CodingYM  阅读(167)  评论(0编辑  收藏  举报