• jdk源码阅读-Object类


    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只能调用。

  • 相关阅读:
    [转载]datatable中只取前7条数据
    [转载]序列化的作用
    [转载]ASP.NET几种清除页面缓存的方法
    Page_Init()和page_load()区别
    [转载]回调函数
    编程规约
    语法知识【Python核心编程】
    Web基础概念扫盲
    【Tomcat源码调试-1】环境搭建(MyEclipse)
    小希的数表题解
  • 原文地址:https://www.cnblogs.com/panchangde/p/12021123.html
Copyright © 2020-2023  润新知