Tired Of Bad SingletonsJan 4, 2007 · 1 minute read · Comments
While looking through some code for a project, I saw that:
public static final ProductYP instance = new ProductYP();
if (instance != null)
throw new RuntimeException("Only one instance allowed");
prods = new HashMap();
public static ProductYP getInstance()
And I don't think it was done by a newbie… It's actually not far from being correct, it's just that the guy obviously does not know about private constructors. I have seen several broken singleton implementations in previous projects and had several debates on the double-checked locking pattern (it works since JDK1.5 with volatiles but is useless). I am upset to see another half broken implementation. Everybody should have read at least this.
What have you seen as broken singletons?