JAVA—— ——各种类型的代码块

本文详细介绍了Java中的静态代码块、构造块、静态方法以及它们在类加载过程中的执行顺序,强调了静态代码块的初始化作用、执行效率提升和先于主方法的特点。同时涵盖了Java程序从源码到执行的编译、装载和校验过程。
摘要由CSDN通过智能技术生成

概述

类的组成:属性,方法,构造器,代码块,内部类
代码块分类:普通块构造块静态块,同步块(多线程)
静态代码块在Java中是一种特殊的代码结构,它使用static关键字修饰,并用一对大括号{}包围起来。

主要功能及特点

初始化类:静态代码块用于初始化类,为类的静态属性进行初始化。例如,我们可以在静态代码块中加载配置文件,创建数据库连接池等。

只执行一次:每个静态代码块只会执行一次。这是因为静态代码块随着类的加载而加载,而类在JVM中只加载一次。

提高代码执行效率:如果有些代码必须在项目启动的时候就执行,那么我们就可以使用静态代码块来实现,这种代码是主动执行的。这样可以避免每次使用类都执行,提高代码执行效率。

先于主方法执行:由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行

其他类型的代码块

构造代码块:构造代码块在每次创建对象时执行,并且在构造方法前执行。它可以给所有对象进行初始化。在继承关系中,父类的构造代码块先于子类的构造代码块执行,然后再执行父类的构造方法,最后执行子类的构造方法。

局部代码块:局部代码块位于方法内部,用于控制变量的生命周期,提高内存利用率。

同步代码块:同步代码块是被Java中的Synchronized关键词修饰的代码块,是一种线程同步机制

静态代码块,静态方法拓展

先引入java程序执行的步骤:
编译:Java源代码(.java文件)通过Java编译器编译成字节码文件(.class文件)。

装载字节码:编译好的.class文件交给JVM执行,即使用java命令,执行java xxx(.class文件的名称,不带后缀)。java命令将会启动JVM,并将后面的参数作为初始化类,通过JVM内的类加载器将字节码文件装载到内存中。

校验字节码:类的加载是通过类加载器进行的,加载完后,先由字节码校验器负责检查那些无法执行的明显有破坏性的操作。

解释字节码:JVM把每一条要执行的字节码交给解释器,翻译成对应的机器语言,最终由操作系统执行。

静态代码块及方法对应的步骤:
静态代码块:静态代码块在类加载阶段执行。当JVM首次通过类加载器加载类到内存时,就会执行静态代码块。这个阶段发生在解释字节码之前,也就是在运行时阶段的开始。

静态方法:静态方法的调用发生在运行时阶段,也就是在解释字节码的过程中。当JVM解释到调用静态方法的字节码指令时,就会执行该静态方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chhei.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值