In a virtual machine environment, a method and apparatus for the use of
multiple heaps to retain persistent data and transient data wherein the
multiple heaps enables a single virtual machine to be easily resettable,
thus avoiding the need to terminate and start a new Virtual Machine as
well as enabling a single virtual machine to retain data and objects
across multiple applications, thus avoiding the computing resource
overhead of relinking, reloading, reverifying, and recompiling classes.
The memory hierarchy includes a System Heap, a Middleware Heap and a
Transient Heap. The use of three heaps enables garbage collection to be
selectively targeted to one heap at a time in between applications, thus
avoiding this overhead during the life of an application.