本地方法接口
本地方法(Native Method)
一个本地方法就是一个java调用非java代码的接口,该方法的底层是由非java语言实现的,比如C语言.在定义一个本地方法时,不提供实现体,因为其实现体是由非java语言实现的.
关键字native可以与其他所有的java标识符连用,abstract除外.
本地方法的用处:
1.与java环境外交互
在java应用时有时会需要与java外面的环境交互,这是本地方法存在的主要原因.本地方法这种交流机制为我们提供了一个简单的接口,不需要去了解java应用之外的繁琐细节.
2.与操作系统交互
JVM毕竟不是一个完整的系统,虽然是java程序赖以生存的平台,但是也会经常依赖于一些底层系统的支持,这些底层系统就是强大的操作系统.通过使用本地方法,我们可以用java实现了jre的与底层系统的交互.还有如果需要使用一些Java语言本身没有提供的操作系统特性时,也是需要使用本地方法的.
3.Sun’s java
Sun的解释器是用C实现的,这使得它能像一些普通的C与外部交互.jre大部分是用java实现的,他也会通过一些本地方法与外界交互.举个例子:java.lang.Thread的setPriority()方法是由java实现的,但是它调用的是该类的本地方法setPriority0(),这个本地方法是C实现的.