javax.realtime
Class ImmortalMemory

java.lang.Object
  extended by javax.realtime.MemoryArea
      extended by javax.realtime.ImmortalMemory

public final class ImmortalMemory
extends MemoryArea

ImmortalMemory is a memory resource that is unexceptionally available to all schedulable objects and Java threads for use and allocation.

An immortal object may not contain references to any form of scoped memory, e.g., VTMemory, LTMemory, VTPhysicalMemory, or LTPhysicalMemory.

Objects in immortal have the same states with respect to finalization as objects in the standard Java heap, but there is no assurance that immortal objects will be finalized even when the JVM is terminated.

Methods from ImmortalMemory should be overridden only by methods that use super.


Method Summary
 void executeInArea(java.lang.Runnable logic)
          Execute the run method from the logic parameter using this memory area as the current allocation context.
static ImmortalMemory instance()
          Returns a pointer to the singleton ImmortalMemory object.
 
Methods inherited from class javax.realtime.MemoryArea
enter, enter, getMemoryArea, memoryConsumed, memoryRemaining, newArray, newInstance, newInstance, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

instance

public static ImmortalMemory instance()
Returns a pointer to the singleton ImmortalMemory object.

Returns:
The singleton ImmortalMemory object.

executeInArea

public void executeInArea(java.lang.Runnable logic)
Execute the run method from the logic parameter using this memory area as the current allocation context. For a schedulable object, this saves the current scope stack and replaces it with one consisting only of the ImmortalMemory instance; restoring the original scope stack upon completion.

Overrides:
executeInArea in class MemoryArea
Parameters:
logic - The runnable object whose run() method should be executed.
Throws:
java.lang.IllegalArgumentException - Thrown if logic is null.