[아이템 66] 네이티브 메서드는 신중히 사용하라.

자바 네이티브 인터페이스는 자바 프로그램이 네이티브 메서드를 호출하는 기술입니다. 네이티브 메서드란 C나 C++같읕 네이비티브 프로그래밍 언어로 작성한 메서드를 말합니다. 네이티브 메서드의 주요 쓰임은 세 가지가 있습니다.

  1. 레지스트리 같은 플랫폼 특화 기능을 사용한다.
  2. 네이티브 코드로 작성된 기존 라이브러리를 사용한다.
  3. 성능 개선을 목적으로 성능에 결정적인 영향을 주는 영역만 따로 네이티브 언어로 작성한다.

자바 9부터는 process API를 추가해 OS 프로세스에 접근하는 길을 열어주었고 자바에서 네이티브 메서드를 사용할 필요가 점점 줄어드는 추세입니다. 성능 개선을 목적으로 네이티브 메서드를 사용하는 건 권장하지 않습니다. JVM이 많이 발전한 덕에 속도가 굉장히 빨라졌기 떄문입니다. 또한 네이티브 언어가 안전하지 않으므로 네이티브 메서들 사용하는 애플리케이션도 메모리 훼손 오류로부터 안전하지 않습니다. 가비지 컬렉터가 네이티브 메모리는 자동 회수하지 못하고 추적 조차할 수 없습니다.