Java native 关键字

定义与用法

native 关键字用于声明一个方法属于操作系统原生的外部编译库。

为了使用本地方法,必须从 .dll.so 或类似类型的文件中加载一个外部库。外部文件中的编译代码应该编写为支持 Java 本地接口(Java Native Interface, JNI)。

实例

从编译库中加载一个方法:

class Main {
  // 静态代码块用于加载外部库
  static {
    System.loadLibrary("libraryname"); // 加载名为 "libraryname" 的库
  }
  
  public static void main(String[] args) {
    test(); // 调用本地方法
  }
  
  // 声明一个本地方法
  private static native void test();
}

在这个例子中,System.loadLibrary("libraryname"); 用于加载名为 "libraryname" 的外部库(在实际应用中,这个名称通常对应于一个具体的 .dll、.so 或其他类型的动态链接库文件)。private static native void test(); 声明了一个本地方法 test,这个方法在 Java 代码中没有实现,而是期望在加载的外部库中找到其实现。这样,Java 程序就可以调用操作系统原生的功能或库了。