On Oct 3, 2007, at 5:23 AM, Rick DeNatale wrote: > One way to implement an object memory/heap is to use a level of > indirection, an object is represented by what's effectively an element > in an array of pointers, with the pointer holding the address of an > object's state. Variables refer not to the object directly but to the > pointer, which is called a handle. This allows the objects to be > moved (during GC for example) without requiring all references to the > object to be relocated. > > Two uses of object handles were in the earliest implementations of > Smalltalk, and in the old Macintosh OS. I think the JVM does (or did) something similar using an intermediate object table. -- fxn