1. 异常
如图所示:抛出可以检查异常的时候。编译器会报错。【需要特殊处理】
同时:不应该泛华异常。因为这样的结果不利于定位具体的问题
这样的目的是:需要try catch或者继续向上抛出异常
Java Exception的处理机制
1. 先执行doWork。 10/0 触发异常 所以不会打印i=...
2. ArithmeticException异常捕获。 打印异常。在return 0之前,执行finally
3. finally里面输出finally。return 2直接返回。所以上面的return 0并不会被执行【程序会提前退出的】
可以使用子节码进行查看,会发现。finally确实在return之前
2. Collection
Vector是线程安全的。因为方法基本都添加了Synchronized
HashSet也是基于HashMap