华为外包面试题目与参考答案.docxVIP

  • 10
  • 0
  • 约7.49千字
  • 约 17页
  • 2026-04-21 发布于未知
  • 举报

华为外包面试题目与参考答案

一、技术基础题(Java方向)

1.请详细描述JVM内存模型,并说明各区域的作用及常见异常类型。

JVM内存模型主要分为线程共享区和线程私有区两部分:

-线程私有区:

-程序计数器:记录当前线程执行的字节码行号,用于线程切换后恢复执行位置。无内存溢出问题(OOM)。

-Java虚拟机栈:存储栈帧(局部变量表、操作数栈、动态链接、方法出口),每个方法调用对应一个栈帧入栈。常见异常为StackOverflowError(栈深度超过限制)和OOM(栈扩展失败)。

-本地方法栈:与虚拟机栈类似,服务于本地(Native)方法调用,HotSpot虚拟机将其与虚拟机栈合并。

-线程共享区:

-堆(Heap):所有对象实例和数组的分配区域,是GC的主要目标。JDK8后,字符串常量池从方法区移至堆。常见异常为OOM(内存不足时无法分配对象)。

-方法区(元空间,MetaSpace):JDK7前称“永久代”,存储类信息、常量、静态变量、即时编译器编译后的代码等。JDK8后用本地内存实现的元空间替代,避免永久代内存限制。常见异常为OOM(元空间容量不足,如加载过多类或常量)。

关键点补充:堆内存可通过-Xms(初始大小)和-Xmx(最大大小)设置,方法区(元空间)通过-XX:MetaspaceSiz

文档评论(0)

1亿VIP精品文档

相关文档