• 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.