异常
三、处理异常的方式
1、方法throws 异常名
2、try、、、catch、、
方法声明时有异常,调用就需要处理
父类未声明异常,子类也不能声明异常
父类声明异常时,子类可以不声明异常
同时执行异常时,子类范围不大于父类异常
程序不发生问题,只执行try中内容
程序发生问题,该语句在try中得后续语句都不会执行,catch中得执行。
问题处理好,try、catch后的语句(括号外的)会正常执行。
问题处理不好,try、catch后的语句(括号外的)不会执行
一个try可以接多个catch,会从上到下依次找合适的异常类型,进入catch块,
建议最后有一个Exception兜底
用多个catch接受异常时,父异常不能位于子异常的上面。
四、异常堆载信息
手动打印问题
五、fianlly
finally 不管上面try、catch执行如何,都执行,一般用于资源释放 (除非系统退出,比如Ssystem.exit(),此时finally不执行)
六、手动抛出异常
throws和throw的区别
throws是处理异常的一种方式,一般写在方法声明的位置
throw是触发异常事件的推手,与异常对象连用、作为语句、写在方法内部
七、自定义异常
八、
单核cpu,假的应用程序"同时"进行,程序互相切换,切换时间较短,让人认为应用程序"同时"进行,切换时间短。并发
多核cpu,真的应用程序同时进行,并行
进程:正在执行的应用程序
线程:进程中有各自独立的任务,一个任务就是一个线程
每个程序就有两个线程,主方法就是一个线程,另一个是垃圾回收机制。
finailze
九、自定义线程
Thread
Runnable
1、继承Thread类或实现Runnable 接口
2、重写run方法
3、调用start方法,启动线程