Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In modern Java, it's easy enough if you've been shown the pattern. What's hard is understanding/discovering it from first principles.


Someone apparently disliked this comment, but check out

http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLo.... Scroll down to "Fixing Double-Checked Locking using Volatile." It's five lines of code without braces, and can be applied without any creativity or reasoning.


You should use enums for singletons i Java. Simple to write, threadsafe and handles serialization. All with guarantees from the Java language specification.


I wasn't actually talking about singletons, just the doublechecked locking pattern. It's also necessary for laziness on objects that are referenced by multiple threads.

I tend to think Singletons are a dubious design pattern, like a lot of other people.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: