2026最新JavaEE面试题(含真实口语化详细答案).docxVIP

  • 2
  • 0
  • 约5.78千字
  • 约 9页
  • 2026-06-07 发布于河北
  • 举报

2026最新JavaEE面试题(含真实口语化详细答案).docx

2026最新JavaEE面试题(含真实口语化详细答案)

一、Java基础核心面试题(必问)

1、==和equals的区别?日常开发怎么用?

答案:

==是比较运算符,基本数据类型比的是数值本身,引用类型比的是内存地址。

equals是Object的方法,默认和==一样比地址,但是像String、Integer这些类重写了这个方法,改成了比较内容值。

日常开发规范:

1)字符串对比一律用equals,不要用==;

2)常量放前面,变量放后面,比如test.equals(str),避免空指针;

3)基本类型判断直接用==。

2、String、StringBuilder、StringBuffer的区别?工作中怎么选?

答案:

String是不可变字符串,每次拼接都会生成新对象,频繁拼接会大量占用内存、产生GC,效率最低。

StringBuffer线程安全,方法加了synchronized锁,多线程环境用,但是性能差一点。

StringBuilder线程不安全,没有锁,单线程拼接效率最高。

开发选择:

普通字符串赋值、少量拼接用String;频繁循环拼接字符串,单线程一律用StringBuilder,几乎不用StringBuffer。

3、HashMap底层原理?JDK1.8做了哪些优化?

答案:

HashMap底层是数组+链表+红黑树

文档评论(0)

1亿VIP精品文档

相关文档