posted 19 years ago
Hmmm, we've had a lot of questions like this lately. Spring semester programming classes?
Anyhow, the JVM executes the byte code the compiler put into classes. If you put the classes into jars, the JVM reads those to find the classes. It is the heart of the runtime environment, but not the whole thing. There are other DLLs and jars and stuff making up the environment.
But is it an interpreter? Yes, firstly and mostly it is. It interprets byte code. Some JVMs do much more however. If they see some code is being executed many many times they can choose to compile the code to machine code. Then they stop interpreting and manage machine code subroutines. So they can blur the line between interpreter and, um, something else.
Hope that helps!
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi