zoukankan      html  css  js  c++  java
  • static{}块的作用

    本文转载自: https://www.cnblogs.com/caolaoshi/p/7824748.html

    static{}块,会且仅会在类被加载时执行一次,多用于定义静态变量或执行静态方法。

    什么是类加载?即JAVA虚拟机通过输入流将磁盘中的字节码(.class)文件读入虚拟机并保存起来的过程,在一个生命周期中一个类只被加载一次

    这并不意味着会立马加载,原则是延迟记载,能少加载就少加载,尽量减少虚拟机空间的使用。

    加载时机:

    1.第一次创建此类对象

    2.调用此类静态方法或访问静态属性

    3.加载此类的子类

    4.创建对象引用不加载类

    5.子类调用父类的静态方法时

       (1)当子类没有覆盖父类的静态方法时,只加载父类,不加载子类
       (2)当子类有覆盖父类的静态方法时,既加载父类,又加载子类
    6.访问静态常量,如果编译器可以计算出常量的值,则不会加载类,例如:public static final int a =123;否则会加载类,例如:public static final int a = math.PI

  • 相关阅读:
    Lambda表达式
    多态之美
    集合那点事
    程序员艺术家
    MySQL:如何导入导出数据表和如何清空有外建关联的数据表
    Ubuntu修改桌面为Desktop
    shutil.rmtree()
    SCP命令
    kickstart
    数据哈希加盐
  • 原文地址:https://www.cnblogs.com/yanze/p/9618146.html
Copyright © 2011-2022 走看看