public abstract class java.net.ProxySelector
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.net.ProxySelector
  super_class: java.lang.Object
{
  private static java.net.ProxySelector theProxySelector;
    descriptor: Ljava/net/ProxySelector;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 72
            ldc "sun.net.spi.DefaultProxySelector"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* c */
        start local 0 // java.lang.Class c
         1: .line 73
            aload 0 /* c */
            ifnull 6
            ldc Ljava/net/ProxySelector;
            aload 0 /* c */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         2: .line 74
            aload 0 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.net.ProxySelector
            putstatic java.net.ProxySelector.theProxySelector:Ljava/net/ProxySelector;
        end local 0 // java.lang.Class c
         3: .line 76
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 77
            aconst_null
            putstatic java.net.ProxySelector.theProxySelector:Ljava/net/ProxySelector;
         6: .line 79
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    3     0     c  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.ProxySelector this
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.net.ProxySelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/ProxySelector;

  public static java.net.ProxySelector getDefault();
    descriptor: ()Ljava/net/ProxySelector;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 92
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* sm */
        start local 0 // java.lang.SecurityManager sm
         1: .line 93
            aload 0 /* sm */
            ifnull 3
         2: .line 94
            aload 0 /* sm */
            getstatic sun.security.util.SecurityConstants.GET_PROXYSELECTOR_PERMISSION:Ljava/net/NetPermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 96
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic java.net.ProxySelector.theProxySelector:Ljava/net/ProxySelector;
            areturn
        end local 0 // java.lang.SecurityManager sm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0    sm  Ljava/lang/SecurityManager;

  public static void setDefault(java.net.ProxySelector);
    descriptor: (Ljava/net/ProxySelector;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.ProxySelector ps
         0: .line 115
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 116
            aload 1 /* sm */
            ifnull 3
         2: .line 117
            aload 1 /* sm */
            getstatic sun.security.util.SecurityConstants.SET_PROXYSELECTOR_PERMISSION:Ljava/net/NetPermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 119
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* ps */
            putstatic java.net.ProxySelector.theProxySelector:Ljava/net/ProxySelector;
         4: .line 120
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.net.ProxySelector ps
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ps  Ljava/net/ProxySelector;
            1    5     1    sm  Ljava/lang/SecurityManager;
    MethodParameters:
      Name  Flags
      ps    

  public abstract java.util.List<java.net.Proxy> select(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/net/URI;)Ljava/util/List<Ljava/net/Proxy;>;
    MethodParameters:
      Name  Flags
      uri   

  public abstract void connectFailed(java.net.URI, java.net.SocketAddress, java.io.IOException);
    descriptor: (Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      uri   
      sa    
      ioe   
}
SourceFile: "ProxySelector.java"