"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java의 `native` 키워드는 어떤 역할을 하며 언제 사용해야 합니까?

Java의 `native` 키워드는 어떤 역할을 하며 언제 사용해야 합니까?

2025년 1월 16일에 게시됨
검색:908

What Does Java\'s `native` Keyword Do and When Should You Use It?

Java의 기본 키워드는 무엇입니까?

Java의 기본 키워드를 사용하면 다음과 같은 언어로 작성된 컴파일되고 동적으로 로드된 라이브러리를 호출할 수 있습니다. C 또는 C(Java 내 임의 어셈블리 코드 포함) 이를 통해 순수 Java에서는 사용할 수 없는 하위 수준 기능에 액세스할 수 있습니다.

작동 방식

Java에서 기본 코드를 사용하려면 다음을 수행해야 합니다. 다음:

  1. 호출하려는 네이티브 메서드에 대한 함수 프로토타입이 포함된 헤더 파일(.h)을 만듭니다.
  2. 구현 소스 파일(.c 또는 .cpp)의 네이티브 메서드.
  3. 네이티브 코드를 공유 라이브러리(Linux의 경우 .so, Windows의 경우 .dll)로 컴파일합니다.
  4. 공유 라이브러리 로드 System.loadLibrary()를 사용하여 라이브러리를 Java 프로그램에 추가합니다.
  5. 다른 Java와 마찬가지로 기본 메서드를 사용합니다. method.

다음은 C로 작성된 네이티브 메소드를 호출하는 Java 클래스의 간단한 예입니다:

public class Example {
    public native int square(int i);
    public static void main(String[] args) {
        System.loadLibrary("Example");
        System.out.println(new Example().square(2));
    }
}

해당 C 코드:

#include 
JNIEXPORT jint JNICALL Java_Example_square(
    JNIEnv *env, jobject obj, jint i) {
  return i * i;
}

네이티브 코드 사용의 이점

네이티브 코드를 사용하면 다음과 같은 여러 가지 이점을 제공할 수 있습니다.

  • 성능 향상: 네이티브 코드는 하드웨어 리소스에 직접 액세스할 수 있으므로 Java 코드보다 빠른 경우가 많습니다.
  • 액세스 하위 수준 시스템 기능: 네이티브 코드는 운영 체제와의 인터페이스 또는 하드웨어 장치 액세스와 같이 순수 Java에서는 불가능한 작업을 수행할 수 있습니다.
  • 이식성: 네이티브 코드 여러 플랫폼용으로 컴파일할 수 있으므로 다양한 플랫폼에 애플리케이션을 더 쉽게 배포할 수 있습니다. 시스템.

고려 사항

네이티브 코드를 사용하는 것이 유익할 수 있지만 다음과 같은 몇 가지 고려 사항도 함께 제공됩니다.

  • 복잡성 증가: 네이티브 코드를 개발하고 유지하는 것은 순수 코드를 사용하는 것보다 더 복잡할 수 있습니다. Java.
  • 이식성 감소: 네이티브 코드는 특정 플랫폼용으로 컴파일되어 이식성이 제한됩니다.
  • 보안 위험: 네이티브 코드를 작성하려면 다음이 필요합니다. 기본 플랫폼에 대한 깊은 이해와 부적절한 코딩 관행으로 인해 보안 위험이 발생할 수 있습니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3