常见加载顺序

简介: 本示例展示了Java中代码块的执行顺序:静态代码块最先执行,仅一次;随后是局部代码块,位于main方法内;每次创建对象时,先执行初始化代码块,再执行构造器。体现了类加载与对象实例化的生命周期顺序。

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();

}

}

输出:


静态代码块

局部代码块


初始化代码

构造器


初始化代码

构造器


初始化代码

构造器

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

目录
相关文章
lyL
|
2月前
|
存储 缓存 算法
零拷贝
本文探讨服务器文件传输的性能优化,传统方法因频繁的上下文切换和内存拷贝导致效率低下。零拷贝技术通过减少系统调用和内存拷贝,提升传输性能,尤其适用于小文件。对于大文件,则推荐异步IO结合直接IO,避免PageCache副作用,实现高并发下的高效传输。
lyL
105 1
零拷贝
lyL
|
2月前
|
存储 缓存 监控
EFC&CTO:缓存引发数据不一致问题排查与深度解析
EFC客户端在适配CTO测试时发现数据不一致问题,经排查为分布式缓存中版本号回退导致读取旧数据,进而污染pagecache并写坏文件系统。通过维护递增版本号修复,最终问题解决。
lyL
70 0
EFC&CTO:缓存引发数据不一致问题排查与深度解析
lyL
|
2月前
|
项目管理 开发者
业务架构图
本文介绍了业务架构图的核心概念与绘制方法,涵盖业务定义、架构分层(组织层、基础能力层、业务能力层、业务应用层)、模块划分与功能分解,并强调通过分层、分模块、分功能三步法实现业务的抽象与结构化表达,提升客户理解与开发效率。
lyL
168 0
业务架构图
lyL
|
2月前
|
存储 消息中间件 开发框架
应用架构图
在业务架构基础上,技术架构将产品需求转化为技术实现。它涵盖分层设计、技术选型与关键组件关系,包括单体四层结构(表现、业务、数据、基础层)和分布式应用的调用关系,明确内外系统边界,形成完整技术体系图谱。(239字)
lyL
86 1
|
2月前
|
存储 JavaScript 中间件
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:Casbin集成指南
GoWind Admin(风行)是企业级前后端一体中后台框架,集成Casbin实现灵活权限管理。支持RBAC、ABAC等模型,提供开箱即用的权限控制方案,助力构建安全可靠的中后台系统。
171 1
|
2月前
|
人工智能 关系型数据库 分布式数据库
玄晶引擎×阿里云:AI获客全链路落地指南,从RAG建模到私域闭环的云原生实践
玄晶引擎结合阿里云,基于RAG+向量数据库构建企业AI获客底座,实现内容生成、智能分发与私域转化全链路自动化。通过深度集成PolarDB、CDN、函数计算等服务,助力中小企降低获客成本60%以上,提升云资源利用率至85%,3个月落地见效,开发者可直接复用架构与代码。
307 7
|
3月前
|
应用服务中间件 Shell nginx
七、Docker核心技术:深入理解网络模式 (Bridge, Host, None, Container)
容器不仅仅是孤立的运行环境,它们需要相互通信,也需要与外部世界进行交互。理解 Docker 的不同网络模式,是构建和部署复杂多容器应用的关键。本节将深入探讨 Docker 原生提供的四种网络模式以及强烈推荐使用的自定义网络。要让它们通信,需要将其中一个容器也连接到另一个网络上。默认 bridge 网络不支持容器名DNS解析,只能通过IP地址通信。容器没有自己的独立IP地址,它共享宿主机的IP。网络模式启动一个容器后,如何查看该容器的IP地址?时,该容器默认会连接到哪个网络?模式运行,并且其内部的应用监听。
649 4
|
3月前
|
Kubernetes 关系型数据库 MySQL
【赵渝强老师】使用Helm简化Kubernetes(K8s)应用的部署和管理
Helm是Kubernetes的应用包管理工具,可简化应用部署与管理。通过Chart模板定义应用配置,支持快速安装、升级和卸载。本文介绍Helm核心概念、部署方法,并实战演示部署MySQL和创建自定义Nginx Chart。
372 3
|
4月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
425 6
|
5月前
|
消息中间件 Java Kafka
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ
本文深入解析了 Kafka 和 RabbitMQ 两大主流消息队列在 Spring 微服务中的应用与对比。内容涵盖消息队列的基本原理、Kafka 与 RabbitMQ 的核心概念、各自优势及典型用例,并结合 Spring 生态的集成方式,帮助开发者根据实际需求选择合适的消息中间件,提升系统解耦、可扩展性与可靠性。
364 1
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ