Java中级工程师面试题及答案.docx

Java中级工程师面试题及答案

一、Java基础进阶(核心必问)

1.说说HashMap和HashTable的区别,实际开发中你更倾向用哪个?为什么?

答案:最核心的区别有3点,结合实际开发场景来说:

1.线程安全:HashTable是线程安全的,所有方法都加了synchronized锁;HashMap是非线程安全的。但实际开发中,很少用HashTable,因为它的锁是全局锁(锁整个对象),并发效率极低,多线程场景下,我们更倾向用ConcurrentHashMap(分段锁/CAS机制,效率更高)。

2.空值支持:HashMap允许key和value为null(key只能有一个null)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档