美文网首页
Java native关键字

Java native关键字

作者: 一个理想主义的大兵 | 来源:发表于2017-03-17 18:11 被阅读0次

在看Java String源码时,遇到下面一段代码:

    public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) {
        if (srcBegin < 0) {
            throw new StringIndexOutOfBoundsException(srcBegin);
        }
        if (srcEnd > value.length) {
            throw new StringIndexOutOfBoundsException(srcEnd);
        }
        if (srcBegin > srcEnd) {
            throw new StringIndexOutOfBoundsException(srcEnd - srcBegin);
        }
        System.arraycopy(value, srcBegin, dst, dstBegin, srcEnd - srcBegin);
    }

当进入System.arraycopy函数时,遇到如下方法的定义,并且无实现代码:

    public static native void arraycopy(Object src,  int  srcPos,
                                        Object dest, int destPos,
                                        int length);
由此第一次接触到native关键字:

native即Java本地接口(JNI,Java Native Interface),是一种编程框架,使得Java虚拟机中的Java程序可以调用本地应用/或库,也可以被其他程序调用。 本地程序一般是用其它语言(C、C++或汇编语言等)编写的, 并且被编译为基于本机硬件和操作系统的程序。(来自维基百科

Java与本地程序交互的流程如图所示,这里以Java和C语言的交互为例(图片来「自泥沙砖瓦浆木匠的博客」):

Java调用本地流程C程序

相关文章

  • Java关键字(二)——native

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

  • jni运行c++实现

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

  • native关键字的作用

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

  • java 中的native关键字

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

  • Java中的native关键字

    今天在Java基础类库的源代码的时候,遇到了一个关键字:native。 什么是Native Method? 简单地...

  • 在Java中调用C/C++代码实现

    在Java中利用native关键字调用C/C++实现过程整理如下: 书写Java代码 使用javah命令编译成头文...

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

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

  • Java native关键字

    在看Java String源码时,遇到下面一段代码: 当进入System.arraycopy函数时,遇到如下方法的...

  • JNI编程

    JNI调用是指在Java代码中调用C代码,分以下几个步骤去做。 1. Java中用native关键字声明在C中实现...

  • 将关键字段打包到so中

    需求:项目中某些关键字段放在java文件中不安全,需要将其放在so文件中,使用java native方法调用so中...

网友评论

      本文标题:Java native关键字

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