JDK源码学习~Object

Jdk1.8

public class Object {}

Java是一门面向对象的语言,饱含抽象的特性,它的设计也是如此,万事万物都有根源,在java中以类为单元,类与类之间也有联系。

继承:Object为顶层父类,也可以叫做“上帝类”,是所有类的源头,如果一个类没有显式的继承某个类,那么它将默认继承自Object。

方法一览:

//在类被加载的时候进行一些必要的初始化工作
private static native void registerNatives();

//获取类在内存中的字节码对象
 public final native Class<?> getClass();

//获取哈希code
 public native int hashCode();

//类拷贝
 protected native Object clone() throws CloneNotSupportedException;

//线程唤醒(单个)对应notifyAll()
 public final native void notify();

//线程挂起
 public final native void wait(long timeout) throws InterruptedException;

//比较
 public boolean equals(Object obj);

//对象信息转字符串输出
public String toString()

//挂起时间+1
 public final void wait(long timeout, int nanos) throws InterruptedException

//
public final void wait() throws InterruptedException

//对象被回收前调用,完成后被GC回收
  protected void finalize() throws Throwable

主要大部分是本地native方法,

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 > 0) {
            timeout++;
        }

        wait(timeout);
    }

这个wait方法不是很明白它存在的意义,明面上就是timeout+1,由于timeout可能为0,难道只是为了多拖延1ms?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值