java本地方法:native方法「建议收藏」

java本地方法:native方法「建议收藏」在java中,native方法是指本地方法,当在方法中调用一些不是由java语言写的代码或者在方法中用java语言直接操纵计算机硬件时要声明为native方法。native方法的执行依赖于JVM的设计者,比如在sunHotSpot(JVM)中,通过JNI(JavaNativeInterface)的API接口来实现本地化。Native方法常用于两种情况:  1)在方法中调用一些不

大家好,欢迎来到IT知识分享网。

在java中,native方法是指本地方法,当在方法中调用一些不是由java语言写的代码或者在方法中用java语言直接操纵计算机硬件时要声明为native方法。
native方法的执行依赖于JVM的设计者,比如在sun HotSpot(JVM)中,通过JNI(Java Native Interface)的API接口来实现本地化。
Native方法常用于两种情况:
   1)在方法中调用一些不是由java语言写的代码。
   2)在方法中用java语言直接操纵计算机硬件。

在定义一个native方法时,并不提供实现体(有些像定义一个java interface),因为其实现体是由非java语言在外面实现的,下面给了一个示例:    
?
1
2
3
4
5
public 
class 
INativeDemo{
    
native 
public 
void 
Native1(
int 
x);
    
native 
static 
public 
long 
Native2();
    
native 
synchronized 
private 
float 
Native3(Object o);
}

native标识符可以与所有其它的java标识符连用,但是abstract除外。因为native标识符暗示这些方法是有实现体的,只不过这些实现体是非java的,但是abstract却显然的指明这些方法无实现体。native与其它java标识符连用时,与同java普通方法并无差别,比如native static表明这个方法可以在不产生类的实例时直接调用。上面的第三个方法用到了native synchronized,JVM在进入这个方法的实现体之前会执行同步锁机制。

native方法的存在并不会对其他类调用这些本地方法产生任何影响,实际上调用这些方法的其他类甚至不知道它所调用的是一个本地方法。如果一个含有本地方法的类被继承,子类会继承这个本地方法并且可以用java语言重写这个方法,同样的如果一个本地方法被fianl标识,它被继承后不能被重写。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24282.html

(0)
上一篇 2023-08-26 11:45
下一篇 2023-08-26 14:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信