码迷,mamicode.com
首页 > 其他好文 > 详细

jdk源码阅读-Object类

时间:2019-12-11 11:20:48      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:jdk源码   public   throw   调用   object c   timeout   reg   为我   关键字   

native 关键字

private static native void registerNatives();
    static {
        registerNatives();
    }

public final native Class<?> getClass();

public native int hashCode();

protected native Object clone() throws CloneNotSupportedException;


public final native void notify();


public final native void notifyAll();


public final native void wait(long timeout) throws InterruptedException;

native是与C++联合开发的时候用的!java自己开发不用的!

使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。
这些函数的实现体在DLL中,JDK的源代码中并不包含,你应该是看不到的。对于不同的平台它们也是不同的。这也是java的底层机制,实际上java就是在不同的平台上调用不同的native方法实现对操作系统的访问的。



1。native 是用做java 和其他语言(如c++)进行协作时用的
也就是native 后的函数的实现不是用java写的
2。既然都不是java,那就别管它的源代码了,呵呵



native的意思就是通知操作系统,
这个函数你必须给我实现,因为我要使用。
所以native关键字的函数都是操作系统实现的,
java只能调用。

jdk源码阅读-Object类

标签:jdk源码   public   throw   调用   object c   timeout   reg   为我   关键字   

原文地址:https://www.cnblogs.com/panchangde/p/12021123.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!