黑马程序员技术交流社区

标题: 关于Java里面的native [打印本页]

作者: 张磊    时间: 2011-8-29 20:12
标题: 关于Java里面的native
看到jdk源码的时候经常发现,native关键字,是不是调用Java语言用c写的那些东东啊?
作者: 匿名    时间: 2011-8-29 21:45
native是方法修饰符。Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在java代码中,就不需要声明了。Native可以和其他一些修饰符连用,但是abstract方法和Interface方法不能用native来修饰。
作者: 匿名    时间: 2011-8-31 18:55
java native方法是指本地方法,当在方法中调用一些不是由java语言写的代码或者在方法中用java语言直接操纵计算机硬件时要声明为native方法。
       java中,通过JNI(Java Native Interface,java本地接口)来实现本地化。
Native方法一般用于两种情况:
       1)在方法中调用一些不是由java语言写的代码。
       2)在方法中用java语言直接操纵计算机硬件。
       如果使用了native方法也就丢失了java的方便性和安全性。Native方法的执行依赖于JVM的设计者,比如在sun的JVM中,可以通过JNI(Java Native Interface) API接口来实现本地化。

       一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。
      "A native method is a Java method whose implementation is provided by non-java code."




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2