你说的类在加载后还会销毁,应该说的是Java的垃圾回收机制。
Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。
需要注意的是:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身
举个例子:- class Test
- {
- public static void main(String[] args)
- {
- Person p1 = new Person("z");
- Person p2 = new Person("c");
- p2 = p1;
- }
- }
- class Person
- {
- private String name;
- Person(String name)
- {
- this.name = name;
- }
- }
复制代码 在主函数执行到p2 = p1;这句话时,内存中由new Person("c")这句代码而占用的空间将会被释放。
图示:
当没有任何引用指向这个内存空间时,Java虚拟机就会利用其垃圾回收机制将其内存空间进行回收。内存空间释放。 |