Package com.google.common.base
Class FinalizableReferenceQueue.DecoupledLoader
java.lang.Object
com.google.common.base.FinalizableReferenceQueue.DecoupledLoader
- All Implemented Interfaces:
FinalizableReferenceQueue.FinalizerLoader
- Enclosing class:
FinalizableReferenceQueue
static class FinalizableReferenceQueue.DecoupledLoader
extends Object
implements FinalizableReferenceQueue.FinalizerLoader
Try to load Finalizer in its own class loader. If Finalizer's thread had a direct reference to
our class loader (which could be that of a dynamically loaded web application or OSGi bundle),
it would prevent our class loader from getting garbage collected.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) URL
Gets URL for base of path containing Finalizer.class.Class
<?> Returns Finalizer.class or null if this loader shouldn't or can't load it.(package private) URLClassLoader
Creates a class loader with the given base URL as its classpath.
-
Field Details
-
LOADING_ERROR
- See Also:
-
-
Constructor Details
-
DecoupledLoader
DecoupledLoader()
-
-
Method Details
-
loadFinalizer
Description copied from interface:FinalizableReferenceQueue.FinalizerLoader
Returns Finalizer.class or null if this loader shouldn't or can't load it.- Specified by:
loadFinalizer
in interfaceFinalizableReferenceQueue.FinalizerLoader
-
getBaseUrl
Gets URL for base of path containing Finalizer.class.- Throws:
IOException
-
newLoader
Creates a class loader with the given base URL as its classpath.
-