Java Native Interface (JNI) - macierzysty interfejs programistyczny dla języka Java, który umożliwia uruchamianie kodu w Javie wewnątrz wirtualnej maszyny Javy, we współpracy z aplikacjami i bibliotekami napisanymi w innych językach programowania, jak C, C++ czy asembler.