java.lang.ref.Cleaner
but with weak semantics instead of phantom. Objects
referenced by this might be referenced by ResolvedJavaType
which is kept alive by a
WeakReference
so we need equivalent reference strength.
Modifier and Type | Field and Description |
---|---|
private static Cleaner | first
Head of linked list of cleaners. |
private Cleaner | next
Hides java. |
private Cleaner | |
private static final ReferenceQueue | queue
Hides java. ReferenceQueue to which Cleaner s are enqueued once their referents'
become unreachable.
|
Modifier and Type | Method and Description |
---|---|
private static synchronized Cleaner | |
pack-priv static void | |
pack-priv abstract boolean | Returns: true if the clean up action cleared the referent of an oop handle and requires a subsequent call toCompilerToVM#releaseClearedOopHandles() to reclaim the
resources of the handle itselfPerforms the cleanup action now that this object's referent has become weakly reachable. |
private static synchronized void |
first | back to summary |
---|---|
private static Cleaner first Head of linked list of cleaners. |
next | back to summary |
---|---|
private Cleaner next Hides java. Linked list pointers. |
prev | back to summary |
---|---|
private Cleaner prev |
queue | back to summary |
---|---|
private static final ReferenceQueue<Object> queue Hides java. The |
Cleaner | back to summary |
---|---|
pack-priv Cleaner(Object referent) |
add | back to summary |
---|---|
private static synchronized Cleaner add(Cleaner cl) |
clean | back to summary |
---|---|
pack-priv static void clean() Remove the cleaners whose referents have become weakly reachable. |
doCleanup | back to summary |
---|---|
pack-priv abstract boolean doCleanup() Performs the cleanup action now that this object's referent has become weakly reachable.
|
remove | back to summary |
---|---|
private static synchronized void remove(Cleaner cl) Removes |