Object源码观后感

2018-10-18  本文已影响0人  楚朝伟

在java中有句话 叫object就是上帝,一切对象都是object。下面 好好看一下obj类里面到底有啥东西

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

首先看到一个静态方法,和一个代码块。 这个方法被native 修饰。
从其他博客上看到: 一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。
registerNatives() 这个方法是将java注册到c里 好调用c的方法。

objgct 里面有 getClass() hashCode() equals(Object obj) Object clone() toString() void notify() notifyAll() wait(long timeout) wait(long timeout, int nanos) wait() finalize()。

像getClass equals 这样的方法在object这个对象里面很好理解。 而wait notify 这样关于线程的方法也在object里面 不免让人觉得有些奇怪。
当使用synchronized关键词修饰的时候 锁里可以是任意对象,所以任意对象都可以调用wait()和notify();所以wait和notify属于Object。

上一篇下一篇

猜你喜欢

热点阅读