JNI는 자바와 native C/C++를 연결하는 방법으로 Java Native Interface의 약자입니다.
일반적으로 인터페이스는 C/C++보다 느린 자바로 내부는 C/C++로 개발하여 현재 모바일 기기에 많이 적용되고 있습니다.
C/C++에서 자바의 객체, 변수, 함수를 호출할 수 있고 역으로도 가능합니다.
그러나 이때 주의할 것은 서로 참조할 때 메모리 복사가 많이 일어나지 않도록 설계해주어야 JNI를 사용할 때 속도저하를 방지하게 되어 Java에서 native code를 불러올 때 불필요한 속도 저하를 막을 수 있습니다.