Skip to content

JVM

  .java β†’ [javac] β†’ .class (bytecode) β†’ [JVM] β†’ native machine code

Java code (.java) -> compile bytecode (platform-neutral) (.class) -> JVM loads -> JVM verifier, -> JVM execution engine runs 2 modes: -> Interpreter: line by line runs immediately -> JIT Compiler: detects hot paths and compiles to native machine code on fly (fast after warmup) -> JVM GC manages heap

JVM is a Process VM