第九章
1.程序代码没有编写处理异常时,Java语言的默认异常处理机制是: (1)抛出异常;
(2)停止程序的执行。
2.当异常发生时,有两种处理方式:
(1)交由Java语言默认的异常处理机制处理; (2)自行编写try-catch-finally语句块来捕获异常。
3.try语句块若有异常发生时,程序的运行便会中断,抛出“由异常类所产生的对象”, 并按下列步骤来运行:
(1)抛出的对象如果属catch()括号内所欲捕获的异常类。catch会捕获此异常,然后 进入catch语句块继续运行。
(2)无论try语句块是否捕获异常,或者捕获的异常是否与catch()括号中的异常相匹 配,最后一定会运行finally语句块中的程序代码;、
(3)finally块运行结束后,程序转到try-catch-finally语句块之后的语句继续运行。 4.方法中没有使用try-catch语句来处理异常,可在方法声明的头部使用throws语句或 在方法内部使用throw语句将它送往上一层调用机构去处理。即如果一个方法可能会抛
出异常,则可将处理此异常的try-catch-finally块写在调用此方法的程序块内。
第十一章
1.创建线程有两种方法:一种是继承java.lang包中的Thread类,另一种是用户 在定义自己的类中实现Runnable接口。
2.每个线程,在其创建和消亡之前,均会处于下列五种状态之一:新建状态, 就绪状态,运行状态,阻塞状态和消亡状态。
3.被多个线程共享的数据在同一时刻只允许一个线程处于操作之中,这就是同 步控制中的线程间互斥。
4.任何时刻,一个对象的互斥锁只能被一个线程所拥有。
5.一定要保证所有对临界区共享变量的访问与操作均在synchronized代码块中进行。