Java静态资源(静态代码块,静态方法,静态属性)在类加载的时候进行加载,然后一直存在于内存,直至程序终止
类加载:
1. 在第一次创建一个类的对象或者第一次调用一个类的静态属性和方法的时候,会发生类加载
2. 类加载期间,如果发现有静态属性,就给对应的静态属性分配内存空间,并赋值
3. 类加载完成后再调用该类的静态属性,虚拟机会直接寻找改属性先前已经分配的内存空间地址,然后调用其值。同样,修改这个类的静态属性也一样
4. 静态属性将永远占用某一块固定的内存空间,直到程序终止
注: 类加载只发生一次,当创建一个类的对象或者调用一个类的静态属性和方法时,会先去虚拟机查找该类,如未加载,则加载,然后该类常存在于内存。