1、本地方法是由其它语言编写的,编译成和处理器相关的机器代码。本地方法保存在动态链接库中,即.dll(windows系统)文件中,格式是各个平台专有的。
2、JAVA方法是与平台无关的,但是本地方法不是运行中的JAVA方法调用本地方法时,虚拟机装载包含这个本地方法的动态库的,并调用这个方法
3、通过本地方法,JAVA程序可以直接访问底层操作系统的资源,如果你这样用,你的程序就变成平台相关了,因为本地方法的动态库是与平台相关的,此外使用本地方法还可能把程序变得和特定的JAVA平台实现相关。
4、一个本地方法接口——JAVA本地接口JNI——使得本地方法可以在特定主机系统的任何一个JAVA平台实现上运行,JAVA给人们提供了选择的机会。
5、如果希望使用特定主机上的资源,它们又无法从JAVA API访问,那么可以写一个平台相关的JAVA程序来调用本地方法,如果希望保证程序的平台无关性,那么只能通过JAVA API来访问底层系统资源。
6、标识符native可以与所有其它的java标识符连用,但是abstract除外。烂瘀佐栾这是合理的,因为native暗示这些菱诎逭幂方法是有实现体的,只不过这些实现体是非java的,但是abstract却显然的指明这些方法无实现体。
7、native与其它java标识腿发滏呸符连用时,其意义同非Native Method并无差别,比如native static表明这个方法可以在不产生类的实例时直接调用,这非常方便,比剧安颌儿如当你想用一个native method去调用一个C的类库时。