- 1
- 0
- 约4.86千字
- 约 8页
- 2026-09-01 发布于河北
- 举报
后端程序员高频面试题及详细答案(接地气实战版)
一、Java基础高频题(通用后端核心)
1.说说==和equals的区别?
参考答案:
==是比较运算符,基本数据类型比较的是数值本身,引用数据类型比较的是内存地址。
equals是Object类的方法,默认情况下和==效果一样,也是比较内存地址。但像String、Integer这些常用类,都重写了equals方法,重写后只比较对象内容,不比较地址。
日常开发中,字符串对比、对象内容对比,一律用equals;基本类型判断相等用==。
2.String、StringBuilder、StringBuffer的区别?
参考答案:
String是不可变字符串,每次拼接、修改都会生成新的字符串对象,频繁操作会产生大量无用对象,效率很低。
StringBuilder和StringBuffer是可变字符串,修改不会新建对象,效率更高。
核心区别在线程安全:
StringBuilder:线程不安全,多线程并发操作会出问题,单线程场景速度最快,日常业务优先用
StringBuffer:加了同步锁,线程安全,但是性能稍差,只有多线程操作字符串时才用
3.重载和重写的区别?
参考答案:
重载(Overload):发生在同一个类中,方法名必须相同,参数个数、类型、顺序不同,和返回值、修饰符无关。属于编译期多
原创力文档

文档评论(0)