아이템 54. 네이티브 메서드는 신중하게 사용하라
54. 네이티브 메서드는 신중하게 사용하라
자바 네이티브 인터페이스(Java Native Interface, JNI) : C, C++등의 네이티브 프로그래밍 언어로 작성된 네이티브 메서드를 호출하데는 이용되는 기능
용도
- 특정 플랫폼 고유한 기능 이용
- 각 플랫폼 별로 고유한 기능 혹은 라이브러리 이용
- 각 플랫폼 별로 고유한 성능 향상 효과를 위해 이용
네이티브 메서드를 통한 성능개선은 추천하지 않는다.
- 과거에 비해 JVM 성능 향상
- 자바의 새 버전이 이전 버전 보다 빨라짐
네이티브 메서드 직접 사용시 단점
- 네이티브 언어 자체가 안전하지 않음, 메모리 훼손 문제(memory corruption error) 발생 우려가 큼
- 플랫폼 종속성 문제(이식성이 낮음)
- 디버깅 어려움
- 잘못 사용할 경우 오히려 성능 하락을 가져옴
- 가독성 떨어짐
결론
최대한 네이티브 메서드는 사용하지 말자. 만약 사용한다면 최소한의 용도로만 사용하고, 테스트를 확실히 하자.