Java方法和本机方法有什么区别?

本机方法是用其他语言(如c ++和Java)完成方法的方法。这些程序使用JNI或JNA接口链接到Java。

普通方法和本机方法之间的区别在于,本机方法声明包含本机关键字,并且该方法的实现将是其他编程语言。

示例

测试器

public class Tester {

   public native int getValue(int i);

   

   public static void main(String[] args) {

      System.loadLibrary("Tester");

      System.out.println(new Tester().getValue(2));

   }

}

测试器

#include <jni.h>

#include "Tester.h"

JNIEXPORT jint JNICALL Java_Tester_getValue(

JNIEnv *env, jobject obj, jint i) {

   return i * i;

}

编译并运行

javac Tester.java

javah -jni Tester

gcc -shared -fpic -o libTester.so -I${JAVA_HOME}/include \

-I${JAVA_HOME}/include/linux Tester.c

java -Djava.library.path=. Tester

输出结果

4

以上是 Java方法和本机方法有什么区别? 的全部内容, 来源链接: utcz.com/z/327056.html

回到顶部