zoukankan      html  css  js  c++  java
  • 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只能调用。

  • 相关阅读:
    LeetCode 560. Subarray Sum Equals K (子数组之和等于K)
    25、LinkedList特有方法
    24、List三个子类的特点
    23、数据结构之数组和链表
    22、Vector简介
    21、List遍历时修改元素的问题
    20、List集合中特有的方法
    19、集合概述
    18、Random类简介
    17、enum简介
  • 原文地址:https://www.cnblogs.com/panchangde/p/12021123.html
Copyright © 2011-2022 走看看