本地方法接口
本地指的是什么:
- 本地指的是操作系统。
- 任何软件都是运行在操作系统上的。
而操作系统分为window,mac,linux,unix等等。
什么是本地方法接口:
- JNI是Java Native Interface的缩写,通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植。
- 从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他编程语言,只要调用约定受支持就可以了。
- 使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的。例如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。
- JNI标准至少要保证本地代码能工作在任何Java 虚拟机环境。
本地方法介绍
什么是本地方法?
- 简单地讲,一个Native Method是一个Java调用非Java代码的接囗方法。
①本地方法存储在JVM中,用C编写并调用底层操作系统的SDK(C编写的)。
②每个操作系统的SDK都不同,因此需要配备不同的JVM。
③但每个JVM都实现相同的本地方法接口JNI。
- 一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。
- 这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern 告知C++编译器去调用一个C的函数。