native方法的实现过程

加载文件和动态链接库主要是对native方法有用,对于一些特殊的功能,比如,访问操作系统底层的硬件设备(比如开启线程的start()方法)java程序无法实现,必须通过C语言来完成,此时就需要使用c语言为java提供实现。具体的内容如下:
(1)java程序中声明native方法,类似于abstract方法,只有方法签名,没有实现。编译该java程序,生成一个class文件。
(2)用javah编译第一步生成的class文件,将产生一个.h文件。
(3)写一个.cpp文件来实现native方法,其中需要包含第二部产生的.h文件(.h文件又包含了JDK带的jni.h文件)。
(4)将第三步的.cpp文件编译成动态链接库文件。
(5)在java中用System类的loadLibrary…()方法或Runtime类的loadLibrary()方法加载第四步产生的动态链接库文件,java程序就可以调用这个native方法了。
——《疯狂java》

你可能感兴趣的:(C)