public class sun.net.ResourceManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.net.ResourceManager
super_class: java.lang.Object
{
private static final int DEFAULT_MAX_SOCKETS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 25
private static final int maxSockets;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.atomic.AtomicInteger numSockets;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: ldc "sun.net.maxDatagramSockets"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
1: astore 0
start local 0 2: bipush 25
istore 1
start local 1 3: aload 0
ifnull 7
4: aload 0
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 1
5: goto 7
StackMap locals: java.lang.String int
StackMap stack: java.lang.NumberFormatException
6: pop
7: StackMap locals:
StackMap stack:
iload 1
putstatic sun.net.ResourceManager.maxSockets:I
8: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putstatic sun.net.ResourceManager.numSockets:Ljava/util/concurrent/atomic/AtomicInteger;
end local 1 end local 0 9: return
LocalVariableTable:
Start End Slot Name Signature
2 9 0 prop Ljava/lang/String;
3 9 1 defmax I
Exception table:
from to target type
3 5 6 Class java.lang.NumberFormatException
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/ResourceManager;
public static void beforeUdpCreate();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 4
1: getstatic sun.net.ResourceManager.numSockets:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
getstatic sun.net.ResourceManager.maxSockets:I
if_icmple 4
2: getstatic sun.net.ResourceManager.numSockets:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
3: new java.net.SocketException
dup
ldc "maximum number of DatagramSockets reached"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.net.SocketException
public static void afterUdpClose();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 2
1: getstatic sun.net.ResourceManager.numSockets:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
2: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ResourceManager.java"