常见加载顺序

简介: 本示例展示了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
|
4月前
|
存储 缓存 算法
零拷贝
本文探讨服务器文件传输的性能优化,传统方法因频繁的上下文切换和内存拷贝导致效率低下。零拷贝技术通过减少系统调用和内存拷贝,提升传输性能,尤其适用于小文件。对于大文件,则推荐异步IO结合直接IO,避免PageCache副作用,实现高并发下的高效传输。
lyL
208 3
零拷贝
|
4月前
|
敏捷开发 Dubbo Java
需求开发人日评估
本文介绍敏捷开发中工时评估的关键方法——人日估算。涵盖开发、自测、联调、测试及发布各阶段的时间分配,并提供常见需求如Excel导入导出、单表增删改查、跨服务调用等的参考人日,助力团队科学规划迭代周期。(238字)
 需求开发人日评估
|
4月前
|
监控 算法 Unix
Thread.sleep(0) 到底有什么用(读完就懂)
Thread.Sleep用于暂停线程执行,但不保证精确唤醒时间。Sleep(1000)不代表1秒后立即恢复,系统需重新调度CPU;而Sleep(0)会触发立刻重新竞争CPU,让出执行权给其他线程,避免界面假死。
123 1
lyL
|
4月前
|
自然语言处理 fastjson Java
FastJson:大面积故障规避案例
本文记录了一次由Kotlin语法混淆引发的FastJson反序列化重大故障。因误将 `{}` 赋值给Java对象字段,导致FastJson内部静态标记位 `kotlin_error` 被置为true且无法恢复,进而引发全局反序列化失败。问题根源隐蔽,排查耗时两天,凸显多语言混编下对语法细节掌握的重要性,也警示不可盲目信任第三方框架。
lyL
221 1
FastJson:大面积故障规避案例
lyL
|
4月前
|
Java 大数据
ArrayList扩容机制
本文深入解析Java中ArrayList的add及扩容机制。首次添加元素时,容量从0扩至10;后续通过ensureCapacityInternal和grow方法实现动态扩容,每次扩容为原容量的1.5倍,借助位运算提升性能,并详解size、length等易混淆概念。
lyL
117 2
lyL
|
4月前
|
存储 消息中间件 开发框架
应用架构图
在业务架构基础上,技术架构将产品需求转化为技术实现。它涵盖分层设计、技术选型与关键组件关系,包括单体四层结构(表现、业务、数据、基础层)和分布式应用的调用关系,明确内外系统边界,形成完整技术体系图谱。(239字)
lyL
277 1
lyL
|
4月前
|
存储 缓存 监控
EFC&CTO:缓存引发数据不一致问题排查与深度解析
EFC客户端在适配CTO测试时发现数据不一致问题,经排查为分布式缓存中版本号回退导致读取旧数据,进而污染pagecache并写坏文件系统。通过维护递增版本号修复,最终问题解决。
lyL
91 0
EFC&CTO:缓存引发数据不一致问题排查与深度解析
lyL
|
4月前
|
存储 NoSQL 关系型数据库
MongoDB相关概念
MongoDB是一款高性能、无模式的文档型数据库,适用于社交、游戏、物流、物联网等大数据量、高并发读写场景。它以BSON格式存储数据,支持灵活的数据模型、丰富查询及水平扩展,尤其适合无需复杂事务、需快速迭代的应用。其高可用、易扩展特性使其成为应对海量数据与高并发需求的理想选择。
lyL
125 1
lyL
|
4月前
|
存储 NoSQL 关系型数据库
MongoDB索引知识
MongoDB索引基于B树结构,可显著提升查询效率,避免全表扫描。支持单字段、复合、地理空间、文本及哈希索引,适用于多种查询场景,如范围查询、排序、全文搜索和分片,有效优化大数据量下的查询性能。
lyL
112 2
lyL
|
4月前
|
uml C语言
系统时序图
时序图是UML中描述对象间消息传递时间顺序的交互图,横轴为对象,纵轴为时间。它用于展示交互流程、强调时序、体现并发过程。主要元素包括角色、对象、生命线、控制焦点和消息(同步、异步、返回)等,直观呈现系统动态协作过程。
lyL
156 1