常见加载顺序

简介: 本示例展示了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
运行代码
复制代码

静态代码块
局部代码块

初始化代码
构造器

初始化代码
构造器

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

相关文章
|
8月前
|
JSON Java 数据格式
SpringBoot使用汇总
本课程系统讲解Spring Boot核心知识,涵盖环境搭建、JSON处理、日志配置、全局异常处理、AOP切面编程及MyBatis、Redis等主流框架集成,并结合实际项目搭建完整开发架构,助你快速掌握微服务开发技能。
|
8月前
|
人工智能 JSON 数据挖掘
大模型应用开发中MCP与Function Call的关系与区别
MCP与Function Call是大模型应用的两大关键技术。前者是跨模型的标准协议,实现多工具动态集成;后者是模型调用外部功能的机制。MCP构建通用连接桥梁,支持跨平台、热插拔与细粒度管控,适用于复杂企业场景;Function Call则轻量直接,适合单模型快速开发。二者可协同工作:模型通过Function Call解析意图,转为MCP标准请求调用工具,兼顾灵活性与扩展性。未来将趋向融合,形成“解析-传输-执行”分层架构,推动AI应用标准化发展。
|
8月前
|
监控 Java 测试技术
OOM排查之路:一次曲折的线上故障复盘
本文记录了一次线上服务因Paimon数据湖与RocksDB集成引发的三次内存溢出(OOM)故障排查全过程。通过MAT、NMT、async-profiler等工具,结合监控分析与专家协作,最终定位到RocksDB通过JNI申请的堆外内存未释放是根源。团队通过架构优化,改由Flink统一写入Paimon,彻底解决问题。文章系统梳理了排查思路与工具使用,为类似技术栈提供宝贵经验。
|
8月前
|
Java
@Inherited
@Inherited用于注解,使子类继承父类中标记该注解的元数据。仅在类继承中有效,接口间或实现接口时不生效。
|
8月前
|
SQL Dubbo Java
线程池:故障梳理总结
本文从故障与技术双重视角,总结线程池满导致服务不可用的常见场景及解决方案。涵盖数据库慢查询、热更新、DDL锁表、连接池配置不当等问题,结合真实案例剖析根因,并提出fast-fail、流控背压、合理重试等最佳实践,助力开发者提升系统稳定性。
|
8月前
|
Java 测试技术 API
从Google线上故障,谈灰度发布的重要性
2025年6月12日,Google Cloud因未灰度发布的新功能引发空指针异常,导致全球服务中断超7小时。故障暴露了配置管理的重大隐患。本文深入分析根因,详解基于Nacos的IP与标签灰度发布方案,强调通过配置中心实现渐进式发布的必要性,为高可用系统提供实战指南。
|
8月前
|
运维 Devops 开发工具
生产环境缺陷管理
git-poison基于go-git实现,通过“投毒-解毒”机制在分布式环境中精准追溯、管理bug,避免多分支开发中bug修复遗漏问题。它不依赖人工沟通,自动卡点发布流程,有效阻塞带未修复bug的版本上线,已在大型团队落地一年,显著降低协同成本与生产风险。
|
8月前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队如何通过自动化部署平台实现多环境(dev/test/pre/prod)高效发布与运维。涵盖各环境职责、基于Jenkins+K8S的CI/CD流程、分支管理、一键发布及回滚机制,并结合Skywalking实现日志链路追踪,提升问题定位与修复效率,助力企业级DevOps落地。
|
8月前
|
前端开发 安全 Java
自定义认证前端页面
本示例演示Spring Security基础配置:前端引入登录页,后端新增接口与安全配置。通过SecurityConfig实现请求认证、表单登录、自定义跳转等,启动后访问/demo/index自动跳转登录页,认证成功返回提示信息,完成权限控制验证。