类加载的常见加载顺序

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: 这段内容是关于Java代码执行顺序的示例。代码展示了类的静态代码块、构造器和局部构造块的执行优先级:静态代码块先于构造器和局部构造块执行,并且只在类加载时运行一次。主函数执行前,会依次看到静态代码块、局部构造块(初始化变量)和构造器的输出。列表中总结了执行顺序和特点。
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();
    }
}

输出:

静态代码块
局部代码块

初始化代码
构造器

初始化代码
构造器

初始化代码
构造器

总结:

  • 静态代码块 > 局部(构造)代码块 > 构造器(构造方法)
  • 随着类的加载而执行,而且只一次, 优先于主函数执行
相关文章
|
存储 网络协议 Java
网络通信的核心机制:Socket如何实现高效数据传输(上)
网络通信的核心机制:Socket如何实现高效数据传输
|
存储 JavaScript API
Nuxt.js:用 Vue.js 打造服务端渲染应用程序(三)
Nuxt.js:用 Vue.js 打造服务端渲染应用程序
|
7月前
|
存储 SQL 关系型数据库
MySQL 中的回表是什么?
在 MySQL 中,“回表”是指通过二级索引查询时,因二级索引仅存储索引字段值和主键值,需再根据主键到聚簇索引查找完整行数据的过程。此操作涉及两次索引查找,可能增加 IO 消耗,影响性能。优化方法包括使用覆盖索引或联合索引,避免回表,提升查询效率。合理设计索引对高并发、大数据量场景下的数据库性能至关重要。
415 17
|
7月前
|
XML 前端开发 测试技术
如何使用 Postman 发送 POST XML 请求?
使用 Postman 发送带有 XML 数据的 POST 请求。我们将引导您完成将 XML 数据有效发送到 Web 服务或 API 的步骤,使处理这种常见数据格式变得简单易行。
|
Android开发 索引 容器
【Android 应用开发】Android 组件 位置坐标 属性 ( 组件位置属性 | 父容器坐标系坐标 | 窗口坐标系坐标 | 屏幕坐标系坐标 | 触摸坐标 )
【Android 应用开发】Android 组件 位置坐标 属性 ( 组件位置属性 | 父容器坐标系坐标 | 窗口坐标系坐标 | 屏幕坐标系坐标 | 触摸坐标 )
489 0
|
10月前
|
SQL 机器学习/深度学习 运维
SQL优化有绝招,使用DAS提升工作效率!完成任务可领取保暖手套!
数据库自治服务(Database Autonomy Service,简称DAS)是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务。数据库自治服务DAS支持自动SQL优化,相比传统的优化方式,能够自动识别问题SQL,生成索引优化建议。
|
监控 数据挖掘 数据安全/隐私保护
ERP系统中的客户投诉管理与解决方案解析
【7月更文挑战第25天】 ERP系统中的客户投诉管理与解决方案解析
971 1
|
存储 消息中间件 大数据
大数据-126 - Flink State 03篇 状态原理和原理剖析:状态存储 Part1
大数据-126 - Flink State 03篇 状态原理和原理剖析:状态存储 Part1
252 0
|
Ubuntu Linux 开发工具
idea使用git提交代码报异常refusing to merge unrelated histories和unknown option `allow-unrelated-histories‘
idea使用git提交代码报异常refusing to merge unrelated histories和unknown option `allow-unrelated-histories‘