博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java native关键字
阅读量:5141 次
发布时间:2019-06-13

本文共 1212 字,大约阅读时间需要 4 分钟。

今天研究object源码的时候,碰到了native关键字。 简单的说就是本地方法,当在方法中调用一些不是由java语言写的代码或者在方法中用java语言,直接操纵计算机硬件时要声明为native方法。

以下是object源码,

    private static native void registerNatives();

    static {
        registerNatives();
    }
    public final native Class<?> getClass();
    public native int hashCode();
    public boolean equals(Object obj) {
    return (this == obj);
    }
    protected native Object clone() throws CloneNotSupportedException;
    public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }   //初学Java时,对对象tostring时候,一直疑惑@后面跟一串数字是什么,原来是hashcode
    public final native void notify();
    public final native void notifyAll();
    public final native void wait(long timeout) throws InterruptedException;
    public final void wait(long timeout, int nanos) throws InterruptedException {
        if (timeout < 0) {
            throw new IllegalArgumentException("timeout value is negative");
        }
        if (nanos < 0 || nanos > 999999) {
            throw new IllegalArgumentException(
                "nanosecond timeout value out of range");
        }
    if (nanos >= 500000 || (nanos != 0 && timeout == 0)) {
        timeout++;
    }
    wait(timeout);
    }
    public final void wait() throws InterruptedException {
    wait(0);
    }
    protected void finalize() throws Throwable { }

转载于:https://www.cnblogs.com/xiaoblog/p/4201157.html

你可能感兴趣的文章
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
使用Xshell密钥认证机制远程登录Linux
查看>>
【模板】最小生成树
查看>>
java面试题
查看>>
pair的例子
查看>>
uva 387 A Puzzling Problem (回溯)
查看>>
Oracle中包的创建
查看>>
django高级应用(分页功能)
查看>>
【转】Linux之printf命令
查看>>
关于PHP会话:session和cookie
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
构造者模式
查看>>
Hbuild在线云ios打包失败,提示BuildConfigure Failed 31013 App Store 图标 未找到 解决方法...
查看>>
找到树中指定id的所有父节点
查看>>
jQuery on(),live(),trigger()
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
treegrid.bootstrap使用说明
查看>>