[JVM学习之路]四、本地方法接口概念

四、本地方法接口

简单来讲,一个Native Method就是一个java调用非java代码的接口

一个Native Method 是这样一个java方法:该方法的底层实现由非Java语言实现,比如C。这个特征并非java特有,很多其他的编程语言都有这一机制,比如在C++ 中,你可以用extern “C” 告知C++ 编译器去调用一个C的函数。

定义一个native方法时,用native关键字修饰,但是不能和abstract搭配。没有具体实现体

public class IHaveNatives {
    public native void Native1(int x);

    public native static long Native2();

    private native synchronized float Native3(Object o);

    native void Native4(int[] ary) throws Exception;

}

为什么要使用Native Method

  • 要与Java环境外交互。

    本地方法为我们提供了一个简洁的接口,且无需去了解Java应用之外的繁琐细节

  • 与操作系统交互

    通过本地方法,可以用Java实现jre与底层系统的交互,升值JVM一部分是用C写的

  • sun解释器是用C实现的,使得它能像一些普通C一样与外部交互

现状:目前该方法使用越来越少了,除非是与硬件相关还是应用得多

猜你喜欢

转载自blog.csdn.net/qq_41522089/article/details/107621342
今日推荐