静态代码块的执行与销毁

当说到静态代码块在执行完成后会被"销毁"时,实际上指的是静态代码块在执行后,它的作用和内容不再起作用,不再存在于内存中。

在Java中,静态代码块会在类初始化时执行一次,它常用于对静态变量进行初始化操作。一旦静态代码块执行完成,其中的代码逻辑不再有效,也不再占据内存空间。也就是说,静态代码块在执行完成后会被从内存中销毁。
需要注意的是,静态代码块只会在类初始化的时候执行一次。之后,如果没有其他对类初始化的操作,静态代码块就不会再执行了。

具体来说,当静态代码块执行完成后,其中定义的类变量(static修饰的数据成员)会被初始化,并且在整个程序运行过程中仅会被初始化一次。而静态代码块本身不会持续存在内存中,它的作用仅仅是在类被加载和初始化时执行相关的代码逻辑。

下面是一个示例来说明静态代码块的执行和销毁:

public class MyClass {
    static {
        System.out.println("静态代码块执行");
    }

    public static void main(String[] args) {
        System.out.println("程序开始执行");
        MyClass obj1 = new MyClass(); // 实例化对象
        MyClass obj2 = new MyClass(); // 再次实例化对象
        System.out.println("程序执行结束");
    }
}

在这个示例中,我们定义了一个类MyClass,其中包含一个静态代码块。在main方法中,我们实例化了两次MyClass对象。当程序执行时,首先会输出"静态代码块执行",证明静态代码块随着类的加载首先被执行。随后,输出"程序开始执行",然后实例化对象,并没有再次输出"静态代码块执行",再接下来输出"程序执行结束"。整个程序执行完毕。

可以看到,静态代码块只在程序开始执行时被执行一次,它不会随着对象的实例化而重复执行。一旦执行完成,静态代码块的作用和内容不再起作用,并被销毁,不再占据内存空间。

扩展:静态代码块的执行顺序:静态代码块------>非静态代码块------>构造函数

java中静态代码块详解_这辈子_安静的努力着的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值