Die Java Native Interface (JNI) bietet sowohl die Möglichkeit für JVM-Implementierungen, systemeigenen Systemcode auszuführen, als auch die Möglichkeit für nativen Code, Java-Code auszuführen (durch Erstellen neuer JVM-Instanzen). Die gebräuchlichsten Zielsprachen für JNI sind C und C ++, für die mindestens die Sun / Oracle JDK-Implementierungen Hilfsbefehle bereitstellen (javap - für die Code-Disassemblierung, javah für die C-Code-Generierung).