JVM-常见加载顺序

简介: JVM-常见加载顺序
public class CodeBlockDemo 
{
    {
        System.out.println("初始化代码");
    }
    CodeBlockDemo()
    {
        System.out.println("构造器");
    }   
    static
    {
        System.out.println("静态代码块");
    }
    //运行后输出结果?
    public static void main(String[] args) 
    {   
        {
            int a = 10;
            //10
            System.out.println("局部代码块");
        }
        new CodeBlockDemo();
        new CodeBlockDemo();
        new CodeBlockDemo();
    }
}

输出:

静态代码块
局部代码块
初始化代码
构造器
初始化代码
构造器
初始化代码
构造器

总结:

  • 静态代码块 > 局部(构造)代码块 > 构造器(构造方法)
  • 随着类的加载而执行,而且只一次, 优先于主函数执行
相关文章
|
2月前
|
安全 Java 应用服务中间件
JVM常见面试题(三):类加载器,双亲委派模型,类装载的执行过程
什么是类加载器,类加载器有哪些;什么是双亲委派模型,JVM为什么采用双亲委派机制,打破双亲委派机制;类装载的执行过程
JVM常见面试题(三):类加载器,双亲委派模型,类装载的执行过程
|
3月前
|
Java
1.常见加载顺序
这段代码展示了一个名为 `CodeBlockDemo` 的Java公共类。该类包含多种代码块:初始化块、构造函数、静态块及局部块,并演示了它们的执行顺序:静态代码块 > 初始化代码块/构造代码块 > 构造函数。当创建 `CodeBlockDemo` 实例时,会依次显示“初始化代码”、“构造器”。静态代码块随类加载仅执行一次,优先于主函数执行。主函数中创建三个实例,展示了构造过程。
|
4月前
|
Java
类加载的常见加载顺序
这段内容是关于Java代码执行顺序的示例。代码展示了类的静态代码块、构造器和局部构造块的执行优先级:静态代码块先于构造器和局部构造块执行,并且只在类加载时运行一次。主函数执行前,会依次看到静态代码块、局部构造块(初始化变量)和构造器的输出。列表中总结了执行顺序和特点。
|
6月前
|
存储 缓存 安全
JVM 类的加载篇
JVM 类的加载篇
47 0
|
开发框架 前端开发 Java
JVM面试专题-JVM中你知道的类加载器以及作用
JVM面试专题-JVM中你知道的类加载器有哪些?作用是什么?分别用来加载什么文件?什么内容的呢?
83 1
|
6月前
|
存储 缓存 前端开发
JVM(二):Class加载机制
JVM(二):Class加载机制
|
存储 安全 前端开发
【jvm系列-02】jvm的类加载子系统以及jclasslib的基本使用
【jvm系列-02】jvm的类加载子系统以及jclasslib的基本使用
81 0
|
安全 Java 编译器
jvm类的加载机制
jvm类的加载机制
68 0
|
存储 Java 虚拟化
JVM加载class文件的原理机制是什么?
JVM加载class文件的原理机制是什么?
jvm(15) -- 类加载器
jvm(15) -- 类加载器
102 0
jvm(15) -- 类加载器