JNI技术经验总结

JNI技术经验总结

JNI是Java Native Interface的缩写,为Java程序提供与本地程序交互的能力。使用JNI技术,能够使得Java程序充分利用本地代码的优势,如高性能,不必重复造轮子等,在生产中,有着诸多实用价值。

JNI工作流程

JNI的典型使用场景是:Java程序调用C,C++代码编译而成的动态库文件。动态库文件在Windows下是.dll文件,在Linux下为.so文件。其主要工作流程如图所示:
JNI技术经验总结_第1张图片

  1. 编写.java源代码,其中用native关键字标明需要本地实现的函数。
  2. 使用命令 javac -h <输出位置> <源代码路径> 编译出.h头文件。
  3. 编写.cpp源代码实现.h文件中声明的native函数。
  4. 编译.h头文件和.cpp源文件生成.dll动态库,并移动到.java源代码中指定的位置。
  5. 使用命令 javac <源代码路径> 将.java源代码编译成.class字节码。
  6. 使用命令 java <类名> 执行类名.class文件,调用.dll库文件得到输出。

你可能感兴趣的:(java,c++,jni)