中级Java工程师面试题及答案.docxVIP

  • 0
  • 0
  • 约1.16万字
  • 约 12页
  • 2026-03-21 发布于河北
  • 举报

中级Java工程师面试题及答案

一、Java基础核心(必问,侧重实操细节)

1.说说String、StringBuffer、StringBuilder的区别,实际开发中怎么选?

答案:核心区别在可变性和线程安全,还有性能,没有花里胡哨的,全是实际用的:

1.String:不可变字符串(底层是finalchar数组,JDK1.8后),每次拼接、修改都会新生成一个String对象,频繁操作会浪费内存(比如循环拼接),适合字符串不常变动的场景(比如常量、固定文本)。

2.StringBuffer:可变字符串,线程安全(方法加了synchronized),但性能稍差,适合多线程环境下的字符串拼接(比如多线程日志拼接)。

3.StringBuilder:可变字符串,线程不安全,性能比StringBuffer快(没有锁),适合单线程环境下的频繁字符串操作(比如业务逻辑中的字符串拼接、拼接SQL语句)。

实际开发:单线程优先用StringBuilder;多线程用StringBuffer;字符串固定不变用String。另外,循环拼接字符串,千万别用String的+号,用StringBuilder.append(),避免产生大量临时对象。

2.讲讲Java的多态,实际开发中哪里用到了?举个真实场景例子

答案:多态核心是“父类引用指向子类对象,调用方法时执行子类重写的实现”,核心前提:继

文档评论(0)

1亿VIP精品文档

相关文档