Well, each JVM implementation may have a different strategy to layout objects and arrays in memory.
The HotSpot JVM uses a data structure called Ordinary Object Pointers (OOPS) to represent pointers to objects. Each oopDesc describes the pointer with the following information: One mark word One, possibly compressed, klass word
A mark word describes the object header. The HotSpot JVM uses this word to store identity hashcode, biased locking pattern, locking information, and GC metadata.
But I can't understated where associated with object wait set is stored.. Can anyone explain?