jvm 类的加载,连接与初始化

2019-04-03  本文已影响0人  秋缘未了

1.类的加载过程

java程序对类的使用方式可分为两种

所有的java虚拟机实现必须在每个类或接口被java程序“首次主动使用”时才会被初始化他们

2.主动使用的场景

1.创建类的实例
2.访问某个类或接口的静态变量,或者对该静态变量赋值
3.调用类的静态方法
4.反射
5.初始化一个类的子类
6.Java虚拟机启动时被标明为启动类的类
7.JDK1.7开始提供的动态语言支持
除了以上七种情况,其他使用java类的方式都会被看作是对类的被动调用,都不会导致类的初始化

3.加载.class文件的方式

练习题:

public class MyText{
  public static void main(String[] args){
    System.out.printIn(MyChild.str)
}
}

class MyParent{
  public static String str = "hello world";
  
  static{
    System.out.printIn("MyParent static block")
    }
}

class MyChild{
  public static String str1 = "welcome";
  
  static{
    System.out.printIn("MyChildstatic block")
    }
}

上一篇下一篇

猜你喜欢

热点阅读