Class对象
另见:《深入理解Java虚拟机 JVM高级特性与最佳实践 第2版》=> 第7章 虚拟机类加载机制
一旦类被加载了到了内存中,那么不论通过哪种方式获得该类的Class对象,它们返回的都是指向同一个java堆地址(对于HotSpot是方法区)上的Class引用。
package org.test.a;
class Cat{
static {
System.out.println("static cat");
}
}
public class Demo {
public static void main(String[] args) throws ClassNotFoundException {
Class c1 = Cat.class;
Class c2 = new Cat().getClass();
Class c3 = new Cat().getClass();
Class c4 = Class.forName("org.test.a.Cat");
System.out.println(c1 == c2);
System.out.println(c2 == c3);
System.out.println(c3 == c4);
}
}
输出结果:
static cat
true
true
true
来源:CSDN
作者:feiying0canglang
链接:https://blog.csdn.net/feiying0canglang/article/details/104303446