首页 > 代码库 > 每天一道Java题[9]

每天一道Java题[9]

题目

native关键字的作用是什么?

   

解答

首先,需了解JNI(Java Native Interface),它是连接Java平台与本地C代码的一个API。

技术分享

其次,用native关键字声明的方法,是告诉JVM调用的方法是一个外部定义的方法,也就是本地C代码定义的一个方法。

总结来说,native关键字的具体作用是,用它声明的方法,并不需要Java代码自己实现。而是JVM通过JNI来加载本地系统C/C++的DLL,然后调用其中的方法来实现。

   

发散思维

1.说一下,我们平时用到的哪个方法,是用native关键字声明的?

解答:java.lang.Object源码中的hashCode方法:

public native int hashCode();

   

2.说一下,我们平时会在什么情况下用到native关键字?

解答:

  1. 使用操作系统底层的某个特性,不得不通过JNI来访问。
  2. 访问一个老系统或者已有的库,而此库是用C/C++写的。
  3. 加快程序的性能。

等等

   

参考资料

1.Java总Native关键字的作用(http://www.cnblogs.com/Qian123/p/5702574.html)

每天一道Java题[9]