native 方法介绍

一个 native 方法就是一个 Java 调用非 Java 代码的接口。该方法的实现由非 Java 语言实现,比如 C。

A native method is a Java method whose implementation is provided by non-java code.

标识符 native 可以与所有其它的 Java 标识符连用,但是 abstract 除外。这是合理的,因为 native 暗示这些方法是有实现体的,只不过这些实现体是非 Java 的,但是 abstract 却指明这些方法无实现体。native 与其它 Java 标识符连用时,其意义同非 Native 方法并无差别,比如 native static 表明这个方法可以在不产生类的实例时直接调用,这非常方便。

native 方法好处

Java 使用起来非常方便,然而有些层次的任务用 Java 实现起来不容易,或者我们对程序的效率很在意时,问题就来了。JVM 支持着 Java 语言本身和运行时库,它是 Java 程序赖以生存的平台。然而不管怎样,它毕竟不是一个完整的系统,它经常依赖于一些底层系统的支持。这些底层系统常常是强大的操作系统。通过使用本地方法,我们可以用 Java 与底层系统的交互,甚至 JVM 的一些部分就是用 C 写的,还有,如果我们要使用一些 Java 语言本身没有提供封装的操作系统的特性时,我们也需要使用本地方法。

最后需要提示的是,使用本地方法是有开销的,它丧失了 Java 的很多好处。如果别无选择,我们可以选择使用本地方法。

相关文章: