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=2, 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 7
            ldc Ljava/net/ProxySelector;
            aload 0 /* c */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 7
         2: .line 75
            aload 0 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.net.ProxySelector
            astore 1 /* tmp */
        start local 1 // java.net.ProxySelector tmp
         3: .line 76
            aload 1 /* tmp */
            putstatic java.net.ProxySelector.theProxySelector:Ljava/net/ProxySelector;
        end local 1 // java.net.ProxySelector tmp
        end local 0 // java.lang.Class c
         4: .line 78
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: pop
         6: .line 79
            aconst_null
            putstatic java.net.ProxySelector.theProxySelector:Ljava/net/ProxySelector;
         7: .line 81
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0     c  Ljava/lang/Class<*>;
            3    4     1   tmp  Ljava/net/ProxySelector;
      Exception table:
        from    to  target  type
           0     4       5  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 94
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* sm */
        start local 0 // java.lang.SecurityManager sm
         1: .line 95
            aload 0 /* sm */
            ifnull 3
         2: .line 96
            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 98
      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 117
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 118
            aload 1 /* sm */
            ifnull 3
         2: .line 119
            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 121
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* ps */
            putstatic java.net.ProxySelector.theProxySelector:Ljava/net/ProxySelector;
         4: .line 122
            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   

  public static java.net.ProxySelector of(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Ljava/net/ProxySelector;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.InetSocketAddress proxyAddress
         0: .line 180
            new java.net.ProxySelector$StaticProxySelector
            dup
            aload 0 /* proxyAddress */
            invokespecial java.net.ProxySelector$StaticProxySelector.<init>:(Ljava/net/InetSocketAddress;)V
            areturn
        end local 0 // java.net.InetSocketAddress proxyAddress
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  proxyAddress  Ljava/net/InetSocketAddress;
    MethodParameters:
              Name  Flags
      proxyAddress  
}
SourceFile: "ProxySelector.java"
NestMembers:
  java.net.ProxySelector$StaticProxySelector
InnerClasses:
  StaticProxySelector = java.net.ProxySelector$StaticProxySelector of java.net.ProxySelector