developerWorks: Fixing the Java Memory Model, Part 1 | Linux Today

developerWorks: Fixing the Java Memory Model, Part 1

Written By
Web Webster
Web Webster
Feb 27, 2004

“The Java platform has integrated threading and multiprocessing
into the language to a much greater degree than most previous
programming languages. The language’s support for
platform-independent concurrency and multithreading was ambitious
and pioneering, and, perhaps not surprisingly, the problem was a
bit harder than the Java architects originally thought. Underlying
much of the confusion surrounding synchronization and thread safety
are the non-intuitive subtleties of the Java Memory Model (JMM),
originally specified in Chapter 17 of the Java Language
Specification, and re-specified by JSR 133.

“For example, not all multiprocessor systems exhibit cache
coherency; if one processor has an updated value of a variable in
its cache, but one which has not yet been flushed to main memory,
other processors may not see that update. In the absence of cache
coherency, two different processors may see two different values
for the same location in memory. This may sound scary, but it is by
design–it is a means of obtaining higher performance and
scalability–but it places a burden on developers and compilers to
create code that accommodates these issues…”


Complete Story

Related Story:
Wanted:
Coders, Testers, Hackers, Packagers, Hardware for the InceptionOS
Project
(Jul 16, 2002)

Web Webster

Web Webster

Web Webster has more than 20 years of writing and editorial experience in the tech sector. He’s written and edited news, demand generation, user-focused, and thought leadership content for business software solutions, consumer tech, and Linux Today, he edits and writes for a portfolio of tech industry news and analysis websites including webopedia.com, and DatabaseJournal.com.

Linux Today Logo

LinuxToday is a trusted, contributor-driven news resource supporting all types of Linux users. Our thriving international community engages with us through social media and frequent content contributions aimed at solving problems ranging from personal computing to enterprise-level IT operations. LinuxToday serves as a home for a community that struggles to find comparable information elsewhere on the web.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.