JNI——java native interface

使用参考

一。JNI概述
	JNI, 全称Java Native Interface
	它是Java语言(Java本地方法接口),允许Java代码与CC++代码交互的标准机制


二。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++写的方法

在这里插入图片描述


版权声明:本文为weixin_44635157原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。