首页 > 试题广场 >

以下关于JVM类加载过程中"准备"阶段的行为,哪些是正确的?

[不定项选择题]
以下关于JVM类加载过程中"准备"阶段的行为,哪些是正确的?
  • 静态变量会被赋予零值(如int赋0,引用赋null)
  • static final的编译期常量会在准备阶段直接赋予指定值
  • 实例变量会在准备阶段分配内存
  • 静态代码块(static {})在准备阶段执行

JVM类加载一共分为 5 个阶段

1.加载(Loading)

  • 通过类名找到.class文件
  • 读取字节码
  • 在内存中生成 Class 对象

2.验证(Verification)

  • 文件格式是否正确
  • 是否符合 JVM 规范
  • 是否有安全问题

3.准备(Preparation)

  • 给 static 变量分配内存并赋默认值

4.解析(Resolution)

  • 把“符号引用”变成成“直接引用”
    类名 → 内存地址
    方法 → 实际入口

5.初始化(Initialization)

  • static 变量赋初值
  • static 代码块执行
编辑于 今天 15:58:57 回复(0)