淘宝Java面试题及详细答案(实战完整版).docxVIP

  • 0
  • 0
  • 约5.27千字
  • 约 7页
  • 2026-11-01 发布于河北
  • 举报

淘宝Java面试题及详细答案(实战完整版).docx

淘宝Java面试题及详细答案(实战完整版)

一、Java基础高频面试题

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

==是比较运算符,对于基本数据类型,直接比较数值是否相等;对于引用类型,比较的是对象的内存地址。

equals是Object类的方法,默认情况下和==效果一致,比较对象地址。但String、Integer等包装类重写了equals方法,会直接比较对象的内容值。

日常开发中,字符串对比必须用equals,避免地址不同导致判断失误。淘宝业务中大量参数校验、状态判断都会用到这个知识点,是基础必考点。

2.String、StringBuilder、StringBuffer的区别?

String是不可变字符串,每次拼接、修改都会生成新对象,频繁操作会产生大量垃圾对象,性能最差。

StringBuffer线程安全,方法加了synchronized锁,多线程环境下不会出现并发问题,但锁竞争会导致性能偏低。

StringBuilder线程不安全,无锁,性能最高,单线程字符串拼接首选。

淘宝接口开发中,单线程参数拼接、日志组装一律用StringBuilder;多线程批量处理字符串场景才用StringBuffer。

3.重写和重载的区别?

重载:发生在同一个类中,方法名相同,参数个数、类型、顺序不同,和返回值无关,属于编译期多态。主要用于方法

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档