The Java memory model is fatally flawed

Authors
Citation
W. Pugh, The Java memory model is fatally flawed, CONCURRENCY, 12(6), 2000, pp. 445-455
Citations number
9
Categorie Soggetti
Computer Science & Engineering
Journal title
CONCURRENCY-PRACTICE AND EXPERIENCE
ISSN journal
10403108 → ACNP
Volume
12
Issue
6
Year of publication
2000
Pages
445 - 455
Database
ISI
SICI code
1040-3108(200005)12:6<445:TJMMIF>2.0.ZU;2-F
Abstract
The Java memory model described in Chapter 17 of the Java Language Specific ation gives constraints on how threads interact through memory. This chapte r is hard to interpret and poorly understood; it imposes constraints that p rohibit common compiler optimizations and are expensive to implement on exi sting hardware. Most JVMs violate the constraints of the existing Java memo ry model; conforming to the existing specification would impose significant performance penalties. In addition, programming idioms used by some programmers and used within Su n's Java Development Kit is not guaranteed to be valid according to the exi sting Java memory model. Furthermore, implementing Java on a shared-memory multiprocessor that implements a weak memory model poses some implementatio n challenges not previously considered. Copyright (C) 2000 John Wiley & Son s, Ltd.