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...