Un compilateur de code natif pour Java (NCCJ) est un compilateur qui traduit le code Java en code exécutable natif, en évitant le code d'octet intermédiaire.
La conversion du code Java en code machine élimine directement le besoin d'un interpréteur et d'une JVM, ce qui réduit les frais généraux et la redondance.