1.toString()
2.equal()
3.getClass()
4.clone()
5.hasCode()
6.wait()
7.notify()
8.notifyall()
9finalize()
notify()和notifyall()的区别:
notifyAll会使所有等待被唤醒的线程退出等待状态,变为等待该对象上的锁,当锁打开的时候,他们就会去竞争。
notify则只会选择一个等待的线程进行通知,并且使得它获取该对象上的锁,不会惊动其他等待的线程。
当第一个线程运行完毕以后释放对象上的锁此时如果该对象没有再次使用notify语句,则即便该对象已经空闲,其他wait状态等待的线程由于没有得到该对象的通知,继续处在wait状态,直到这个对象发出一个notify或notifyAll,它们等待的是被notify或notifyAll,而不是锁。wait()和sleep()的区别
wait()属于Object类上面的方法;wait()属于Thread类上的方法
sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。
在调用sleep()方法的过程中,线程不会释放对象锁。
wait()会使得线程放弃该对象的锁,只有调用notify()方法唤醒该线程,并且把锁给他,他才会继续运行,否则一直挂着等待唤醒,重新拿到锁。