java.lang.Object javax.realtime.MemoryArea javax.realtime.ImmortalMemory
public final class ImmortalMemory
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 |
---|
public static ImmortalMemory instance()
ImmortalMemory
object.
ImmortalMemory
object.public void executeInArea(java.lang.Runnable logic)
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.
executeInArea
in class MemoryArea
logic
- The runnable object whose run()
method should
be executed.
java.lang.IllegalArgumentException
- Thrown if logic
is null.