乐趣区

关于面试问题:面试题JVM002-Java对象的创建过程

1. 类的生命周期

加载 -> 连贯 -> 初始化 -> 应用 -> 卸载

连贯 = 验证 + 筹备 + 解析

2. 初始化和实例化

  1. 初始化
    动态变量、动态代码块、变量、一般办法、构造方法
    1). 父类 - 动态变量
    2). 父类 - 动态初始块
    3). 子类 - 动态变量
    4). 子类 - 动态块
    5). 父类 - 一般变量
    6). 父类 - 初始块
    7). 父类 - 构造方法
    8). 子类 - 一般变量
    9). 子类 - 一般初始块
    10). 子类 - 构造方法
    Java 继承构造中类的初始化
  2. 实例化
    1). 应用 new 关键字 → 调用了构造函数
    2). 应用 Class 类的 newInstance 办法 → 调用了构造函数
    3). 应用 Constructor 类的 newInstance 办法 → 调用了构造函数
    4). 应用 clone 办法 → 没有调用构造函数
    5). 应用反序列化 → 没有调用构造函数
    6). 应用 Unsafe → unsafe.allocateInstance(Test.class)
退出移动版