public final class jdk.nio.Channels
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.nio.Channels
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // jdk.nio.Channels this
0: .line 52
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // jdk.nio.Channels this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nio/Channels;
public static java.nio.channels.SelectableChannel readWriteSelectableChannel(java.io.FileDescriptor, jdk.nio.Channels$SelectableChannelCloser);
descriptor: (Ljava/io/FileDescriptor;Ljdk/nio/Channels$SelectableChannelCloser;)Ljava/nio/channels/SelectableChannel;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 // java.io.FileDescriptor fd
start local 1 // jdk.nio.Channels$SelectableChannelCloser closer
0: .line 155
aload 1 /* closer */
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: .line 156
aload 0 /* fd */
invokevirtual java.io.FileDescriptor.valid:()Z
ifne 3
2: .line 157
new java.lang.IllegalArgumentException
dup
ldc "file descriptor is not valid"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 159
StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2 /* sm */
start local 2 // java.lang.SecurityManager sm
4: .line 160
aload 2 /* sm */
ifnull 7
5: .line 161
aload 2 /* sm */
aload 0 /* fd */
invokevirtual java.lang.SecurityManager.checkRead:(Ljava/io/FileDescriptor;)V
6: .line 162
aload 2 /* sm */
aload 0 /* fd */
invokevirtual java.lang.SecurityManager.checkWrite:(Ljava/io/FileDescriptor;)V
7: .line 165
StackMap locals: java.lang.SecurityManager
StackMap stack:
invokestatic java.nio.channels.spi.SelectorProvider.provider:()Ljava/nio/channels/spi/SelectorProvider;
astore 3 /* provider */
start local 3 // java.nio.channels.spi.SelectorProvider provider
8: .line 166
aload 3 /* provider */
instanceof sun.nio.ch.SelectorProviderImpl
ifne 10
9: .line 167
new java.lang.UnsupportedOperationException
dup
ldc "custom SelectorProvider"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
10: .line 169
StackMap locals: java.nio.channels.spi.SelectorProvider
StackMap stack:
new jdk.nio.Channels$ReadWriteChannelImpl
dup
aload 3 /* provider */
checkcast sun.nio.ch.SelectorProviderImpl
aload 0 /* fd */
aload 1 /* closer */
invokespecial jdk.nio.Channels$ReadWriteChannelImpl.<init>:(Lsun/nio/ch/SelectorProviderImpl;Ljava/io/FileDescriptor;Ljdk/nio/Channels$SelectableChannelCloser;)V
areturn
end local 3 // java.nio.channels.spi.SelectorProvider provider
end local 2 // java.lang.SecurityManager sm
end local 1 // jdk.nio.Channels$SelectableChannelCloser closer
end local 0 // java.io.FileDescriptor fd
LocalVariableTable:
Start End Slot Name Signature
0 11 0 fd Ljava/io/FileDescriptor;
0 11 1 closer Ljdk/nio/Channels$SelectableChannelCloser;
4 11 2 sm Ljava/lang/SecurityManager;
8 11 3 provider Ljava/nio/channels/spi/SelectorProvider;
MethodParameters:
Name Flags
fd
closer
}
SourceFile: "Channels.java"
NestMembers:
jdk.nio.Channels$ReadWriteChannelImpl jdk.nio.Channels$SelectableChannelCloser
InnerClasses:
private final ReadWriteChannelImpl = jdk.nio.Channels$ReadWriteChannelImpl of jdk.nio.Channels
public abstract SelectableChannelCloser = jdk.nio.Channels$SelectableChannelCloser of jdk.nio.Channels