I have heard people saying “a JVM is necessarily a Java interpreter but a Java interpreter is not necessarily a JVM”. Is that true?
I mean is there a difference between a Java interpreter and JVM?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Yes, there is a difference.
Java virtual machine:
A software “execution engine” that safely and compatibly executes the byte codes in Java class files on a microprocessor (whether in a computer or in another electronic device).
Java interpreter:
A module that alternately decodes and executes every statement in some body of code. The Java interpreter decodes and executes bytecode for the Java virtual machine.
The Java interpreter is actually a part of JVM. Virtual machine is not just executing the bytecodes, it has lot of tasks to do. That full-fledged environment is referred to as a JVM.
Check:
Java Virtual Machine
Java SE HotSpot at a Glance