---
title: "Discussion on \"Lazy Singletons in Java: Why Double-Checked Locking Needs \"volatile\", and the Better Alternative That Doesn't\" | Hashnode"
description: "Discussion on \"Lazy Singletons in Java: Why Double-Checked Locking Needs \"volatile\", and the Better Alternative That Doesn't\". A practical guide to lazy initialization, instruction reordering, and the pattern that sidesteps the whole problem."
url: "https://hashnode.com/posts/lazy-singleton-java-without-volatile/6a18202abadcd8afcb8d98d7"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Lazy Singletons in Java: Why Double-Checked Locking Needs "volatile", and the Better Alternative That Doesn't](https://armanruhit.hashnode.dev/lazy-singleton-java-without-volatile?utm_source=hashnode&utm_medium=feed)

A practical guide to lazy initialization, instruction reordering, and the pattern that sidesteps the whole problem.

May 28 · 12 min read · armanruhit.hashnode.dev  
Read the article

-   [#java](https://hashnode.com/tag/java)
-   [#design-patterns](https://hashnode.com/tag/design-patterns)
-   [#singleton](https://hashnode.com/tag/singleton)
-   [#double-checked-locking](https://hashnode.com/tag/double-checked-locking)
-   [#multithreading](https://hashnode.com/tag/multithreading)
-   [#jvm](https://hashnode.com/tag/jvm)

## Written by

[Ruhit Arman](https://hashnode.com/@armanruhit)

@armanruhit

  
[View profile](https://hashnode.com/@armanruhit)

## Responses

Markdown supported · ⌘↵ to post

No responses yet.
