Java中native方法

原博文:https://blog.csdn.net/zmx729618/article/details/50779924

Java开发中会碰到声明为 native的方法,如:public native int hashCode(); 这是一个native方法。为什么存在native方法呢?Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。
  
可以将native方法比作Java程序同C程序的接口,其实现步骤:
  1. 在Java中声明native方法,然后编译。
  2. javah产生一个.h文件。
  3. 写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件)。
  4 . 将第三步的.cpp文件编译成动态链接库文件。
  5. 在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native方法就可以在Java中被访问了。

JAVA的native方法适用的情况:
  1、为了使用底层的主机平台的某个特性,而这个特性不能通过JAVA API访问。
  2、为了访问一个老的系统或者使用一个已有的库,而这个系统或这个库不是用JAVA编写的。
  3、为了加快程序的性能,而将一段时间敏感的代码作为本地方法实现。

猜你喜欢

转载自blog.csdn.net/wy11933/article/details/80214609