今天第一次看到这个关键字,于是百度了一下,发下里面大有玄机,于是总结一下。
首先,看见这个关键字的位置,在源码中的
java.lang.Object中的hashCode方法
@HotSpotIntrinsicCandidate
public native int hashCode();
什么是native
native,全称是Java Native Interface,简称JNI,那么什么是JNI呢。
在java语言中,有个用户和本地C代码进行交互操作的API,这个API就是Java Native Interface,即JNI。
为什么需要这么API,因为在项目开发中,肯定希望用到的语言自始至终都是一个语言,一个项目就用这一个语言开发。
JNI执行图

总结
native关键字是java与C++联合开发时用到的,单独java开发时用不到。
使用native关键字修饰的方法是原生方法,说明这个方法是使用C/C++开发的,并且被编译成了dll,由java去调用。
本文介绍了Java中的native关键字及其应用场景,详细解释了Java Native Interface (JNI) 的作用,以及如何通过JNI实现Java与C/C++代码的交互。
1384





