|
Authored by: Anonymous on Friday, June 01 2012 @ 02:56 AM EDT |
"There was also a mention somewhere that the Java VM translates bytecode into
executable machine code. That is true of some Java VMs--particularly those that
use a JIT compiler--but not necessarily all Java VMs... some of them just use an
interpreter which interprets (executes) the bytecode instructions one by one,
without ever translating them into native machine
code."
Translating source code (or intermediate bytecode) into
native machine code is exactly what interpreters do! The difference is that the
interpreter does the translation line-by-line and on-demand while the program is
running, and has to retranslate whenever a line is to be executed again.
Whereas the compiler does a bulk translation of all source code (or blocks of
the source code, for a JIT compiler) and doesn't have to retranslate during the
program's execution.[ Reply to This | Parent | # ]
|
- Not true of Java - Authored by: Anonymous on Friday, June 01 2012 @ 08:08 AM EDT
- A missed part - Authored by: Anonymous on Friday, June 01 2012 @ 08:24 AM EDT
|
Authored by: Anonymous on Saturday, June 02 2012 @ 10:07 AM EDT |
From the root/previous comment in this thread:
There was also a
mention somewhere that the Java
VM translates bytecode into executable machine
code. That is
true of some Java VMs--particularly those that use a JIT
compiler--but not necessarily all Java VMs... some of them
just use an
interpreter which interprets (executes) the
bytecode instructions one by one,
without ever translating
them into native machine
code.
Actually, I don't think I've seen any interpreted JVMs
since the launch of Java 1.0 in 1996 :) . Its theoretically
possible that
there are some interpreted JVMs out there, but
I suspect used only in research
and similar - I think most
production JVMs out there use JIT and similar
techniques.
In short: I think the court order is actually quite
accurate in
its description of JVMs. :) [ Reply to This | Parent | # ]
|
|
|
|
|