The Java memory model is fatally flawed

@article{Pugh2000TheJM,
  title={The Java memory model is fatally flawed},
  author={W. Pugh},
  journal={Concurr. Pract. Exp.},
  year={2000},
  volume={12},
  pages={445-455}
}
  • W. Pugh
  • Published 2000
  • Computer Science
  • Concurr. Pract. Exp.
The Java memory model described in Chapter 17 of the Java Language Specification gives constraints on how threads interact through memory. This chapter is hard to interpret and poorly understood; it imposes constraints that prohibit common compiler optimizations and are expensive to implement on existing hardware. Most JVMs violate the constraints of the existing Java memory model; conforming to the existing specification would impose significant performance penalties. In addition, programming… Expand
The Java memory model
Requirements for Programming Language Memory Models
Making the java memory model safe
Executing Java programs with transactional memory
Threads cannot be implemented as a library
Specifying Weak Memory Consistency with Temporal Logic
COATCheck: Verifying Memory Ordering at the Hardware-OS Interface
Transactional Execution of Java Programs
...
1
2
3
4
...

References

SHOWING 1-10 OF 12 REFERENCES
The Java Language Specification
The power of processor consistency
Formal Syntax and Semantics of Java
  • J. Alves-Foss
  • Computer Science
  • Lecture Notes in Computer Science
  • 1999
Impact of " reads kill " in java
  • Impact of " reads kill " in java
  • 1999
Impact of ”reads kill” in java
  • http://www.cs.umd.edu/ ∼pugh/ java/readsKillImpact.html, May
  • 1999
Lazy instantiation: Balancing performance and resource usage
  • JavaWorld
  • 1999
...
1
2
...