单例模式规定一个类只能有一个实例,不允许创建多个实例。为此,我们将类的构造函数设为私有,并通过静态方法返回一个实例。但是,使用克隆,我们仍然可以创建类的多个实例。请参见下面的示例 - 示例 - 破坏单例public class Tester{ public static void main(String[] args) throws CloneNotSupportedException { A a = A.getInstance(); A b = (A)a.clone(); System.out.println(a.hashCode()); System.out.println(b.hashCode()); } } ... 阅读更多
如果一个对象不再被活动引用引用,那么它就有资格进行垃圾回收。请参见下面的示例 - 示例public class Tester{ public static void main(String[] args) { test(); } public static void test(){ A a = new A(); } } class A {}当 test() 方法执行完毕后,a 对象不再被引用,并且有资格进行垃圾回收。Java 垃圾回收器将在其运行时释放该对象。为了防止垃圾回收,我们可以创建一个对对象的静态引用,然后 ... 阅读更多