- java.lang.Object
-
- java.lang.ref.Reference<T>
-
- java.lang.ref.PhantomReference<T>
-
- org.xnio.AutomaticReference<T>
-
@Deprecated public abstract class AutomaticReference<T> extends java.lang.ref.PhantomReference<T>Deprecated.SeeCleanerReference.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
Constructors Modifier Constructor Description protectedAutomaticReference(T referent, java.lang.Object permit)Deprecated.Construct a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclear()Deprecated.Not supported.booleanenqueue()Deprecated.Not supported.protected abstract voidfree()Deprecated.Free this reference.Tget()Deprecated.Always returnsnull.static java.lang.ObjectgetPermit()Deprecated.Get the security authorization permit to create automatic references.booleanisEnqueued()Deprecated.Determine whether this reference has been enqueued by the garbage collector.
-
-
-
Constructor Detail
-
AutomaticReference
protected AutomaticReference(T referent, java.lang.Object permit)
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 Detail
-
getPermit
public static java.lang.Object getPermit()
Deprecated.Get the security authorization permit to create automatic references.- Returns:
- the permit
- Throws:
java.lang.SecurityException- if a security manager is enabled and the caller does not have thecreateAutomaticReferenceRuntimePermission
-
get
public final T get()
Deprecated.Always returnsnull.- Overrides:
getin classjava.lang.ref.PhantomReference<T>- Returns:
null
-
clear
public final void clear()
Deprecated.Not supported.- Overrides:
clearin classjava.lang.ref.Reference<T>- Throws:
java.lang.UnsupportedOperationException- always
-
isEnqueued
public final boolean isEnqueued()
Deprecated.Determine whether this reference has been enqueued by the garbage collector.- Overrides:
isEnqueuedin classjava.lang.ref.Reference<T>- Returns:
trueif the reference has been enqueued,falseotherwise
-
enqueue
public final boolean enqueue()
Deprecated.Not supported.- Overrides:
enqueuein classjava.lang.ref.Reference<T>- Returns:
- nothing
- Throws:
java.lang.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.
-
-