JVM (Java Virtual Machine): thực thi bytecode, platform-specific, cung cấp runtime environment và garbage collection.
- JRE (Java Runtime Environment): JVM + libraries, chạy chương trình Java đã biên dịch, không biên dịch được.
- JDK (Java Development Kit): JRE + compiler (
javac), debugger, tools cho development. - Flow: JDK biên dịch .java → .class (bytecode) → JRE/JVM thực thi bytecode.
- Developer cần JDK; end-user cần JRE; production container chỉ cần JRE.