- Compile time
- the period when the source code is converted into machine code
- checks for syntax errors
- compiler may optimize the code to make it more efficient before producing the final machine code
- Runtime
- the period when the compiled program is actually being executed by the operating system
- The machine code or bytecode (for Java, which is run by a virtual machine JVM) is loaded into memory (RAM) and run by the processor (or a VM)
The process
- source code
- (Compile time) compiler converts to machine code
- (Runtime/Execution) machine code is executed by the CPU at runtime, or bytecode is interpreted/executed by a virtual machine.