Package org.xnio
Class AutomaticReference<T>
java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.PhantomReference<T>
org.xnio.AutomaticReference<T>
Deprecated.
An automatic reference is a phantom reference which is automatically freed by a background thread when it is
enqueued. Since this type of garbage collection imposes considerable overhead, it should only be used sparingly,
when it is impossible to achieve correctness any other way.
- Author:
- David M. Lloyd
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAutomaticReference(T referent, Object permit) Deprecated.Construct a new instance. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidclear()Deprecated.Not supported.final booleanenqueue()Deprecated.Not supported.protected abstract voidfree()Deprecated.Free this reference.final Tget()Deprecated.Always returnsnull.static ObjectDeprecated.Get the security authorization permit to create automatic references.final booleanDeprecated.Determine whether this reference has been enqueued by the garbage collector.Methods inherited from class java.lang.ref.Reference
clone, reachabilityFence, refersTo
-
Constructor Details
-
AutomaticReference
Deprecated.Construct a new instance. In order to maximize performance, the only security check performed by this constructor is to verify thepermitwhich was passed in.- Parameters:
referent- the object to monitorpermit- the permit object originally acquired fromgetPermit()
-
-
Method Details
-
getPermit
Deprecated.Get the security authorization permit to create automatic references.- Returns:
- the permit
- Throws:
SecurityException- if a security manager is enabled and the caller does not have thecreateAutomaticReferenceRuntimePermission
-
get
Deprecated.Always returnsnull.- Overrides:
getin classPhantomReference<T>- Returns:
null
-
clear
public final void clear()Deprecated.Not supported.- Overrides:
clearin classReference<T>- Throws:
UnsupportedOperationException- always
-
isEnqueued
public final boolean isEnqueued()Deprecated.Determine whether this reference has been enqueued by the garbage collector.- Overrides:
isEnqueuedin classReference<T>- Returns:
trueif the reference has been enqueued,falseotherwise
-
enqueue
public final boolean enqueue()Deprecated.Not supported.- Overrides:
enqueuein classReference<T>- Returns:
- nothing
- Throws:
UnsupportedOperationException- always
-
free
protected abstract void free()Deprecated.Free this reference. This method will be called from a dedicated thread or threads so this method should execute as quickly as possible.
-
CleanerReference.