字节跳动java笔试题及答案.docxVIP

  • 0
  • 0
  • 约4.89千字
  • 约 12页
  • 2026-11-09 发布于河南
  • 举报

字节跳动java笔试题及答案

一、Java基础与集合(总分40分)

1.在Java中,HashMap和Hashtable的主要区别是什么?为什么HashMap是线程不安全的,在多线程环境下如何保证HashMap的线程安全?(10分)

答案:

主要区别包括:

线程安全性:Hashtable是线程安全的,所有方法都是同步的;HashMap不是线程安全的。

效率:由于Hashtable的方法同步,多线程环境下效率较低;HashMap在单线程环境下效率更高。

null值:HashMap允许key和value为null;Hashtable不允许key或value为null。

底层实现:历史上Hashtable基于Dictionary,使用Enumeration;HashMap基于Map接口和哈希表实现。

线程安全方案:在多线程环境下可以使用Collections.synchronizedMap(newHashMap())或者使用ConcurrentHashMap。

2.String类为什么被设计为不可变的?请列举至少三个好处。(10分)

答案:

String被设计为不可变主要有以下好处:

线程安全:不可变对象天生线程安全,多线程环境下无需同步即可共享。

缓存哈希值:Str

文档评论(0)

1亿VIP精品文档

相关文档