今天第一次看到这个关键字,于是百度了一下,发下里面大有玄机,于是总结一下。
首先,看见这个关键字的位置,在源码中的
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去调用。