一。JNI概述
JNI, 全称Java Native Interface
它是Java语言(Java本地方法接口),允许Java代码与C、C++代码交互的标准机制
二。JNI优点
JNI的优点:
(1)JNI使得一些"过程"无需在Java中实现。例如,硬件敏感的,或者直接与操作系统API关联的命令。
(2)由于使用底层的库,如图形,计算,各种类型的渲染等等,可以提高应用的运行性能。
(3)已经有大量的库已经被实现,编程者可直接使用,不用再自行编写。
这里的库指的是用其他编程语言实现的程序库,例如IO流或者线程等底层与OS交互的操作都是由C/C++实现的。
三。JNI使用步骤
1.正常创建一个ScdService.java类,类声明一个本地方法,如下
private native void generateSSDResult(String infoDir);
2.生成.h头文件给C++(C++利用这个头文件写具体的实现dll文件)
生成方法:CMD命令:javah -classpath D:\idea\project\yongfu\substationserver\src\main\java com.jw.mva.service.scd.SCDService
生成地址:和/target.com.jw.mav.service.scd.ScdService.class目录
3.c++再给我们scdjni.dll文件(里面是generateSSDResult方法的具体实现),复制dll文件到本地的某个文件夹,
系统环境变量添加这个文件夹
4.ScdService类加载dll库,加载方法如下
static {
System.loadLibrary("scdjni"); //环境变量指向的文件夹有scdjni.dll文件
}
5.测试,java调用generateSSDResult()方法就能实现C++写的方法
JNI——java native interface
最新推荐文章于 2023-03-24 17:12:54 发布