2026校招Java软件开发工程师面试题及答案.docxVIP

  • 0
  • 0
  • 约8.74千字
  • 约 20页
  • 2026-03-27 发布于未知
  • 举报

2026校招Java软件开发工程师面试题及答案.docx

2026校招Java软件开发工程师面试题及答案

Q1:Java中基本数据类型有哪些?各自的字节长度是多少?boolean类型在JVM中的实际存储是怎样的?

A1:Java共有8种基本数据类型:

-整数型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)

-浮点型:float(4字节)、double(8字节)

-字符型:char(2字节,Unicode编码)

-布尔型:boolean(规范未明确长度,HotSpot中单独boolean用4字节(栈空间对齐),数组中用1字节)

JVM规范未规定boolean的具体存储方式,HotSpot实现中,单个boolean变量在栈帧中作为int处理(4字节),boolean数组则用byte数组存储(每个元素1字节)。这种设计是为了内存对齐和访问效率,避免位操作带来的性能损耗。

Q2:String、StringBuilder、StringBuffer的区别是什么?为什么String是不可变的?

A2:核心区别体现在可变性、线程安全和性能上:

-String:不可变类(final修饰char数组),所有修改操作(如concat)都会生成新对象。线程安全(无状态)。

-StringBuffer:可变类(继承AbstractStringBuilder,char数组非final),方法用

文档评论(0)

1亿VIP精品文档

相关文档