자바 네이티브 인터페이스와 네이티브 메서드
자바 네이티브 인터페이스는 자바 프로그램이 네이티브 메서드를 호출하는 기술이다. 여기서 네이티브 메서드란 C나 C++같은 네이티브 프로그래밍 언어로 작성한 메서드를 말한다.
네이티브 메서드의 쓰임
- 레지스트리 같은 플랫폼 특화 기능을 사용하는 경우.
- 네이티브 코드로 작성된 기존 라이브러리를 사용하는 경우
- 성능 개선을 목적으로 성능에 결정적인 영향을 주는 영역만 따로 네이티브 언어로 작성하는 경우
-> 성능 개선을 목적으로 네이티브 메서드를 사용하는 것은 권장하지 않는다.- 네이티브 언어가 안전하지 않으므로 네이티브 메서드를 사용하는 애프릴케이션도 메모리 훼손으로부터 안전하지 않다.
- 자바보다 플랫폼을 많이 타서 이식성이 낮다.
- 디버깅이 어렵다
- 가비지 컬렉터가 네이티브 메모리는 자동 회수하지 못하고, 추적할 수 없다.
GNU 다중 정밀 연산 라이브러리는 꾸준히 개선 작업이 이루워지고 있으므로 고성능의 다중 정밀 연산이 필요한 자바 프로그래머라면 네이티브 메서드를 통해 GMP를 사용하는 걸 고려해도 좋다.