Java brings platform independence to table with the virtual machine. A few terms are very frequently discussed among the developers and these are the compiler, interpreter and development kit. So let use document these terms as per the official terminologies:

Java Virtual Machine (JVM)

Platform independence is the main advantage of using Java programming language. Have you ever wondered about how come Java achieve platform independence. Well it is the virtual machine which abstracts the hardware and operating system from the developer as well as user of program. It is the responsibility of virtual machine to handle the communication with operating system. The Java specification for various API’s hold good for any platform because the JVM for each platform conforms to those specifications. JVM understands the byte code which is a pseudo-code and acts as layer between user and OS

Java Runtime Environment (JRE)

Java Runtime Environment is a super-set of JVM. While a JVM is specific to a platform/OS, JRE is a generic term which represents the complete runtime environment. All the JAR files and executables that we see inside the jre folder become part of of runtime. In fact, a JRE becomes JVM at runtime. So for generic usage, use the term JRE and for specific operating systems use the term JVM. When you download JRE, you automatically download JVM.

Java Development Kit (JDK)

Java Development Kit is the complete set of JAR’s and executables which are required for writing a Java application. In fact, a JRE is part of JDK. If you download JDK, you will see a folder named JRE inside it. The main jar file to remember about JDK is tools.jar which contains the classes for processing javadoc and jar signing classes.

Just In Time (JIT)

Just in Time is a special compiler which improves the performance of JVM by compiling the byte code parts to machine format efficiently. This efficiency is special to JIT because it detects similar byte code parts and compiles them to machine format in single run thus saving CPU cycles. It is different from other byte code compilers because it was the firs of its kind to perform the compilation (from byte code to machine format) on the fly and not prior to execution of application. Due to this, the term “Dynamic Compilation” has been closely associated to JIT.

Reference

IBM JIT
Oracle JVM Guide

Related Posts

Difference between JVM JRE JDK JIT admin Core Java
Java brings platform independence to table with the virtual machine. A few terms are very frequently discussed among the developers and these are the compiler, interpreter and development kit. So let use document these terms as per the official terminologies: Java Virtual Machine (JVM) Platform independence is the main advantage of...
<p>Java brings platform independence to table with the virtual machine. A few terms are very frequently discussed among the developers and these are the compiler, interpreter and development kit. So let use document these terms as per the official terminologies:</p> <h2>Java Virtual Machine (JVM)</h2> <p>Platform independence is the main advantage of using Java programming language. Have you ever wondered about how come Java achieve platform independence. Well it is the virtual machine which abstracts the hardware and operating system from the developer as well as user of program. <strong>It is the responsibility of virtual machine to handle the communication with operating system.</strong> The Java specification for various API's hold good for any platform because the JVM for each platform conforms to those specifications. JVM understands the byte code which is a pseudo-code and acts as layer between user and OS</p> <h2>Java Runtime Environment (JRE)</h2> <p><strong>Java Runtime Environment is a super-set of JVM.</strong> While a JVM is specific to a platform/OS, JRE is a generic term which represents the complete runtime environment. All the JAR files and executables that we see inside the jre folder become part of of runtime. In fact, a JRE becomes JVM at runtime. So for generic usage, use the term JRE and for specific operating systems use the term JVM. When you download JRE, you automatically download JVM.</p> <h2>Java Development Kit (JDK)</h2> <p>Java Development Kit is the complete set of JAR's and executables which are required for writing a Java application. In fact, a JRE is part of JDK. If you download JDK, you will see a <a href="http://www.javaexperience.com/important-jar-files-in-jre/">folder named JRE inside it</a>. The main jar file to remember about JDK is <strong>tools.jar</strong> which contains the classes for processing javadoc and jar signing classes.</p> <h2>Just In Time (JIT)</h2> <p>Just in Time is a special compiler which improves the performance of JVM by compiling the byte code parts to machine format efficiently. This efficiency is special to JIT because it detects similar byte code parts and compiles them to machine format in single run thus saving CPU cycles. It is different from other byte code compilers because it was the firs of its kind to perform the compilation (from byte code to machine format) on the fly and not prior to execution of application. Due to this, the term "Dynamic Compilation" has been closely associated to JIT.</p> <h2>Reference</h2> <a href="http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=%2Frzaha%2Fjit.htm">IBM JIT</a> <a href="http://docs.oracle.com/javase/6/docs/technotes/guides/jvmti/">Oracle JVM Guide</a>
Best Practice - Avoid Final for TDD
Overflow And Underflow of data types in Java
The following two tabs change content below.
I run this blog with lots of passion. In this website, you will find tutorials on Core Java, Spring, Struts, Web Applications, Portals and Database. Please support me and the website by sharing the posts on your facebook / twitter. You can tap the share button at the top of each post. Thanks for the support.

Latest posts by admin (see all)

Comments

comments