• java中static{}语句块详解


    static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。

    类加载:Java命令的作用是启动虚拟机,虚拟机通过输入流,从磁盘上将字节码文件(.class文件)中的内容读入虚拟机,并保存起来的过程就是类加载。

     类加载特性 :
          *在虚拟机的生命周期中一个类只被加载一次。
          *类加载的原则:延迟加载,能少加载就少加载,因为虚拟机的空间是有限的。
          *类加载的时机:
          1)第一次创建对象要加载类.
          2)调用静态方法时要加载类,访问静态属性时会加载类。
          3)加载子类时必定会先加载父类。
          4)创建对象引用不加载类.
          5) 子类调用父类的静态方法时
              (1)当子类没有覆盖父类的静态方法时,只加载父类,不加载子类
              (2)当子类有覆盖父类的静态方法时,既加载父类,又加载子类
          6)访问静态常量,如果编译器可以计算出常量的值,则不会加载类,例如:public static final int a =123;否则会加载类,例如:public static final int a = math.PI。

  • 相关阅读:
    【BZOJ2067】[Poi2004]SZN
    BZOJ4675
    [bzoj3522][bzoj4543][POI2014]HOTEL
    bzoj2969矩形粉刷
    bzoj2969矩形粉刷
    1419: Red is good
    【BZOJ2698】染色
    BZOJ5084[hashit]
    [WC2014]紫荆花之恋
    齐次常系数递推关系式
  • 原文地址:https://www.cnblogs.com/caolaoshi/p/7824748.html
Copyright © 2020-2023  润新知