常见加载顺序

简介: 本示例展示了Java中各类代码块的执行顺序:静态代码块随类加载执行,仅一次;局部代码块在方法内按序执行;构造代码块每次创建对象前执行。输出顺序体现:静态 > 局部 > 构造。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
运行代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
静态代码块
局部代码块

初始化代码
构造器

初始化代码
构造器

初始化代码
构造器
总结:
静态代码块 > 局部(构造)代码块 > 构造器(构造方法)
随着类的加载而执行,而且只一次, 优先于主函数执行

相关文章
|
8月前
|
存储 缓存 安全
One Trick Per Day
初始化Map应避免默认容量导致的扩容开销,推荐使用Guava的`newHashMapWithExpectedSize`或手动计算初始容量。,应显式通过`ThreadPoolExecutor`定义核心参数。`Arrays.asList`返回不可变列表,不支持增删操作,且与原数组共享数据。遍历Map时优先使用`entrySet`,减少遍历次数提升性能;JDK8可用`forEach`。`SimpleDateFormat`非线程安全,禁用static修饰,建议使用ThreadLocal或JDK8新时间API。并发更新记录需加锁,可采用数据库乐观锁(version)或缓存锁机制,确保数据一致性。
|
5月前
|
人工智能 弹性计算 数据可视化
阿里云OpenClaw部署实操教程:轻量应用服务器+百炼免费大模型
OpenClaw(“小龙虾”)是一款开源AI智能体,不仅能聊天,更能自动处理文件、运行代码、收发邮件等任务。本教程教你用阿里云轻量服务器+百炼免费大模型,零代码10分钟部署专属AI数字员工!
1042 25
|
5月前
|
安全 Cloud Native Java
吃透 API 网关:从核心原理、架构选型到千万级 QPS 高性能设计实战
API网关是微服务架构的流量中枢,承担统一接入、智能路由、安全防护、流量治理、协议转换与可观测性等核心能力。它解耦客户端与后端服务,提升系统稳定性、安全性与可维护性,是云原生架构的关键基础设施。
674 1
|
8月前
|
人工智能 Java API
Java Spring Boot 拥抱 AI 原生:从 API 调用到架构重构的进化之路
在AI时代,Java开发者需突破调用API的表层应用,以Spring Boot为基石,推动从“菜单驱动”到“意图驱动”的范式变革。通过构建智能体为核心、工具化封装Service、强化记忆与安全管控的四层架构,融合RAG、异步调度与全链路监控,实现AI原生应用的工程化落地。依托Spring生态的稳定性与可管理性,逐步演进现有系统,让Java在AI原生时代焕发新生。
492 8
|
8月前
|
移动开发 API HTML5
Cisco Modeling Labs (CML) 2.9.1 - 网络仿真工具
Cisco Modeling Labs (CML) 2.9.1 - 网络仿真工具
452 0
|
8月前
|
存储 弹性计算 安全
阿里云“99套餐”活动解析:套餐相关规则及云产品及组合配置与价格参考
阿里云“99套餐”是阿里云为了助力个人和中小企业无忧上云而推出的套餐组合活动,目前活动截止日期已延长到2027年3月31日。“99套餐”为在选购云服务器的同时还需要选购AI建站、SSL证书、安全防护包、RDS数据库等云产品的用户提供了额外的组合购买套餐,包括建站礼包、加36元防护主机安全、加99元解锁弹性数据库、加99元享高效存储保障等套餐,帮助用户一键选购。本文为大家介绍活动的相关规则及组合套餐配置与价格,以供参考。
1102 2
|
11月前
|
机器学习/深度学习 传感器 分布式计算
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
683 14
|
5月前
|
消息中间件 关系型数据库 MySQL
CDC是什么?一文带大家全面了解CDC
CDC(变更数据捕获)是实时感知数据库INSERT/UPDATE/DELETE操作的核心技术,绕过应用层直读事务日志(如MySQL Binlog、PG WAL),实现精准、低侵入、全量+增量一体化同步。广泛应用于实时数仓、缓存更新、微服务协同与审计日志等场景。
|
7月前
|
人工智能 关系型数据库 分布式数据库
重磅更新!PolarDB数据库全面内化AI能力
2026阿里云PolarDB开发者大会上,PolarDB正式发布AI原生数据库系列能力,推出AI数据湖库(Lakebase)、模型算子化、Agent托管等创新功能,实现多模态数据统一管理与库内智能推理,推动数据库从“AI就绪”迈向“AI原生”,赋能企业高效构建安全合规的AI应用。
774 1
重磅更新!PolarDB数据库全面内化AI能力
|
8月前
|
存储 缓存 Java
七、ThreadLocal
ThreadLocal是线程本地变量,为每个线程提供独立的变量副本,避免线程间竞争。每个线程可独立操作自己的数据,互不干扰。适用于如任务耗时统计等场景,提升性能。子线程无法继承父线程的ThreadLocal值,但可通过InheritableThreadLocal实现数据传递。底层通过ThreadLocalMap存储,线程退出时自动清理,也可手动remove释放内存。

热门文章

最新文章