美文网首页
native关键字的作用

native关键字的作用

作者: 宋雾代 | 来源:发表于2019-02-14 08:47 被阅读0次

最近在看Thread的源码,看到了native关键字,很好奇研究了一下,记个笔记。

native 关键字是JNI的一部分

JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计 的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。

使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的,比如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。JNI标准至少保证本地代码能工作在任何Java 虚拟机实现下。

使用方法

编写java程序:

public class HelloWorld {
    public native void displayHelloWorld();
    static {
        System.loadLibrary("hello");
    }
    public static void main(String[] args) {
        new HelloWorld().displayHelloWorld();
    }
}

声明native方法:如果你想将一个方法做为一个本地方法的话,那么你就必须声明改方法为native的,并且不能实现。其中方法的参数和返回值在后面讲述。
Load 动态库:System.loadLibrary("hello");加载动态库(我们可以这样理解:我们的方法displayHelloWorld()没 有实现,但是我们在下面就直接使用了,所以必须在使用之前对它进行初始化)这里一般是以static块进行加载的。同时需要注意的是 System.loadLibrary();的参数“hello”是动态库的名字。

相关文章

  • native关键字的作用

    最近在看Thread的源码,看到了native关键字,很好奇研究了一下,记个笔记。 native 关键字是JNI的...

  • native关键字的作用

    JAVA中native关键字用来修饰方法。 一个native方法表示该方法并非由JAVA语言实现,而是由其他语言实...

  • JDK源码解析<一> java.lang.Object

    native关键字 Object中很多方法是用native关键字修饰的,比如: public native int...

  • Java中Native关键字的作用

    初次遇见 native是在 java.lang.Object 源码中的一个hashCode方法: 为什么有个nat...

  • Java关键字(二)——native

    本篇博客我们将介绍Java中的一个关键字——native。 native 关键字在 JDK 源码中很多类中都有,在...

  • jni运行c++实现

    native关键字 在jdk源码中出现很多native方法,而native修饰的方法的实现不是采用java实现的,...

  • 12.HashCode

    源码:public native int hashCode();属于一个本地方法,没有方法体。 native关键字...

  • 09-第九章 作用域 js预解析 闭包

    一、作用域 top 和 left 在全局作用域是关键字,在函数作用域不是关键字 作用域:脚本的有效范围,作用范围...

  • java 中的native关键字

    native关键字应用于方法,以指示使用JNI(Java Native Interface)在本机代码中实现该方法...

  • iOS9 新特性(20180325)

    1.关键字 关键字:可以用于属性,方法返回值和参数中 关键字的作用:提示作用,告诉开发者属性信息 关键字好处:提高...

网友评论

      本文标题:native关键字的作用

      本文链接:https://www.haomeiwen.com/subject/joukeqtx.html