private final class ResourceLeakDetector.DefaultResourceLeak extends java.lang.ref.PhantomReference<java.lang.Object> implements ResourceLeakTracker<T>, ResourceLeak
| Modifier and Type | Field and Description |
|---|---|
private java.lang.String |
creationRecord |
private java.util.Deque<java.lang.String> |
lastRecords |
private int |
removedRecords |
private int |
trackedHash |
| Constructor and Description |
|---|
DefaultResourceLeak(java.lang.Object referent) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
close()
Close the leak so that
ResourceLeakDetector does not warn about leaked resources. |
boolean |
close(T trackedObject)
Close the leak so that
ResourceLeakTracker does not warn about leaked resources. |
void |
record()
Records the caller's current stack trace so that the
ResourceLeakDetector can tell where the leaked
resource was accessed lastly. |
void |
record(java.lang.Object hint)
Records the caller's current stack trace and the specified additional arbitrary information
so that the
ResourceLeakDetector can tell where the leaked resource was accessed lastly. |
private void |
record0(java.lang.Object hint,
int recordsToSkip) |
java.lang.String |
toString() |
private final java.lang.String creationRecord
private final java.util.Deque<java.lang.String> lastRecords
private final int trackedHash
private int removedRecords
public void record()
ResourceLeakTrackerResourceLeakDetector can tell where the leaked
resource was accessed lastly. This method is a shortcut to record(null).record in interface ResourceLeakrecord in interface ResourceLeakTracker<T>public void record(java.lang.Object hint)
ResourceLeakTrackerResourceLeakDetector can tell where the leaked resource was accessed lastly.record in interface ResourceLeakrecord in interface ResourceLeakTracker<T>private void record0(java.lang.Object hint,
int recordsToSkip)
public boolean close()
ResourceLeakResourceLeakDetector does not warn about leaked resources.close in interface ResourceLeaktrue if called first time, false if called alreadypublic boolean close(T trackedObject)
ResourceLeakTrackerResourceLeakTracker does not warn about leaked resources.
After this method is called a leak associated with this ResourceLeakTracker should not be reported.close in interface ResourceLeakTracker<T>true if called first time, false if called alreadypublic java.lang.String toString()
toString in class java.lang.Object