问题描述
- 这个单例有问题吗?欢迎大家提供讨论。
-
单例很简单,一般也都不这么写,但是真的这么写,又有啥问题呢?欢迎大家积极提供意见。public class PersonCreate { private static PersonCreate referent = new PersonCreate(); private static SoftReference<PersonCreate> softRef = new SoftReference<PersonCreate>(referent); private PersonCreate() { } public static PersonCreate getInstance() { referent = null; PersonCreate pc = softRef.get(); if (pc != null) { return pc; } else { referent = new PersonCreate(); softRef = new SoftReference<PersonCreate>(referent); referent = null; } return softRef.get(); } public void print() { System.out.println("hello"); } }
解决方案
不这样就不具有封装的效果了 都是静态的调用 如果项目比较大容易出差错
解决方案二:
我看到的问题是关于静态变量的。
做了集群,分布后,静态变量 会出现不同步的问题。
时间: 2024-11-10 05:26:00