Java程序运行时,类和实例在内存中的状态是怎么样的?类和实例在内存中都可能出现几个副本吗?
类的静态成员、方法区都是唯一的,每个实例对象(new一次算一个)是独立的副本。但是,一个对象可以指向多个相同的引用。看下面的代码A a,b,c;a = new A();b = a;c = new A();实际上内存(堆)中有两个A的实例。堆栈上有3个对象的引用。a b指向同一个对象。