zoukankan      html  css  js  c++  java
  • Object类中常见的方法,为什么wait notify会放在Object里边

    toString():输出一个对象的地址字符串(哈希code码);可以通过重写toString方法,获取对象的属性! 

    equals():比较的是对象的引用是否指向同一块内存地址, 重写equals()方法比较两个对象的内容是否相同 

    Object() :默认构造方法 

    clone() :创建并返回此对象的一个副本。 

    finalize() :当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 

    getClass() :返回一个对象的运行时类。 

    hashCode() :返回该对象的哈希码值。

    notify() :唤醒在此对象监视器上等待的单个线程。 

    notifyAll() : 唤醒在此对象监视器上等待的所有线程。 

    wait() : 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。 

    wait(long timeout) : 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量。 

    wait(long timeout, int nanos) : 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量。

    为什么wait notify会放在Object里边?wait(),notify(),notifyAll()用来操作线程为什么定义在Object类中? 
    1、这些方法存在于同步中;
    2、使用这些方法必须标识同步所属的锁;
    3、锁可以是任意对象,所以任意对象调用方法一定定义在Object类中。
    wait(),sleep()区别?
    wait():释放资源,释放锁
    sleep():释放资源,不释放锁

     

  • 相关阅读:
    uva 11248 最大流 ISAP
    【力扣】133. 克隆图
    【力扣】125. 验证回文串
    【力扣】130. 被围绕的区域
    【力扣】337. 打家劫舍 III
    【力扣】104. 二叉树的最大深度-及二叉树的遍历方式
    【力扣】392. 判断子序列
    【力扣】95. 不同的二叉搜索树 II
    【力扣】120. 三角形最小路径和
    【力扣】两个数组的交集 II
  • 原文地址:https://www.cnblogs.com/goodbye-lazy/p/10384435.html
Copyright © 2011-2022 走看看