A JVM roda o byte code sem criar instruçoes nativas da plataforma?
Não. A JVM analisa os pontos mais usados do programa (HotSpots) e os compila para a plataforma nativa, usando todas as otimizações possíveis.
Isso é chamado de compilação just in time (JIT).
Se você quer entender um pouco mais da VM, sugiro que leia os artigos do Brian Goetz:
Dynamic Compilation and Performance
A brief history of garbage collection
Garbage collection in the HotSpot JVM
Garbage collection and performance
Fixing the Java Memory Model, Part 1
Fixing the Java Memory Model, Part 2
More flexible, scalable locking in JDK 5.0
Java theory and practice: Urban performance legends
Urban performance legends, revisited
Todo o bytecode é traduzido para linguagem de maquina, ou apenas alguns trechos?
Apenas os trechos mais usados pelo programa.
Por favor, leia os links que postei, eles explicam o processo de compilação dinâmica em detalhes.
estou lendo a referencia, obrigada.
mas ainda nao entendi qual a diferença de uma interepretacao para uma compilaçao dinamica (jvm)