final class java.net.InetAddress$NameServiceAddresses implements java.net.InetAddress$Addresses
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.net.InetAddress$NameServiceAddresses
super_class: java.lang.Object
{
private final java.lang.String host;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.net.InetAddress reqAddr;
descriptor: Ljava/net/InetAddress;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.lang.String, java.net.InetAddress);
descriptor: (Ljava/lang/String;Ljava/net/InetAddress;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // java.net.InetAddress$NameServiceAddresses this
start local 1 // java.lang.String host
start local 2 // java.net.InetAddress reqAddr
0: .line 822
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 823
aload 0 /* this */
aload 1 /* host */
putfield java.net.InetAddress$NameServiceAddresses.host:Ljava/lang/String;
2: .line 824
aload 0 /* this */
aload 2 /* reqAddr */
putfield java.net.InetAddress$NameServiceAddresses.reqAddr:Ljava/net/InetAddress;
3: .line 825
return
end local 2 // java.net.InetAddress reqAddr
end local 1 // java.lang.String host
end local 0 // java.net.InetAddress$NameServiceAddresses this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/InetAddress$NameServiceAddresses;
0 4 1 host Ljava/lang/String;
0 4 2 reqAddr Ljava/net/InetAddress;
MethodParameters:
Name Flags
host
reqAddr
public java.net.InetAddress[] get();
descriptor: ()[Ljava/net/InetAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=7, args_size=1
start local 0 // java.net.InetAddress$NameServiceAddresses this
0: .line 832
aload 0 /* this */
dup
astore 2
monitorenter
1: .line 834
getstatic java.net.InetAddress.cache:Ljava/util/concurrent/ConcurrentMap;
aload 0 /* this */
getfield java.net.InetAddress$NameServiceAddresses.host:Ljava/lang/String;
aload 0 /* this */
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.net.InetAddress$Addresses
astore 1 /* addresses */
start local 1 // java.net.InetAddress$Addresses addresses
2: .line 835
aload 1 /* addresses */
ifnonnull 4
3: .line 839
aload 0 /* this */
astore 1 /* addresses */
4: .line 842
StackMap locals: java.net.InetAddress$Addresses java.net.InetAddress$NameServiceAddresses
StackMap stack:
aload 1 /* addresses */
aload 0 /* this */
if_acmpne 32
5: .line 848
aload 0 /* this */
getfield java.net.InetAddress$NameServiceAddresses.host:Ljava/lang/String;
aload 0 /* this */
getfield java.net.InetAddress$NameServiceAddresses.reqAddr:Ljava/net/InetAddress;
invokestatic java.net.InetAddress.getAddressesFromNameService:(Ljava/lang/String;Ljava/net/InetAddress;)[Ljava/net/InetAddress;
astore 3 /* inetAddresses */
start local 3 // java.net.InetAddress[] inetAddresses
6: .line 849
aconst_null
astore 4 /* ex */
start local 4 // java.net.UnknownHostException ex
7: .line 850
invokestatic sun.net.InetAddressCachePolicy.get:()I
istore 5 /* cachePolicy */
start local 5 // int cachePolicy
8: .line 851
goto 13
end local 5 // int cachePolicy
end local 4 // java.net.UnknownHostException ex
end local 3 // java.net.InetAddress[] inetAddresses
StackMap locals:
StackMap stack: java.net.UnknownHostException
9: astore 6 /* uhe */
start local 6 // java.net.UnknownHostException uhe
10: .line 852
aconst_null
astore 3 /* inetAddresses */
start local 3 // java.net.InetAddress[] inetAddresses
11: .line 853
aload 6 /* uhe */
astore 4 /* ex */
start local 4 // java.net.UnknownHostException ex
12: .line 854
invokestatic sun.net.InetAddressCachePolicy.getNegative:()I
istore 5 /* cachePolicy */
end local 6 // java.net.UnknownHostException uhe
start local 5 // int cachePolicy
13: .line 857
StackMap locals: java.net.InetAddress[] java.net.UnknownHostException int
StackMap stack:
iload 5 /* cachePolicy */
ifne 16
14: .line 858
getstatic java.net.InetAddress.cache:Ljava/util/concurrent/ConcurrentMap;
aload 0 /* this */
getfield java.net.InetAddress$NameServiceAddresses.host:Ljava/lang/String;
aload 0 /* this */
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
15: .line 859
goto 26
16: .line 860
StackMap locals:
StackMap stack:
new java.net.InetAddress$CachedAddresses
dup
17: .line 861
aload 0 /* this */
getfield java.net.InetAddress$NameServiceAddresses.host:Ljava/lang/String;
18: .line 862
aload 3 /* inetAddresses */
19: .line 863
iload 5 /* cachePolicy */
iconst_m1
if_icmpne 21
20: .line 864
lconst_0
goto 22
21: .line 866
StackMap locals: java.net.InetAddress$NameServiceAddresses java.net.InetAddress$Addresses java.net.InetAddress$NameServiceAddresses java.net.InetAddress[] java.net.UnknownHostException int
StackMap stack: new 16 new 16 java.lang.String java.net.InetAddress[]
invokestatic java.lang.System.nanoTime:()J
ldc 1000000000
iload 5 /* cachePolicy */
i2l
lmul
ladd
22: .line 860
StackMap locals: java.net.InetAddress$NameServiceAddresses java.net.InetAddress$Addresses java.net.InetAddress$NameServiceAddresses java.net.InetAddress[] java.net.UnknownHostException int
StackMap stack: new 16 new 16 java.lang.String java.net.InetAddress[] long
invokespecial java.net.InetAddress$CachedAddresses.<init>:(Ljava/lang/String;[Ljava/net/InetAddress;J)V
astore 6 /* cachedAddresses */
start local 6 // java.net.InetAddress$CachedAddresses cachedAddresses
23: .line 868
getstatic java.net.InetAddress.cache:Ljava/util/concurrent/ConcurrentMap;
aload 0 /* this */
getfield java.net.InetAddress$NameServiceAddresses.host:Ljava/lang/String;
aload 0 /* this */
aload 6 /* cachedAddresses */
invokeinterface java.util.concurrent.ConcurrentMap.replace:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 26
24: .line 869
iload 5 /* cachePolicy */
iconst_m1
if_icmpeq 26
25: .line 871
getstatic java.net.InetAddress.expirySet:Ljava/util/NavigableSet;
aload 6 /* cachedAddresses */
invokeinterface java.util.NavigableSet.add:(Ljava/lang/Object;)Z
pop
end local 6 // java.net.InetAddress$CachedAddresses cachedAddresses
26: .line 874
StackMap locals:
StackMap stack:
aload 3 /* inetAddresses */
ifnonnull 30
27: .line 875
aload 4 /* ex */
ifnonnull 28
new java.net.UnknownHostException
dup
aload 0 /* this */
getfield java.net.InetAddress$NameServiceAddresses.host:Ljava/lang/String;
invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
goto 29
StackMap locals:
StackMap stack:
28: aload 4 /* ex */
StackMap locals:
StackMap stack: java.net.UnknownHostException
29: athrow
30: .line 877
StackMap locals:
StackMap stack:
aload 3 /* inetAddresses */
aload 2
monitorexit
31: areturn
end local 5 // int cachePolicy
end local 4 // java.net.UnknownHostException ex
end local 3 // java.net.InetAddress[] inetAddresses
32: .line 832
StackMap locals:
StackMap stack:
aload 2
monitorexit
33: goto 36
end local 1 // java.net.InetAddress$Addresses addresses
StackMap locals: java.net.InetAddress$NameServiceAddresses top java.net.InetAddress$NameServiceAddresses
StackMap stack: java.lang.Throwable
34: aload 2
monitorexit
35: athrow
start local 1 // java.net.InetAddress$Addresses addresses
36: .line 883
StackMap locals: java.net.InetAddress$NameServiceAddresses java.net.InetAddress$Addresses
StackMap stack:
aload 1 /* addresses */
invokeinterface java.net.InetAddress$Addresses.get:()[Ljava/net/InetAddress;
areturn
end local 1 // java.net.InetAddress$Addresses addresses
end local 0 // java.net.InetAddress$NameServiceAddresses this
LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Ljava/net/InetAddress$NameServiceAddresses;
2 34 1 addresses Ljava/net/InetAddress$Addresses;
36 37 1 addresses Ljava/net/InetAddress$Addresses;
6 9 3 inetAddresses [Ljava/net/InetAddress;
11 32 3 inetAddresses [Ljava/net/InetAddress;
7 9 4 ex Ljava/net/UnknownHostException;
12 32 4 ex Ljava/net/UnknownHostException;
8 9 5 cachePolicy I
13 32 5 cachePolicy I
10 13 6 uhe Ljava/net/UnknownHostException;
23 26 6 cachedAddresses Ljava/net/InetAddress$CachedAddresses;
Exception table:
from to target type
5 8 9 Class java.net.UnknownHostException
1 31 34 any
32 33 34 any
34 35 34 any
Exceptions:
throws java.net.UnknownHostException
}
SourceFile: "InetAddress.java"
NestHost: java.net.InetAddress
InnerClasses:
private abstract Addresses = java.net.InetAddress$Addresses of java.net.InetAddress
private final CachedAddresses = java.net.InetAddress$CachedAddresses of java.net.InetAddress
private final NameServiceAddresses = java.net.InetAddress$NameServiceAddresses of java.net.InetAddress