final class jakarta.el.BeanELResolver$ConcurrentCache<K, V>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jakarta.el.BeanELResolver$ConcurrentCache
super_class: java.lang.Object
{
private final int size;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<K, V> eden;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<TK;TV;>;
private final java.util.Map<K, V> longterm;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<TK;TV;>;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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 jakarta.el.BeanELResolver$ConcurrentCache.size:I
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
iload 1
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
putfield jakarta.el.BeanELResolver$ConcurrentCache.eden:Ljava/util/Map;
3: aload 0
new java.util.WeakHashMap
dup
iload 1
invokespecial java.util.WeakHashMap.<init>:(I)V
putfield jakarta.el.BeanELResolver$ConcurrentCache.longterm:Ljava/util/Map;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljakarta/el/BeanELResolver$ConcurrentCache<TK;TV;>;
0 5 1 size I
MethodParameters:
Name Flags
size
public V get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.eden:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 10
2: aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.longterm:Ljava/util/Map;
dup
astore 3
monitorenter
3: aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.longterm:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
4: aload 3
monitorexit
5: goto 8
StackMap locals: jakarta.el.BeanELResolver$ConcurrentCache java.lang.Object java.lang.Object java.util.Map
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 2
ifnull 10
9: aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.eden:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljakarta/el/BeanELResolver$ConcurrentCache<TK;TV;>;
0 11 1 key TK;
1 11 2 value TV;
Exception table:
from to target type
3 5 6 any
6 7 6 any
Signature: (TK;)TV;
MethodParameters:
Name Flags
key
public void put(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.eden:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.size:I
if_icmplt 8
1: aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.longterm:Ljava/util/Map;
dup
astore 3
monitorenter
2: aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.longterm:Ljava/util/Map;
aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.eden:Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
3: aload 3
monitorexit
4: goto 7
StackMap locals: jakarta.el.BeanELResolver$ConcurrentCache java.lang.Object java.lang.Object java.util.Map
StackMap stack: java.lang.Throwable
5: aload 3
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.eden:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield jakarta.el.BeanELResolver$ConcurrentCache.eden:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljakarta/el/BeanELResolver$ConcurrentCache<TK;TV;>;
0 10 1 key TK;
0 10 2 value TV;
Exception table:
from to target type
2 4 5 any
5 6 5 any
Signature: (TK;TV;)V
MethodParameters:
Name Flags
key
value
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "BeanELResolver.java"
NestHost: jakarta.el.BeanELResolver
InnerClasses:
private final ConcurrentCache = jakarta.el.BeanELResolver$ConcurrentCache of jakarta.el.BeanELResolver