文档介绍:Java 笔试题
1. 下面哪些是Thread类的方法()
A start()       B run()       C exit()       D getPriority()
答案:ABD
interrup:中断线程。
run:如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。 
Thread 的子类应该重写该方法。
start:使该线程开始执行;Java 虚拟机调用该线程的 run 方法。
yield:暂停当前正在执行的线程对象,并执行其他线程。
sleep:在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
join:让其他线程插入本线程之前
wait:在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。
notify:唤醒在此对象监视器上等待的单个线程。
notifyAll:唤醒在此对象监视器上等待的所有线程。 
2. ()
A 继承自Throwable      B Serialable      CD 不记得,反正不正确
答案:A
解析:, Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。
扩展:错误和异常的区别(Error vs Exception) 
1) : Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。
: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。
2)  Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查了的异常(checked exceptions).
checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。检查了的异常发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。
unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。发生在运行期,具有不确定性,主要是由于程序的逻辑问题所引起的。比如ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去catch这类异常,虽然能够从诸如RuntimeException这样的