La compilación es el proceso de traducción de programas fuente a programas objeto. El programa objeto obtenido de la compilación ha sido traducido normalmente al código común del lenguaje de máquina.
Para conseguir el programa máquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable.

Existen diversas fases de compilación o también llamadas etapas de la compilación que se ilustrarán en la siguiente imagen:

El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un compilador tiene los siguientes pasos:
2. Introducir el programa fuente en memoria.
3. Compilar el programa con el compilador.
4. Verficar y corregir errores de compilación (listado de errores).
5. Obtención del programa objeto.
6. El enlazador (linker) obtiene el programa ejecutable.
7. Se ejecuta el programa y, si no existen errores, se tendrá la salida del programa.
Y, el proceso de ejecución se ilustra en la siguiente imagen:
[...] un programa Java, bien en un entorno de desarrollo o bien en un editor de texto, necesita ser compilado, generando un conjunto de instrucciones optimizadas denominadas programa [...]