Java-код компілюється спочатку не в машинний код, а в певний проміжний код, який надалі інтерпретується або компілюється, тоді як багато C++ компіляторів орієнтовані на компіляцію в машинний код заданої платформи.