一:概述:
创建一个类,在执行这个类时候到底发生了什么,或者说要执行一个类中的方法时候类提前干什?加载类时候会把所有的类都会执行吗?什么情况下会出现类加载的情况?又是谁来执行类加载机制的的?
二:什么情况下会执行类加载(换句话说类加载的时机)?
首先我们得先知道两个引用
1.主动应用
虚拟机在规范中并没有强制何时规范类加载,但是在以下6种情况下必须执行类加载
- 当遇到 new getstatic putstatic invokestatic 这四个工作指令时执行类夹杂机制
* 在JVM执行new指令时,就是一个程序创建一个类的实例对象
* 在JVM执行getstatic指令时,就是程序访问一个静态变量的时候
*在JVM执行 putstatic指令时,就是程序给一个静态变量赋值的时候
*在JVM执行 invokestatic时,就是程序调用静态方法时候
- 使用Class.forname()或