![JAR search and dependency download from the Maven repository](/logo.png)
com.google.common.base.FinalizableReferenceQueue.class Maven / Gradle / Ivy
???? 4 ? 0com/google/common/base/FinalizableReferenceQueue logger Ljava/util/logging/Logger;
java/lang/Object ()V java/lang/ref/ReferenceQueue
queue Ljava/lang/ref/ReferenceQueue; java/lang/ref/PhantomReference
3(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V frqRef Ljava/lang/ref/PhantomReference; startFinalizer Ljava/lang/reflect/Method; " +com/google/common/base/FinalizableReference
$ % & ' ( java/lang/reflect/Method invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; * java/lang/IllegalAccessException , java/lang/AssertionError
+ . / (Ljava/lang/Object;)V 1 java/lang/Throwable 3 4 5 6 7 java/util/logging/Level INFO Ljava/util/logging/Level; 9 nFailed to start reference finalizer thread. Reference cleanup will only occur when new references are created.
; < = > ? java/util/logging/Logger log C(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V A B C
threadStarted Z
E F G enqueue ()Z
I J cleanUp
L M N poll ()Ljava/lang/ref/Reference;
P Q R S java/lang/ref/Reference clear ! U V finalizeReferent 3 X Y 7 SEVERE [ "Error cleaning up after reference. ] ^ _ ` a @com/google/common/base/FinalizableReferenceQueue$FinalizerLoader
loadFinalizer ()Ljava/lang/Class;
+ e java/lang/Class
d g h i getMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; k java/lang/NoSuchMethodException
d m n o getName ()Ljava/lang/String;
; q r s getLogger .(Ljava/lang/String;)Ljava/util/logging/Logger; u =com/google/common/base/FinalizableReferenceQueue$SystemLoader
t x @com/google/common/base/FinalizableReferenceQueue$DecoupledLoader
w { =com/google/common/base/FinalizableReferenceQueue$DirectLoader
z
~ ` V([Lcom/google/common/base/FinalizableReferenceQueue$FinalizerLoader;)Ljava/lang/Class;
? ? ? getStartFinalizer -(Ljava/lang/Class;)Ljava/lang/reflect/Method; ? java/io/Closeable FINALIZER_CLASS_NAME Ljava/lang/String;
ConstantValue ? )com.google.common.base.internal.Finalizer Signature 2Ljava/lang/ref/ReferenceQueue; 4Ljava/lang/ref/PhantomReference; Code LineNumberTable LocalVariableTable
impossible "Ljava/lang/IllegalAccessException; t Ljava/lang/Throwable; this 2Lcom/google/common/base/FinalizableReferenceQueue;
StackMapTable close reference Ljava/lang/ref/Reference; LocalVariableTypeTable Ljava/lang/ref/Reference<*>; finalizer Ljava/lang/Class; loader BLcom/google/common/base/FinalizableReferenceQueue$FinalizerLoader; loaders C[Lcom/google/common/base/FinalizableReferenceQueue$FinalizerLoader; Ljava/lang/Class<*>; ? MethodParameters Y([Lcom/google/common/base/FinalizableReferenceQueue$FinalizerLoader;)Ljava/lang/Class<*>; e !Ljava/lang/NoSuchMethodException; 0(Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
access$000 ()Ljava/util/logging/Logger;
SourceFile FinalizableReferenceQueue.java RuntimeVisibleAnnotations 8Lcom/google/common/base/ElementTypesAreNonnullByDefault; RuntimeInvisibleAnnotations 0Lcom/google/common/annotations/J2ktIncompatible; /Lcom/google/common/annotations/GwtIncompatible; InnerClasses FinalizerLoader SystemLoader DecoupledLoader DirectLoader ! ? ? ? ? ? ? ? ? ? B C ? b*? *?
Y? ? *? Y**? ? ?