后端开发高频面试题及详细答案(真实面试版).docxVIP

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

后端开发高频面试题及详细答案(真实面试版).docx

后端开发高频面试题及详细答案(真实面试版)

一、Java基础核心面试题

1.讲讲==和equals的区别

答案:

1)对于基本数据类型:==比较的是数值是否相等,基本类型没有equals方法。

2)对于引用数据类型:==比较的是对象的内存地址,判断是不是同一个对象;equals默认也是比较地址,但很多类重写了该方法。

3)String、Integer等包装类重写了equals方法,重写后比较的是对象内容值,不再比较地址。

日常开发中,比较字符串内容一律用equals,避免==造成的缓存地址判断问题。

2.String、StringBuilder、StringBuffer的区别

答案:

1)String:字符串不可变,每次拼接、修改都会生成新字符串对象,频繁操作会产生大量无用对象,占用内存,效率低。

2)StringBuilder:可变字符串,线程不安全,效率高,单线程字符串拼接首选。

3)StringBuffer:可变字符串,方法加了synchronized锁,线程安全,效率低,多线程环境下使用。

实际开发:绝大多数场景用StringBuilder,仅多线程共享字符串操作时用StringBuffer。

3.重载和重写的区别

答案:

重载(Overload):发生在同一个类中,方法名相同,参数列表(个数、类型、顺序)不同,和返回值、访

文档评论(0)

1亿VIP精品文档

相关文档