error与Exception区别 && sleep()和wait()有什么区别

来源:互联网 发布:淘宝店铺关联打印 编辑:程序博客网 时间:2024/06/11 18:28

(1)Error类和Exception类都继承自Throwable类。

Error的继承关系:
java.lang.Object-> java.lang.Throwable-> java.lang.Error

Exception的继承关系:
java.lang.Object-> java.lang.Throwable-> java.lang.Exception

(2)二者的不同之处:

 Exception:

1.可以是可被控制(checked) 或不可控制的(unchecked)

2.表示一个由程序员导致的错误

3.应该在应用程序级被处理

 Error:

1.总是不可控制的(unchecked)

2.经常用来用于表示系统错误或低层资源的错误

3.如何可能的话,应该在系统级被捕捉

(3)Java 中异常类的继承关系图:
                                

(4)关于异常处理请参见博文:Java异常处理及异常机制介绍http://blog.csdn.net/zhandoushi1982/article/details/5484111

=============================================================================================

       sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复;调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

 

参考原文:http://yinchunjian.javaeye.com/blog/443957

原创粉丝点击