5) Java seems to use a check-in/check-out model for access to global data, in which global data "lives" in a central store, but is copied back-and-forth to thread-local storage for modification. I don't fully understand the performance benefit which I assume this provides, but this is something else we need to understand. It's discussed in detail in the threads section of the JVM spec, <http://java.sun.com/docs/books/vmspec/2nd-edition/html/ Threads.doc.html>.
The passage in question being:
Every thread has a working memory in which it keeps its own working copy of variables that it must use or assign. As the thread executes a program, it operates on these working copies. The main memory contains the master copy of every variable. There are rules about when a thread is permitted or required to transfer the contents of its working copy of a variable into the master copy or vice versa.
This is very obliquely phrased, but it refers to the register file and stack frame. Or, since the Java bytecode is stack-based, it refers to the stack.
—
Gordon Henriksen [EMAIL PROTECTED]