Ein Java-Compiler wandelt die Java-Sprache in sogenannten "Byte Code" um.
Dieser Bytecode ist sehr vergleichbar mit Maschinencode, außer, daß er auf einer virtuellen CPU, der `Java Virtual Machine` ausgeführt wird. Jeder Computer, der mit solch einer Java Virtual Machine ausgestattet ist, kann Java-Programme ausführen.
Die meisten JVM`s dieser Tage sind als Software-Emulatoren implementiert, obwohl auch langsam Hardware-Implementationen erhältlich werden.
MOca ist eine Software-Implementation einer Java Virtual Machine. Was MOca tut, verglichen mit einem PC-Emulator, ist die Emulation der Java-`CPU`.
Jeder, der jemals einen PC-Emulator benutzt hat, weiß, wie langsam diese sind. Emulation ist ein langsamer Vorgang. Java-Bytecode ist aber eine besondere Art von Maschinensprache, die auch Re-Compilierung erlaubt.
Anstatt diesen Code zu emulieren, konvertiert MOca ihn zu `native` (`eingeborenen` also echtem Amiga-) Maschinencode mit einem kraftvoll optimierten JIT-Compiler.
JIT steht für `Just in time`. Das bedeutet, daß MOca nicht seine Zeit mit konvertieren von Java-Bytecode vergeudet, der niemals ausgeführt wird. Stattdessen wird der Code erst umgewandelt, in dem Moment, in dem er zum ersten Mal ausgeführt wird.