计算机后端技术面试题库(含详细真实面试答案).docxVIP

  • 0
  • 0
  • 约6.17千字
  • 约 8页
  • 2026-08-18 发布于河北
  • 举报

计算机后端技术面试题库(含详细真实面试答案).docx

计算机后端技术面试题库(含详细真实面试答案)

一、Java基础核心面试题

1.讲讲==和equals的区别

核心分两种场景,基本类型和引用类型。基本类型==比较的是数值本身,没有equals方法。引用类型==比较的是对象的内存地址,也就是判断是不是同一个对象;equals是方法,默认也是比较地址,但是像String、Integer这些类都重写了equals,重写后是比较对象的内容值。

日常开发里,字符串对比一定要用equals,避免空指针的话,一般把常量放前面,比如test.equals(str)。

2.String、StringBuilder、StringBuffer的区别

首先是可变性:String是不可变字符串,每次拼接都会生成新对象,频繁拼接非常耗性能。StringBuilder和StringBuffer是可变的,底层是字符数组,不会频繁创建新对象。

然后是线程安全:StringBuffer加了synchronized锁,线程安全,多线程场景用;StringBuilder无锁,线程不安全,单线程性能最高。

实际开发:单线程字符串拼接一律用StringBuilder,多线程共享变量拼接用StringBuffer,固定不变的字符串用String。

3.重载和重写的区别

重载是在同一个类里,方法名相同,参数列表不同(个数、类型、顺序),和返回值、修饰符、异常没

文档评论(0)

1亿VIP精品文档

相关文档