后端编程高频面试题及详细答案(真实职场版).docxVIP

  • 1
  • 0
  • 约5.61千字
  • 约 8页
  • 2026-09-01 发布于河北
  • 举报

后端编程高频面试题及详细答案(真实职场版).docx

后端编程高频面试题及详细答案(真实职场版)

一、Java基础面试题(高频必问)

1.==和equals的区别是什么?

这是面试最基础的题,核心就两点,分基本类型和引用类型:

1、基本数据类型:==比较的是数值本身,基本类型没有equals方法。

2、引用数据类型:==比较的是内存地址,也就是判断是不是同一个对象;equals是比较对象内容。

举个实际场景:Stringa=123,Stringb=newString(123)。a==b是false,因为地址不一样;a.equals(b)是true,因为字符串内容相同。

补充:String、Integer这些包装类都重写了equals方法,默认比较内容;如果是自己写的实体类,不重写equals,默认还是比较对象地址。

2.String、StringBuilder、StringBuffer的区别?

日常开发区分核心就三个点:可变性、线程安全、性能

1、String:不可变字符串,每次拼接、修改都会生成新对象,频繁操作字符串非常耗内存,性能最差。适合少量固定字符串。

2、StringBuilder:可变字符串,线程不安全,没有锁,性能最高。日常开发字符串拼接优先用这个,绝大多数单线程场景都够用。

3、StringBuffer:可变字符串,方法加了synchronized锁,线程安全

文档评论(0)

1亿VIP精品文档

相关文档