JDK ; JRE ; JVM

EXPLAIN JDK ;

> A like ,JDK is Java Development Kit which includes all the tools.

> executable and binaries required to compile, debug and execute a Java Program.

> JDK is platform dependent i.e there is separate installers for Windows, Mac, and Unix systems.

> JDK includes both JVM and JRE and is entirely responsible for code execution.

> It is the version of JDK which represent version of Java.

EXPLAIN JRE ;

>Another one,JRE is Java runtime environment which is the implementation of JVM .

> the specifications which are defined in JVM are implemented and creates corresponding environment for the execution of code.

> JRE comprises mainly java binaries and other classes to execute the program .

> A like of JVM it physically exists. Along with Java binaries JRE also consist of various technologies of deployment.

> user interfaces to interact with code executed, some base libraries for different functionalities and language and util based libraries.

EXPLAIN JVM ;

> Another one, Java virtual machine which is basically specification that provides a runtime environment .

> In which Java byte code can be executed .

> it is something which is abstract and its implementation is independent .

> the algorithm and has been provided by Sun and other companies.

> It is JVM which is responsible for converting Byte code to the machine specific code.

> It can also run those programs which are written in other languages and compiled to Java bytecode.

> The JVM performs the mentioned tasks: Loads code, Verifies code, Executes code, Provides runtime environment.

JVM ARCHITECTURE ;

# CLASS LOADER ;

> Classloader is a subsystem of JVM which is used to load class files.

> Whenever we run the java program, it is loaded first by the classloader.

1. BOOTSTRAP CLASS LOADER

2. EXTENSION CLASS LOADER

3. SYSTEM CLASS LOADER

METHOD AREA ;

> Class(Method) Area stores per-class structures.

> such as the runtime constant pool, field and method data, the code for methods.

HEAP ;

>It is the runtime data area in which objects are allocated [Created].

STACK ;

> It holds local variables and partial results, and plays a part in method invocation and return.

> Each thread has a private JVM stack, created at the same time as thread.

> A new frame is created each time a method is invoked.

> A frame is destroyed when its method invocation completes.

PROGRAM COUNTER RESISTER ;

> PC… (program counter) register contains the address of the Java virtual machine instruction currently being executed.

NATIVE METHOD STACK ;

>It contains all the native methods used in the application.

EXECUTION ENGINE ;

> virtual processor.

> Interpreter Read bytecode stream then execute the instructions.

JUST IN TIME ;


> JIT compiler ,It is used to improve the performance.

> JIT compiles parts of the byte code that have similar functionality at the same time.

> And hence reduces the amount of time needed for compilation.

> Here, the term “compiler” refers to a translator.

> the instruction set of a Java virtual machine (JVM) to the instruction set of a specific CPU.

JAVA NATIVE INTERFACE ;

> Java Native Interface (JNI) is a framework.

> which provides an interface to communicate with another application written in another language .

> A like C, C++, Assembly etc.

> Java uses JNI framework to send output to the Console or interact with OS libraries.

Leave a Comment