JAVA银行外包开发面试经验
《面试题目》
- HashMap和Hashtable有什么区别?
- final、finally、finalize的区别是什么?
《参考解析》
-
HashMap vs Hashtable:
- 线程安全性:Hashtable是线程安全的(方法由synchronized修饰),HashMap非线程安全。
- Null值:HashMap允许key和value为null,Hashtable不允许。
- 继承体系:HashMap继承自AbstractMap,Hashtable继承自Dictionary。
- 效率:Hashtable由于同步开销,性能较差,现代开发通常推荐在多线程环境下使用ConcurrentHashMap。
-
final、finally、finalize的区别:
- final:修饰符,用于类(不可继承)、方法(不可重写)或变量(常量,不可变)。
- finally:异常处理结构的关键字,确保代码块无论是否抛出异常都会执行(常用于资源释放)。
- finalize:Object类的方法,在对象被垃圾回收前由JVM调用,不建议重写,执行时机不确定。