|
J avolution v5.3 (J2SE 1.5+) | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavolution.context.Context
javolution.context.AllocatorContext
public abstract class AllocatorContext
This class represents an allocator context; it defines the
the allocation policy of ObjectFactory
products.
The default
implementation is an instance of
HeapContext
context.
Specializations may allocate from local stacks (StackContext
),
shared object pools (StackContext
), specific memory areas
(e.g. ImmortalContext
), aging pools (where
objects sufficiently old are recycled), switchable spaces (objects from
a particular frame are recycled when buffers are swapped), etc.
Nested Class Summary | |
---|---|
static class |
AllocatorContext.Reference<T>
This class represents a reference
allocated from the current AllocatorContext . |
Field Summary | |
---|---|
static Configurable<java.lang.Class<? extends AllocatorContext>> |
DEFAULT
Holds the default allocator context shared by all newly created threads (the default is a HeapContext instance). |
Fields inherited from class javolution.context.Context |
---|
ROOT |
Constructor Summary | |
---|---|
protected |
AllocatorContext()
Default constructor. |
Method Summary | ||
---|---|---|
protected abstract void |
deactivate()
Deactivates the allocators belonging to this context
for the current thread. |
|
protected abstract Allocator |
getAllocator(ObjectFactory factory)
Returns the allocator for the specified factory in this context. |
|
static Context |
getCurrent()
Returns the current allocator context. |
|
static AllocatorContext |
getDefault()
Returns the default instance ( DEFAULT implementation). |
|
static
|
outerCopy(T value)
Performs a copy of the specified value allocated outside of the current allocator context. |
|
static void |
outerCopy(ValueType[] values)
Performs a copy of the specified values outside of the current stack context (convenience method). |
|
static void |
outerExecute(java.lang.Runnable logic)
Executes the specified logic outside of the current allocator context. |
Methods inherited from class javolution.context.Context |
---|
enter, enter, enterAction, exit, exit, exitAction, getOuter, getOwner, setCurrent, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final Configurable<java.lang.Class<? extends AllocatorContext>> DEFAULT
HeapContext
instance).
The default allocator context is configurable. For example the following
runs the javolution built-in tests with a PoolContext
as default
(javolution built-in tests loads
their configuration from systems properties)
> java -Djavolution.AllocatorContext.Default=javolution.context.PoolContext -jar javolution.jar time
Constructor Detail |
---|
protected AllocatorContext()
Method Detail |
---|
public static Context getCurrent()
getDefault()
is returned.
public static AllocatorContext getDefault()
DEFAULT
implementation).
protected abstract Allocator getAllocator(ObjectFactory factory)
factory
- the factory for which the allocator is returned.
protected abstract void deactivate()
allocators
belonging to this context
for the current thread. This method is typically called when an inner
allocator context is entered by the current thread, when exiting an
allocator context or when a concurrent executor has completed its task
within this allocator context. Deactivated allocators have no
user
(null
).
public static <T extends ValueType> T outerCopy(T value)
value
- the value to be copied.
public static void outerCopy(ValueType[] values)
AllocatorContext.outerExecute(new Runnable() {
public void run() {
for (int i = 0; i < values.length; i++) {
values[i] = {ValueType) values[i].copy();
}
}
});
values
- the array whose elements are exported.public static void outerExecute(java.lang.Runnable logic)
logic
- the logic to be executed outside of the current stack
context.
|
J avolution v5.3 (J2SE 1.5+) | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |