面试题-JVM-002. 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)

你可能感兴趣的:(面试问题javajvm)