山大地纬Java面试真题(含详细答案).docxVIP

  • 2
  • 0
  • 约5.83千字
  • 约 8页
  • 2026-06-17 发布于河北
  • 举报

山大地纬Java面试真题(含详细答案).docx

山大地纬Java面试真题(含详细答案)

一、Java基础高频题

1、String、StringBuffer、StringBuilder的区别?实际项目怎么选用?

详细答案:

三者核心差异在可变性、线程安全、执行效率三个维度:

1.可变性:String是不可变字符串,底层是final修饰的char数组/byte数组,每次拼接、修改都会生成新字符串对象;StringBuffer和StringBuilder是可变字符串,直接在原数组上修改,不会产生新对象。

2.线程安全:StringBuffer所有方法加了synchronized锁,线程安全,适合多线程场景;StringBuilder无锁,线程不安全,并发环境下会出现数据覆盖问题;String不可变,天然线程安全。

3.执行效率:单线程下StringBuilder效率远高于StringBuffer和String,频繁拼接场景差距极大。

项目选用原则(面试加分):

普通字符串赋值、少量拼接直接用String;单线程下循环拼接、批量字符串处理用StringBuilder;多线程并发拼接场景(如日志批量组装、多线程数据汇总)用StringBuffer。山大地纬政务系统多后台批量数据处理,业务代码基本优先用StringBuilder。

2、Java基本数据类型有哪些?自动装箱拆箱原理及坑点

详细答案:

8种基本数据类型:byte、sho

文档评论(0)

1亿VIP精品文档

相关文档