jvm本地方法接口

什么是本地方法

native method就是一个java接口调用非java代码的接口, 一个native方法是由非java语言实现,在定义native时,可以不用实现体,因为具体实现是在外部实现的。

native可以与其他java标识符连用,但abstract除外

package com.lydon.test;

public class IHaveNatives {

public native void Native1();
private native void Native2();
native static public long Native3();
native void Native4() throws Exception;
}

为什么要使用native

主要有几方面的原因:

  • 需要与java外的环境进行交互:例如操作系统或者某些硬件交互信息。
  • 与操作系统交互:jvm需要依赖于具体的操作系统,而它们往往是c或者c++,汇编等较为底层的语言编写的,通过使用本地方法,我们可以用java实现了jre与底层系统交互,甚至jvm有些部分就是用c写的。另外如果有需要用一些java语言没有封装的操作系统的特性,也需要用到本地方法
  • sun的解释器是用c实现的,所以java不可避免的会跟c打交道

现状

除非是跟硬件有关的应用,否则一般我们开发中不会用到native。

上一篇:FindClass和RegisterNatives是什么函数


下一篇:React Native搭建环境