Java本地接口

更新时间:2022-10-24 20:21

尽管可以完全用Java编写应用程序,但是有时单独用Java不能满足应用程序的需要,程序员使用JNI来编写Java本地方法,可以处理那些不能完全用Java编写应用程序的情况。

简介

Java本地接口(JNI)是一个编程框架使得运行在Java虚拟机上的Java程序调用或者被调用特定于本机硬件与操作系统的用其它语言(CC++汇编语言等)编写的程序。

功用

JNI允许用本地代码来解决纯粹用Java编程不能解决的平台相关的特性。也用于改造已存在的其它语言写的应用程序,供Java程序访问。许多使用了JNI的标准库提供了文件I/O与其它功能。标准库中性能敏感或平台敏感的API实现允许所有Java应用程序安全且平台独立地访问这些功能。

JNI框架使得本地方法可以访问Java对象,就如同Java程序访问这些本地对象。本地方法可以创建Java对象,然后检查、使用这些对象执行任务。本地方法也可以检查并使用由Java程序创建的对象。

定义

与其他方法相似,你必须声明要用的所有本地方法,并且必须将它们定义在一个类中。

你可将你的本地

HelloWorld

方法定义为如下形式:

publicnativevoidnativeHelloWorld();

这与你所写的其他

publicvoid

方法比较有两个变化:

*

关键字

native

被用作方法修饰符。

*

方法的主体部分(实际实现部分)在这里没有定义,而是代之以一个分号(;)。

你必须把本地方法的声明放到类的定义中。含有这个本地方法的类还包含一个静态代码块,它负责装载带有该方法实现的动态库。这里是为简单的

Java

运行环境在类被装载时执行定义的

static

代码块。

在上例中,

当类

NativeHello

被装载时,

hello1

被装入

应用

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}