1.常见加载顺序

简介: 这段代码展示了一个名为 `CodeBlockDemo` 的Java公共类。该类包含多种代码块:初始化块、构造函数、静态块及局部块,并演示了它们的执行顺序:静态代码块 > 初始化代码块/构造代码块 > 构造函数。当创建 `CodeBlockDemo` 实例时,会依次显示“初始化代码”、“构造器”。静态代码块随类加载仅执行一次,优先于主函数执行。主函数中创建三个实例,展示了构造过程。

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

   }

}

静态代码块

局部代码块


初始化代码

构造器


初始化代码

构造器

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

若有收获,就点个赞吧



初始化代码

构造器

相关文章
|
4月前
|
存储 缓存 固态存储
分区会不会影响固态硬盘的性能呢
固态硬盘(SSD)分区是否影响性能?本文详解分区对SSD的影响,解答“该不该分”“如何分更合理”等问题。分区本质上是逻辑划分,不影响SSD核心性能。只要合理操作,分区不会拖慢速度。建议根据使用场景选择分区策略,如系统与数据分离、游戏分区等,以提升管理效率和使用体验。
|
4月前
|
JavaScript 开发工具 iOS开发
如何使用DevEco Studio搭建鸿蒙开发环境?
如何使用DevEco Studio搭建鸿蒙开发环境?
|
4月前
|
存储 算法 索引
HashMap的实现原理
HashMap基于哈希算法实现,采用链表散列结构(数组+链表/红黑树)。JDK1.8前使用拉链法解决冲突,将冲突元素存入链表。JDK1.8后,当链表长度超过8时,转化为红黑树以提升查找效率;当元素数小于6时,退化为链表。通过key的hashCode计算索引,put时若key相同则覆盖,不同则添加到链表或树中。get时通过hash值定位并判断key获取对应值。
233 0
|
前端开发 JavaScript
用iframe的方式实现微前端
微前端是最近几年火起来的概念,iframe是早期实现微前端的理想方案,而现在有了其它的方案,比如qianduan框架,single-spa,以及webpack5带来的联邦模块方案。但是每一个方案都有其优缺点,感兴趣的可以去实践一下。
|
12月前
|
机器学习/深度学习 人工智能 数据可视化
人工智能在图形学领域的研究热点有哪些?
AIGC:通过生成对抗网络(GAN)、变分自编码器(VAE)及其变体等技术,能够根据用户输入的文字描述、草图等生成高质量、高分辨率的图像,在艺术创作、游戏开发、广告设计等领域应用广泛。如OpenAI的DALL-E、Stable Diffusion等模型,可生成风格各异、内容丰富的图像,为创作者提供灵感和素材.
370 59
|
运维 监控 安全
七载耕耘,全面盘点:Zabbix实战文章精华大全分享
在数字化转型的推动下,IT监控系统的重要性日益凸显。Zabbix作为开源监控领域的佼佼者,以其卓越的功能集成和灵活性赢得了全球企业的青睐。乐维社区由一群热爱技术的运维人员于七年前创立,现已成为国内最大的开源专业社区之一,汇聚了众多Zabbix用户的智慧与经验。社区提供了从基础安装到高级优化的全方位实战指导,并整理了“Zabbix实战文章精华大全”,涵盖基础知识、安全配置、性能优化等内容,为广大用户提供系统化的学习资源。欢迎下载使用,共同成长。
195 1
|
机器学习/深度学习 算法 计算机视觉
通过MATLAB分别对比二进制编码遗传优化算法和实数编码遗传优化算法
摘要: 使用MATLAB2022a对比了二进制编码与实数编码的遗传优化算法,关注最优适应度、平均适应度及运算效率。二进制编码适用于离散问题,解表示为二进制串;实数编码适用于连续问题,直接搜索连续空间。两种编码在初始化、适应度评估、选择、交叉和变异步骤类似,但实数编码可能需更复杂策略避免局部最优。选择编码方式取决于问题特性。
|
Java 应用服务中间件 API
从0到1学会Jetty内存马注入
最近在学习geoserver的CVE-2024-36401注入内存马的时候,发现需要注入jetty类型的内存马,这是一个不同于tomcat的轻量级web容器。具体来说,Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。
|
缓存 JavaScript 前端开发
qiankun 微应用vue接入到基座
qiankun 微应用vue接入到基座
|
JSON fastjson Java
FastJSON操作各种格式的JSON数据
FastJSON处理各种格式的JSON数据