Das Java Native Interface (JNI) ist eine Schnittstelle, um die Java Virtual Maschine (JVM) fernzusteuern und um aus Java-heraus auf nicht-Java-Funktionen zuzugreifen. JNI ist damit sowohl vergleichbar mit dem .NET P/Invoke als auch der ICorRuntimeHost-Schnittstelle in der MSCOREE.dll.