常见加载顺序

简介: 本示例展示了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
静态代码块
局部代码块

初始化代码
构造器

初始化代码
构造器

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

相关文章
|
1天前
|
JSON API 数据库
如何写好一篇技术方案
本模板用于规范产品需求文档,涵盖项目背景、变更记录、功能模块、流程图、API设计等内容,支持语雀卡片与文件附件,提升团队协作效率。
|
1天前
|
Kubernetes Java 应用服务中间件
开发篇(脚手架下载)
本文介绍基于SpringCloud + Kubernetes的微服务开发实践,重点讲解EDAS 3.0如何优化开发者体验。通过阿里云项目初始化工具快速搭建Spring Cloud Alibaba应用,并利用Cloud Toolkit插件实现本地免运维注册中心,一键启动服务,显著提升开发效率。后续将深入部署、联调等环节。
|
1天前
|
SQL 运维 分布式计算
如何做好SQL质量监控
SLS推出用户级SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,助力用户全面掌握SQL使用情况,实现精细化管理与性能优化,提升日志分析效率与体验。
|
1天前
|
自然语言处理 数据可视化 Docker
安装ES、Kibana、IK
本文介绍如何通过Docker部署单节点Elasticsearch与Kibana,并配置IK分词器。内容涵盖网络创建、镜像加载、容器运行、数据卷挂载、Kibana可视化界面使用及DevTools调试。重点讲解IK分词器的离线安装、扩展词典与停用词典配置,提升中文分词效果。同时提供常见问题解决方案,如ES启动报错处理。全过程适用于学习与测试环境搭建。(238字)
|
1天前
|
存储 监控 Docker
ElasticSearch集群
Elasticsearch集群通过分片与副本机制解决海量数据存储及单点故障问题。将索引拆分为多个shard分布于不同节点,提升存储与性能;通过replica实现数据高可用。利用docker部署多节点集群,结合cerebro监控状态,支持分片管理、故障转移与脑裂防护,确保集群稳定可靠运行。(238字)
|
1天前
|
自然语言处理 关系型数据库 MySQL
数据聚合、自动补全、数据同步
本文介绍了Elasticsearch中数据聚合、自动补全与数据同步的核心功能。通过Bucket、Metric、Pipeline三类聚合,可实现品牌分组、统计计算等实时分析;结合拼音分词器与Completion Suggester,实现搜索框智能提示;并通过MQ或binlog监听实现MySQL与ES的数据同步,提升系统解耦与实时性。
|
1天前
|
运维 安全 Devops
生产环境缺陷管理
git-poison基于go-git实现分布式bug追溯,解决多分支开发中bug漏修、漏发等问题。通过“投毒-解毒-银针”机制,自动化管理bug生命周期,降低协同成本,避免人为失误,已在大型团队落地应用,显著提升发布安全与效率。
|
1天前
|
运维 Java 关系型数据库
微服务概述
微服务架构将单体应用拆分为多个独立、轻量级的服务,各服务围绕业务构建,独立开发、部署与扩展,通过RESTful API通信。它具备服务自治、技术栈灵活、故障隔离等优势,但也带来运维复杂、分布式事务等挑战。自2014年由Martin Fowler等人推动,逐步演进为SpringCloud等成熟方案,成为现代云原生应用的主流架构之一。(238字)
|
1天前
|
存储 负载均衡 Java
Sentinel工作原理
Sentinel 是面向分布式服务架构的流量治理组件,核心概念包括资源与规则。资源指应用中的任意代码块或服务,通过API定义即可受保护;规则则涵盖流量控制、熔断降级和系统保护,支持动态调整。其设计理念强调灵活控流,支持按调用链、QPS、线程数等维度进行限流,采用线程数限制和响应时间降级实现熔断,避免雪崩。同时提供系统负载保护,保障系统稳定。通过Slot链实现资源统计、规则校验与流量调控,支持自定义扩展,具备高可用与低侵入特性。
|
1天前
|
容灾 关系型数据库 Nacos
Seata的部署和集成
本文介绍Seata分布式事务TC服务的部署与微服务集成步骤。包括下载、配置、数据库表初始化,通过Nacos实现配置共享与注册,搭建高可用集群,并实现异地容灾。微服务通过统一配置中心动态映射事务组,提升系统灵活性与可靠性。(239字)