Java程序运行时,类和实例在内存中的状态是怎么样的?类和实例在内存中都可能出现几个副本吗?

Java程序运行时,类和实例在内存中的状态是怎么样的?类和实例在内存中都可能出现几个副本吗?

类的静态成员、方法区都是唯一的,每个实例对象(new一次算一个)是独立的副本。
但是,一个对象可以指向多个相同的引用。看下面的代码
A a,b,c;
a = new A();
b = a;
c = new A();
实际上内存(堆)中有两个A的实例。堆栈上有3个对象的引用。a b指向同一个对象。