public abstract class com.sun.util.reentrant.ReentrantContextProvider<K extends com.sun.util.reentrant.ReentrantContext>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.util.reentrant.ReentrantContextProvider
super_class: java.lang.Object
{
static final byte USAGE_TL_INACTIVE;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final byte USAGE_TL_IN_USE;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final byte USAGE_CLQ;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int REF_HARD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int REF_SOFT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int REF_WEAK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private final int refType;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield com.sun.util.reentrant.ReentrantContextProvider.refType:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/util/reentrant/ReentrantContextProvider<TK;>;
0 3 1 refType I
MethodParameters:
Name Flags
refType final
protected abstract K newContext();
descriptor: ()Lcom/sun/util/reentrant/ReentrantContext;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: ()TK;
public abstract K acquire();
descriptor: ()Lcom/sun/util/reentrant/ReentrantContext;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()TK;
public abstract void release();
descriptor: (Lcom/sun/util/reentrant/ReentrantContext;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (TK;)V
MethodParameters:
Name Flags
ctx
protected final java.lang.ref.Reference<K> getOrCreateReference(K);
descriptor: (Lcom/sun/util/reentrant/ReentrantContext;)Ljava/lang/ref/Reference;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.util.reentrant.ReentrantContext.reference:Ljava/lang/ref/Reference;
ifnonnull 7
1: aload 0
getfield com.sun.util.reentrant.ReentrantContextProvider.refType:I
tableswitch { // 0 - 2
0: 2
1: 4
2: 6
default: 6
}
2: StackMap locals:
StackMap stack:
aload 1
new com.sun.util.reentrant.ReentrantContextProvider$HardReference
dup
aload 1
invokespecial com.sun.util.reentrant.ReentrantContextProvider$HardReference.<init>:(Ljava/lang/Object;)V
putfield com.sun.util.reentrant.ReentrantContext.reference:Ljava/lang/ref/Reference;
3: goto 7
4: StackMap locals:
StackMap stack:
aload 1
new java.lang.ref.SoftReference
dup
aload 1
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield com.sun.util.reentrant.ReentrantContext.reference:Ljava/lang/ref/Reference;
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield com.sun.util.reentrant.ReentrantContext.reference:Ljava/lang/ref/Reference;
7: StackMap locals:
StackMap stack:
aload 1
8: getfield com.sun.util.reentrant.ReentrantContext.reference:Ljava/lang/ref/Reference;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/util/reentrant/ReentrantContextProvider<TK;>;
0 9 1 ctx TK;
Signature: (TK;)Ljava/lang/ref/Reference<TK;>;
MethodParameters:
Name Flags
ctx final
}
Signature: <K:Lcom/sun/util/reentrant/ReentrantContext;>Ljava/lang/Object;
SourceFile: "ReentrantContextProvider.java"
NestMembers:
com.sun.util.reentrant.ReentrantContextProvider$HardReference
InnerClasses:
final HardReference = com.sun.util.reentrant.ReentrantContextProvider$HardReference of com.sun.util.reentrant.ReentrantContextProvider