Posts

Showing posts from December, 2013

Is the JVM a compiler or an interpreter?

First, let's have a clear idea of the following terms Javac  is Java Compiler -- Compiles your Java code into  Bytecode JVM  is Java Virtual Machine -- Runs/ Interprets/ translates Bytecode into  Native Machine Code JIT  is Just In Time Compiler -- Compiles the given bytecode instruction sequence to machine code at  run-time  before executing it natively. It's main purpose is to do heavy optimizations in performance. So now, Let's find answers to your questions.. 1) JVM: is it a compiler or an interpreter?  --  Ans:  Interpreter 2) what about JIT compiler that exist inside the JVM?  --  Ans:  If you read this reply completely, you probably know it now 3) what exactly is the JVM?  --  Ans: JVM is a virtual platform that resides on your RAM Its component,  Class loader  loads the  .class  file into the RAM The  Byte code Verifier  component in JVM checks if there ar...