public class sun.net.dns.ResolverConfigurationImpl extends sun.net.dns.ResolverConfiguration
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.net.dns.ResolverConfigurationImpl
super_class: sun.net.dns.ResolverConfiguration
{
private static java.lang.Object lock;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static long lastRefresh;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final int TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 300000
private final sun.net.dns.ResolverConfiguration$Options opts;
descriptor: Lsun/net/dns/ResolverConfiguration$Options;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.LinkedList<java.lang.String> searchlist;
descriptor: Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/LinkedList<Ljava/lang/String;>;
private java.util.LinkedList<java.lang.String> nameservers;
descriptor: Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/LinkedList<Ljava/lang/String;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lsun/net/dns/ResolverConfigurationImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.net.dns.ResolverConfigurationImpl.$assertionsDisabled:Z
3: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic sun.net.dns.ResolverConfigurationImpl.lock:Ljava/lang/Object;
4: ldc -1
putstatic sun.net.dns.ResolverConfigurationImpl.lastRefresh:J
5: new sun.net.dns.ResolverConfigurationImpl$1
dup
invokespecial sun.net.dns.ResolverConfigurationImpl$1.<init>:()V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
7: return
LocalVariableTable:
Start End Slot Name Signature
private java.util.LinkedList<java.lang.String> resolvconf(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 4
start local 4 1: new java.io.BufferedReader
dup
new java.io.FileReader
dup
ldc "/etc/resolv.conf"
invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
2: astore 5
start local 5 3: goto 33
start local 6 4: StackMap locals: java.util.LinkedList java.io.BufferedReader java.lang.String
StackMap stack:
iload 2
istore 7
start local 7 5: aload 6
invokevirtual java.lang.String.isEmpty:()Z
ifeq 7
6: goto 33
7: StackMap locals: int
StackMap stack:
aload 6
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 35
if_icmpeq 33
aload 6
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 59
if_icmpne 9
8: goto 33
9: StackMap locals:
StackMap stack:
aload 6
aload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 11
10: goto 33
11: StackMap locals:
StackMap stack:
aload 6
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 8
start local 8 12: aload 8
invokevirtual java.lang.String.isEmpty:()Z
ifeq 14
13: goto 33
14: StackMap locals: java.lang.String
StackMap stack:
aload 8
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 32
if_icmpeq 16
aload 8
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 9
if_icmpeq 16
15: goto 33
16: StackMap locals:
StackMap stack:
new java.util.StringTokenizer
dup
aload 8
ldc " \t"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 9
start local 9 17: goto 30
18: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 9
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 10
start local 10 19: aload 10
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 35
if_icmpeq 31
aload 10
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 59
if_icmpne 21
20: goto 31
21: StackMap locals: java.lang.String
StackMap stack:
ldc "nameserver"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
22: aload 10
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iflt 27
23: aload 10
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
ifge 27
24: aload 10
bipush 91
invokevirtual java.lang.String.indexOf:(I)I
ifge 27
25: aload 10
bipush 93
invokevirtual java.lang.String.indexOf:(I)I
ifge 27
26: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
27: StackMap locals:
StackMap stack:
aload 4
aload 10
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
28: iinc 7 -1
iload 7
ifne 30
29: goto 31
end local 10 30: StackMap locals:
StackMap stack:
aload 9
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 18
31: StackMap locals:
StackMap stack:
iinc 3 -1
iload 3
ifne 33
32: goto 35
end local 9 end local 8 end local 7 end local 6 33: StackMap locals: sun.net.dns.ResolverConfigurationImpl java.lang.String int int java.util.LinkedList java.io.BufferedReader
StackMap stack:
aload 5
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 6
start local 6 34: ifnonnull 4
35: StackMap locals: java.lang.String
StackMap stack:
aload 5
invokevirtual java.io.BufferedReader.close:()V
end local 6 end local 5 36: goto 38
StackMap locals: sun.net.dns.ResolverConfigurationImpl java.lang.String int int java.util.LinkedList
StackMap stack: java.io.IOException
37: pop
38: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lsun/net/dns/ResolverConfigurationImpl;
0 39 1 keyword Ljava/lang/String;
0 39 2 maxperkeyword I
0 39 3 maxkeywords I
1 39 4 ll Ljava/util/LinkedList<Ljava/lang/String;>;
3 36 5 in Ljava/io/BufferedReader;
4 33 6 line Ljava/lang/String;
34 36 6 line Ljava/lang/String;
5 33 7 maxvalues I
12 33 8 value Ljava/lang/String;
17 33 9 st Ljava/util/StringTokenizer;
19 30 10 val Ljava/lang/String;
Exception table:
from to target type
1 36 37 Class java.io.IOException
Signature: (Ljava/lang/String;II)Ljava/util/LinkedList<Ljava/lang/String;>;
MethodParameters:
Name Flags
keyword
maxperkeyword
maxkeywords
private void loadConfig();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: getstatic sun.net.dns.ResolverConfigurationImpl.$assertionsDisabled:Z
ifne 1
getstatic sun.net.dns.ResolverConfigurationImpl.lock:Ljava/lang/Object;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic sun.net.dns.ResolverConfigurationImpl.lastRefresh:J
lconst_0
lcmp
iflt 5
2: invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 3: lload 1
getstatic sun.net.dns.ResolverConfigurationImpl.lastRefresh:J
lsub
ldc 300000
lcmp
ifge 5
4: return
end local 1 5: StackMap locals:
StackMap stack:
aload 0
6: new sun.net.dns.ResolverConfigurationImpl$2
dup
aload 0
invokespecial sun.net.dns.ResolverConfigurationImpl$2.<init>:(Lsun/net/dns/ResolverConfigurationImpl;)V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.util.LinkedList
8: putfield sun.net.dns.ResolverConfigurationImpl.nameservers:Ljava/util/LinkedList;
9: aload 0
aload 0
invokevirtual sun.net.dns.ResolverConfigurationImpl.getSearchList:()Ljava/util/LinkedList;
putfield sun.net.dns.ResolverConfigurationImpl.searchlist:Ljava/util/LinkedList;
10: invokestatic java.lang.System.currentTimeMillis:()J
putstatic sun.net.dns.ResolverConfigurationImpl.lastRefresh:J
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/net/dns/ResolverConfigurationImpl;
3 5 1 currTime J
private java.util.LinkedList<java.lang.String> getSearchList();
descriptor: ()Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: new sun.net.dns.ResolverConfigurationImpl$3
dup
aload 0
invokespecial sun.net.dns.ResolverConfigurationImpl$3.<init>:(Lsun/net/dns/ResolverConfigurationImpl;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.util.LinkedList
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
areturn
4: StackMap locals: java.util.LinkedList
StackMap stack:
invokestatic sun.net.dns.ResolverConfigurationImpl.localDomain0:()Ljava/lang/String;
astore 2
start local 2 5: aload 2
ifnull 9
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifne 9
6: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 1
7: aload 1
aload 2
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
8: aload 1
areturn
9: StackMap locals: java.lang.String
StackMap stack:
new sun.net.dns.ResolverConfigurationImpl$4
dup
aload 0
invokespecial sun.net.dns.ResolverConfigurationImpl$4.<init>:(Lsun/net/dns/ResolverConfigurationImpl;)V
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.util.LinkedList
astore 1
11: aload 1
ifnull 13
12: aload 1
areturn
13: StackMap locals:
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 1
14: invokestatic sun.net.dns.ResolverConfigurationImpl.fallbackDomain0:()Ljava/lang/String;
astore 3
start local 3 15: aload 3
ifnull 17
aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifne 17
16: aload 1
aload 3
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/net/dns/ResolverConfigurationImpl;
2 18 1 sl Ljava/util/LinkedList<Ljava/lang/String;>;
5 18 2 localDomain Ljava/lang/String;
15 18 3 domain Ljava/lang/String;
Signature: ()Ljava/util/LinkedList<Ljava/lang/String;>;
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.net.dns.ResolverConfiguration.<init>:()V
1: aload 0
new sun.net.dns.OptionsImpl
dup
invokespecial sun.net.dns.OptionsImpl.<init>:()V
putfield sun.net.dns.ResolverConfigurationImpl.opts:Lsun/net/dns/ResolverConfiguration$Options;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/net/dns/ResolverConfigurationImpl;
public java.util.List<java.lang.String> searchlist();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.net.dns.ResolverConfigurationImpl.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.net.dns.ResolverConfigurationImpl.loadConfig:()V
2: aload 0
getfield sun.net.dns.ResolverConfigurationImpl.searchlist:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clone:()Ljava/lang/Object;
checkcast java.util.List
aload 1
monitorexit
3: areturn
4: StackMap locals: sun.net.dns.ResolverConfigurationImpl java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
5: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/net/dns/ResolverConfigurationImpl;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public java.util.List<java.lang.String> nameservers();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.net.dns.ResolverConfigurationImpl.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.net.dns.ResolverConfigurationImpl.loadConfig:()V
2: aload 0
getfield sun.net.dns.ResolverConfigurationImpl.nameservers:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clone:()Ljava/lang/Object;
checkcast java.util.List
aload 1
monitorexit
3: areturn
4: StackMap locals: sun.net.dns.ResolverConfigurationImpl java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
5: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/net/dns/ResolverConfigurationImpl;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public sun.net.dns.ResolverConfiguration$Options options();
descriptor: ()Lsun/net/dns/ResolverConfiguration$Options;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.dns.ResolverConfigurationImpl.opts:Lsun/net/dns/ResolverConfiguration$Options;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/dns/ResolverConfigurationImpl;
static native java.lang.String localDomain0();
descriptor: ()Ljava/lang/String;
flags: (0x0108) ACC_STATIC, ACC_NATIVE
static native java.lang.String fallbackDomain0();
descriptor: ()Ljava/lang/String;
flags: (0x0108) ACC_STATIC, ACC_NATIVE
}
SourceFile: "ResolverConfigurationImpl.java"
NestMembers:
sun.net.dns.ResolverConfigurationImpl$1 sun.net.dns.ResolverConfigurationImpl$2 sun.net.dns.ResolverConfigurationImpl$3 sun.net.dns.ResolverConfigurationImpl$4
InnerClasses:
public abstract Options = sun.net.dns.ResolverConfiguration$Options of sun.net.dns.ResolverConfiguration
sun.net.dns.ResolverConfigurationImpl$1
sun.net.dns.ResolverConfigurationImpl$2
sun.net.dns.ResolverConfigurationImpl$3
sun.net.dns.ResolverConfigurationImpl$4