【仅供参考】【仅供参考】
final:是修饰符,如果修饰类,此类不能被继承;如果修饰方法和变量,则表示此方法和此变
量不能在被改变,只能使用。
finally:是 try{} catch{} finally{} 最后一部分,表示不论发生任何情况都会执
行,finally 部分可以省略,但如果 finally 部分存在,则一定会执行 finally 里面的代
码。
finalize:是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法。
20、throw 和 throws 的区别是什么?
【仅供参考】【仅供参考】
Java 中的异常处理除了包括捕获异常和处理异常之外,还包括声明异常和拋出异常,可以通过
throws 关键字在方法上声明该方法要拋出的异常,或者在方法内部通过 throw 拋出异常对
象。
throws 关键字和 throw 关键字在使用上的几点区别如下:
throw 关键字用在方法内部,只能用于抛出一种异常,用来抛出方法或代码块中的异常,受查
异常
和非受查异常都可以被抛出。
throws 关键字用在方法声明上,可以抛出多个异常,用来标识该方法可能抛出的异常列表。一
个
方法用 throws 标识了可能抛出的异常列表,调用该方法的方法中必须包含可处理异常的代
码,否
则也要在方法签名中用 throws 关键字声明相应的异常。
二、高级篇二、高级篇
1、ArrayList 和 LinkedList 的区别是什么?
【仅供参考】【仅供参考】
数据结构实现:ArrayList 是动态数组的数据结构实现,而 LinkedList 是双向链表的数据结
构实现。
随机访问效率:ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 LinkedList 是
线性的数据存储方式,所以需要移动指针从前往后依次查找。
增加和删除效率:在非首尾的增加和删除操作,LinkedList 要比 ArrayList 效率要高,因为
ArrayList 增删操作要影响数组内的其他数据的下标。
综合来说,在需要频繁读取集合中的元素时,更推荐使用 ArrayList,而在插入和删除操作较
多时,更推荐使用 LinkedList。
2、ArrayList 和 Vector 的区别。
【仅供参考】【仅供参考】
Vector 和 ArrayList 几乎一致,唯一的区别是 Vector 在方法上使用了 synchronized 来保
证线程安全,因此在性能上 ArrayList 具有更好的表现。