Main difference between JIT and JVM is that, JIT is part of JVM itself and used to improve performance of JVM. JIT stands for Just In time compilation and
JVM stands for Java Virtual Machine. JVM is a virtual machine used in Java
programming platform to execute or run Java programs. Main advantage of JVM is
that, it
makes Java platform independent by executing byte codes. Java source code
is compiled into class
files, which contains byte code. These byte codes are then executed by JVM.
Now here comes JIT. Since execution of byte code is slower than execution of
machine language code, because JVM first needs to translate byte code into
machine language code. JIT helps JVM here by compiling currently executing byte
code into machine language. JIT also offers caching of compiled code which
result in improved performance of JVM. by the way difference between JVM and JIT is also a good Java interview question to ask. Well, this is just a simple explanation,
JIT is lot more complex than this. There are sophisticated algorithm which
helps JIT to pick most executed code for compiling into machine code. Earlier
we have seen difference
between JRE and JDK and in this post we will understand difference between JVM and JIT. Let's
see next section for more difference between JIT vs JVM.
JVM vs JIT
Here are couple of more differences between JVM and JIT in Java
programing platform :
1) Main difference between JVM and JIT is there purpose, main goal of JVM
is to provide platform independence while objective of JIT is to improve
performance of JVM, by compiling more code into machine language. Just keep in
mind that this compilation also takes time, so translating all code into native
code is not worth doing. That's why JIT mostly compile frequently used code
into native code.
3) Another difference between JIT and JVM is that, JIT is part of JVM.
One example of JIT is Oracle's Hotspot JIT which comes with Hotspot
JVM.
2) At last, JVM is older concept than JIT. JIT actually get invented to
improve performance of JVM.
That's all on difference between JVM and JIT in Java. As I said,
JIT is part of JVM and used to improve JVM performance by dynamically compiling
or translating Java byte codes into native machine language code during
execution time.
Other Java programming articles from Java67


If you are curious to see What kind of optimization or compiling JIT is doing, you can switch it on by using JVM option -XX:+PrintCompilation
ReplyDeleteI want to know ----Every JVM consists JIT.
ReplyDelete