zoukankan      html  css  js  c++  java
  • Object和Thread自带的原生方法

    Object类:

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

    2) equals(obj):指示其对象是否与此对象“相等”。

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

    4) getClass():返回此Object的运行时类。

      子类继承父类时,如果都没有重写getClass()方法,则super().getClass().getName()返回的是包名+运行时的类名,即包名+子类类名。而super().getClass().getSuperclass().getName()返回的是包名+父类类名

    5) hashCode():返回该对象的哈希码值。一般必须满足obj1.equals(obj2)==true。可以推出obj1.hashCode()==obj2.hashCode(),但是hashCode相等不一定就满足equals。不过为了提高效率,应该尽量使上面两个条件接近等价。

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

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

    8) toString():返回该对象的字符串表示。

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

    wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

    调用该方法后当前线程进入睡眠状态,直到以下事件发生。

    (1)其他线程调用了该对象的notify方法。

    (2)其他线程调用了该对象的notifyAll方法。

    (3)其他线程调用了interrupt中断该线程。

    (4)时间间隔到了。

    此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

  • 相关阅读:
    iOS开发之Socket
    IOS开发之Bug--使用KVC的易错情况
    IOS开发之功能模块--给任意的UIView添加点击事件
    IOS开发之开发者账号遇到的bug
    iOS开发--关于TableViewCell的可视化设置细节
    学习Coding-iOS开源项目日志(四)
    Learn how to Use UIPageViewController in iOS
    关于Storyboard的使用
    学习Coding-iOS开源项目日志(三)
    学习Coding-iOS开源项目日志(二)
  • 原文地址:https://www.cnblogs.com/cing/p/8622440.html
Copyright © 2011-2022 走看看