public abstract class java.nio.ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.nio.ByteBuffer
super_class: java.nio.Buffer
{
final byte[] hb;
descriptor: [B
flags: (0x0010) ACC_FINAL
final int offset;
descriptor: I
flags: (0x0010) ACC_FINAL
boolean isReadOnly;
descriptor: Z
flags: (0x0000)
boolean bigEndian;
descriptor: Z
flags: (0x0000)
boolean nativeByteOrder;
descriptor: Z
flags: (0x0000)
void <init>(int, int, int, int, byte[], int);
descriptor: (IIII[BI)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
iload 1
iload 2
iload 3
iload 4
invokespecial java.nio.Buffer.<init>:(IIII)V
1: aload 0
2: iconst_1
putfield java.nio.ByteBuffer.bigEndian:Z
3: aload 0
4: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 5
iconst_1
goto 6
StackMap locals: java.nio.ByteBuffer int int int int byte[] int
StackMap stack: java.nio.ByteBuffer
5: iconst_0
StackMap locals: java.nio.ByteBuffer int int int int byte[] int
StackMap stack: java.nio.ByteBuffer int
6: putfield java.nio.ByteBuffer.nativeByteOrder:Z
7: aload 0
aload 5
putfield java.nio.ByteBuffer.hb:[B
8: aload 0
iload 6
putfield java.nio.ByteBuffer.offset:I
9: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/nio/ByteBuffer;
0 10 1 mark I
0 10 2 pos I
0 10 3 lim I
0 10 4 cap I
0 10 5 hb [B
0 10 6 offset I
MethodParameters:
Name Flags
mark
pos
lim
cap
hb
offset
void <init>(int, int, int, int);
descriptor: (IIII)V
flags: (0x0000)
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
iload 4
aconst_null
iconst_0
invokespecial java.nio.ByteBuffer.<init>:(IIII[BI)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/nio/ByteBuffer;
0 2 1 mark I
0 2 2 pos I
0 2 3 lim I
0 2 4 cap I
MethodParameters:
Name Flags
mark
pos
lim
cap
java.lang.Object base();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.nio.ByteBuffer.hb:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/nio/ByteBuffer;
public static java.nio.ByteBuffer allocateDirect(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.nio.DirectByteBuffer
dup
iload 0
invokespecial java.nio.DirectByteBuffer.<init>:(I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 capacity I
MethodParameters:
Name Flags
capacity
public static java.nio.ByteBuffer allocate(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iload 0
ifge 2
1: iload 0
invokestatic java.nio.ByteBuffer.createCapacityException:(I)Ljava/lang/IllegalArgumentException;
athrow
2: StackMap locals:
StackMap stack:
new java.nio.HeapByteBuffer
dup
iload 0
iload 0
invokespecial java.nio.HeapByteBuffer.<init>:(II)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 capacity I
MethodParameters:
Name Flags
capacity
public static java.nio.ByteBuffer wrap(byte[], int, int);
descriptor: ([BII)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.nio.HeapByteBuffer
dup
aload 0
iload 1
iload 2
invokespecial java.nio.HeapByteBuffer.<init>:([BII)V
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
3: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 array [B
0 4 1 offset I
0 4 2 length I
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
array
offset
length
public static java.nio.ByteBuffer wrap(byte[]);
descriptor: ([B)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aload 0
arraylength
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 array [B
MethodParameters:
Name Flags
array
public abstract java.nio.ByteBuffer slice();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.nio.ByteBuffer duplicate();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.nio.ByteBuffer asReadOnlyBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract byte get();
descriptor: ()B
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.nio.ByteBuffer put(byte);
descriptor: (B)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
b
public abstract byte get(int);
descriptor: (I)B
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
public abstract java.nio.ByteBuffer put(int, byte);
descriptor: (IB)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
b
public java.nio.ByteBuffer get(byte[], int, int);
descriptor: ([BII)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
aload 1
arraylength
invokestatic java.nio.ByteBuffer.checkBounds:(III)V
1: iload 3
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 3
2: new java.nio.BufferUnderflowException
dup
invokespecial java.nio.BufferUnderflowException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
istore 4
start local 4 4: iload 2
istore 5
start local 5 5: goto 8
6: StackMap locals: int int
StackMap stack:
aload 1
iload 5
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
bastore
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 4
if_icmplt 6
end local 5 9: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/nio/ByteBuffer;
0 10 1 dst [B
0 10 2 offset I
0 10 3 length I
4 10 4 end I
5 9 5 i I
MethodParameters:
Name Flags
dst
offset
length
public java.nio.ByteBuffer get(byte[]);
descriptor: ([B)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/nio/ByteBuffer;
0 1 1 dst [B
MethodParameters:
Name Flags
dst
public java.nio.ByteBuffer put(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: invokestatic java.nio.ByteBuffer.createSameBufferException:()Ljava/lang/IllegalArgumentException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifeq 4
3: new java.nio.ReadOnlyBufferException
dup
invokespecial java.nio.ReadOnlyBufferException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
start local 2 5: iload 2
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 7
6: new java.nio.BufferOverflowException
dup
invokespecial java.nio.BufferOverflowException.<init>:()V
athrow
7: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 8: goto 11
9: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 2
if_icmplt 9
end local 3 12: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/nio/ByteBuffer;
0 13 1 src Ljava/nio/ByteBuffer;
5 13 2 n I
8 12 3 i I
MethodParameters:
Name Flags
src
public java.nio.ByteBuffer put(byte[], int, int);
descriptor: ([BII)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
aload 1
arraylength
invokestatic java.nio.ByteBuffer.checkBounds:(III)V
1: iload 3
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 3
2: new java.nio.BufferOverflowException
dup
invokespecial java.nio.BufferOverflowException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
istore 4
start local 4 4: iload 2
istore 5
start local 5 5: goto 8
6: StackMap locals: int int
StackMap stack:
aload 0
aload 1
iload 5
baload
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 4
if_icmplt 6
end local 5 9: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/nio/ByteBuffer;
0 10 1 src [B
0 10 2 offset I
0 10 3 length I
4 10 4 end I
5 9 5 i I
MethodParameters:
Name Flags
src
offset
length
public final java.nio.ByteBuffer put(byte[]);
descriptor: ([B)Ljava/nio/ByteBuffer;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/nio/ByteBuffer;
0 1 1 src [B
MethodParameters:
Name Flags
src
public final boolean hasArray();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.nio.ByteBuffer.hb:[B
ifnull 1
aload 0
getfield java.nio.ByteBuffer.isReadOnly:Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/nio/ByteBuffer;
public final byte[] array();
descriptor: ()[B
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.nio.ByteBuffer.hb:[B
ifnonnull 2
1: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.nio.ByteBuffer.isReadOnly:Z
ifeq 4
3: new java.nio.ReadOnlyBufferException
dup
invokespecial java.nio.ReadOnlyBufferException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield java.nio.ByteBuffer.hb:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/nio/ByteBuffer;
public final int arrayOffset();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.nio.ByteBuffer.hb:[B
ifnonnull 2
1: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.nio.ByteBuffer.isReadOnly:Z
ifeq 4
3: new java.nio.ReadOnlyBufferException
dup
invokespecial java.nio.ReadOnlyBufferException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield java.nio.ByteBuffer.offset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/nio/ByteBuffer;
public java.nio.ByteBuffer position(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/nio/ByteBuffer;
0 2 1 newPosition I
MethodParameters:
Name Flags
newPosition
public java.nio.ByteBuffer limit(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/nio/ByteBuffer;
0 2 1 newLimit I
MethodParameters:
Name Flags
newLimit
public java.nio.ByteBuffer mark();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.nio.Buffer.mark:()Ljava/nio/Buffer;
pop
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/nio/ByteBuffer;
public java.nio.ByteBuffer reset();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.nio.Buffer.reset:()Ljava/nio/Buffer;
pop
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/nio/ByteBuffer;
public java.nio.ByteBuffer clear();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.nio.Buffer.clear:()Ljava/nio/Buffer;
pop
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/nio/ByteBuffer;
public java.nio.ByteBuffer flip();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.nio.Buffer.flip:()Ljava/nio/Buffer;
pop
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/nio/ByteBuffer;
public java.nio.ByteBuffer rewind();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.nio.Buffer.rewind:()Ljava/nio/Buffer;
pop
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/nio/ByteBuffer;
public abstract java.nio.ByteBuffer compact();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isDirect();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 1
ldc "[pos="
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 1
aload 0
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
4: aload 1
ldc " lim="
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 1
aload 0
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
6: aload 1
ldc " cap="
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: aload 1
aload 0
invokevirtual java.nio.ByteBuffer.capacity:()I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
8: aload 1
ldc "]"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/nio/ByteBuffer;
1 10 1 sb Ljava/lang/StringBuffer;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 2: aload 0
invokevirtual java.nio.ByteBuffer.limit:()I
iconst_1
isub
istore 3
start local 3 3: goto 6
4: StackMap locals: int int int
StackMap stack:
bipush 31
iload 1
imul
aload 0
iload 3
invokevirtual java.nio.ByteBuffer.get:(I)B
iadd
istore 1
5: iinc 3 -1
StackMap locals:
StackMap stack:
6: iload 3
iload 2
if_icmpge 4
end local 3 7: iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/nio/ByteBuffer;
1 8 1 h I
2 8 2 p I
3 7 3 i I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.nio.ByteBuffer
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.nio.ByteBuffer
astore 2
start local 2 5: aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
aload 0
invokevirtual java.nio.ByteBuffer.position:()I
8: aload 2
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
9: aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
10: invokestatic java.nio.BufferMismatch.mismatch:(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)I
ifge 11
iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/nio/ByteBuffer;
0 12 1 ob Ljava/lang/Object;
5 12 2 that Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
ob
public int compareTo(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual java.nio.ByteBuffer.position:()I
1: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
2: aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
3: invokestatic java.nio.BufferMismatch.mismatch:(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)I
istore 2
start local 2 4: iload 2
iflt 6
5: aload 0
aload 0
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
invokestatic java.nio.ByteBuffer.compare:(BB)I
ireturn
6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/nio/ByteBuffer;
0 7 1 that Ljava/nio/ByteBuffer;
4 7 2 i I
MethodParameters:
Name Flags
that
private static int compare(byte, byte);
descriptor: (BB)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
invokestatic java.lang.Byte.compare:(BB)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x B
0 1 1 y B
MethodParameters:
Name Flags
x
y
public int mismatch(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
istore 2
start local 2 1: aload 0
aload 0
invokevirtual java.nio.ByteBuffer.position:()I
2: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
3: iload 2
4: invokestatic java.nio.BufferMismatch.mismatch:(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)I
istore 3
start local 3 5: iload 3
iconst_m1
if_icmpne 6
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmpeq 6
iload 2
goto 7
StackMap locals: int int
StackMap stack:
6: iload 3
StackMap locals:
StackMap stack: int
7: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/nio/ByteBuffer;
0 8 1 that Ljava/nio/ByteBuffer;
1 8 2 length I
5 8 3 r I
MethodParameters:
Name Flags
that
public final java.nio.ByteOrder order();
descriptor: ()Ljava/nio/ByteOrder;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.nio.ByteBuffer.bigEndian:Z
ifeq 1
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
goto 2
StackMap locals:
StackMap stack:
1: getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
StackMap locals:
StackMap stack: java.nio.ByteOrder
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/nio/ByteBuffer;
public final java.nio.ByteBuffer order(java.nio.ByteOrder);
descriptor: (Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack: java.nio.ByteBuffer
1: iconst_0
StackMap locals: java.nio.ByteBuffer java.nio.ByteOrder
StackMap stack: java.nio.ByteBuffer int
2: putfield java.nio.ByteBuffer.bigEndian:Z
3: aload 0
4: aload 0
getfield java.nio.ByteBuffer.bigEndian:Z
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 5
iconst_1
goto 6
StackMap locals: java.nio.ByteBuffer java.nio.ByteOrder
StackMap stack: java.nio.ByteBuffer int
5: iconst_0
StackMap locals: java.nio.ByteBuffer java.nio.ByteOrder
StackMap stack: java.nio.ByteBuffer int int
6: if_icmpne 7
iconst_1
goto 8
StackMap locals:
StackMap stack: java.nio.ByteBuffer
7: iconst_0
8: StackMap locals: java.nio.ByteBuffer java.nio.ByteOrder
StackMap stack: java.nio.ByteBuffer int
putfield java.nio.ByteBuffer.nativeByteOrder:Z
9: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/nio/ByteBuffer;
0 10 1 bo Ljava/nio/ByteOrder;
MethodParameters:
Name Flags
bo
public final int alignmentOffset(int, int);
descriptor: (II)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifge 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Index less than zero: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iconst_1
if_icmplt 3
iload 2
iload 2
iconst_1
isub
iand
ifeq 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unit size not a power of two: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
bipush 8
if_icmple 6
aload 0
invokevirtual java.nio.ByteBuffer.isDirect:()Z
ifne 6
5: new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "Unit size unsupported for non-direct buffers: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield java.nio.ByteBuffer.address:J
iload 1
i2l
ladd
iload 2
i2l
lrem
l2i
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/nio/ByteBuffer;
0 7 1 index I
0 7 2 unitSize I
MethodParameters:
Name Flags
index
unitSize
public final java.nio.ByteBuffer alignedSlice(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 1: aload 0
invokevirtual java.nio.ByteBuffer.limit:()I
istore 3
start local 3 2: aload 0
iload 2
iload 1
invokevirtual java.nio.ByteBuffer.alignmentOffset:(II)I
istore 4
start local 4 3: aload 0
iload 3
iload 1
invokevirtual java.nio.ByteBuffer.alignmentOffset:(II)I
istore 5
start local 5 4: iload 4
ifle 6
5: iload 2
iload 1
iload 4
isub
iadd
goto 7
6: StackMap locals: java.nio.ByteBuffer int int int int int
StackMap stack:
iload 2
7: StackMap locals:
StackMap stack: int
istore 6
start local 6 8: iload 3
iload 5
isub
istore 7
start local 7 9: iload 6
iload 3
if_icmpgt 10
iload 7
iload 2
if_icmpge 11
10: StackMap locals: int int
StackMap stack:
iload 2
dup
istore 7
istore 6
11: StackMap locals:
StackMap stack:
aload 0
iload 6
iload 7
invokevirtual java.nio.ByteBuffer.slice:(II)Ljava/nio/ByteBuffer;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/nio/ByteBuffer;
0 12 1 unitSize I
1 12 2 pos I
2 12 3 lim I
3 12 4 pos_mod I
4 12 5 lim_mod I
8 12 6 aligned_pos I
9 12 7 aligned_lim I
MethodParameters:
Name Flags
unitSize
abstract java.nio.ByteBuffer slice(int, int);
descriptor: (II)Ljava/nio/ByteBuffer;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
pos
lim
public abstract char getChar();
descriptor: ()C
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.nio.ByteBuffer putChar(char);
descriptor: (C)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
value
public abstract char getChar(int);
descriptor: (I)C
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
public abstract java.nio.ByteBuffer putChar(int, char);
descriptor: (IC)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
value
public abstract java.nio.CharBuffer asCharBuffer();
descriptor: ()Ljava/nio/CharBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract short getShort();
descriptor: ()S
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.nio.ByteBuffer putShort(short);
descriptor: (S)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
value
public abstract short getShort(int);
descriptor: (I)S
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
public abstract java.nio.ByteBuffer putShort(int, short);
descriptor: (IS)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
value
public abstract java.nio.ShortBuffer asShortBuffer();
descriptor: ()Ljava/nio/ShortBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract int getInt();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.nio.ByteBuffer putInt(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
value
public abstract int getInt(int);
descriptor: (I)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
public abstract java.nio.ByteBuffer putInt(int, int);
descriptor: (II)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
value
public abstract java.nio.IntBuffer asIntBuffer();
descriptor: ()Ljava/nio/IntBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract long getLong();
descriptor: ()J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.nio.ByteBuffer putLong(long);
descriptor: (J)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
value
public abstract long getLong(int);
descriptor: (I)J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
public abstract java.nio.ByteBuffer putLong(int, long);
descriptor: (IJ)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
value
public abstract java.nio.LongBuffer asLongBuffer();
descriptor: ()Ljava/nio/LongBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract float getFloat();
descriptor: ()F
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.nio.ByteBuffer putFloat(float);
descriptor: (F)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
value
public abstract float getFloat(int);
descriptor: (I)F
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
public abstract java.nio.ByteBuffer putFloat(int, float);
descriptor: (IF)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
value
public abstract java.nio.FloatBuffer asFloatBuffer();
descriptor: ()Ljava/nio/FloatBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract double getDouble();
descriptor: ()D
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.nio.ByteBuffer putDouble(double);
descriptor: (D)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
value
public abstract double getDouble(int);
descriptor: (I)D
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
public abstract java.nio.ByteBuffer putDouble(int, double);
descriptor: (ID)Ljava/nio/ByteBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
index
value
public abstract java.nio.DoubleBuffer asDoubleBuffer();
descriptor: ()Ljava/nio/DoubleBuffer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public java.nio.Buffer rewind();
descriptor: ()Ljava/nio/Buffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.Buffer reset();
descriptor: ()Ljava/nio/Buffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.Buffer clear();
descriptor: ()Ljava/nio/Buffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.Buffer slice();
descriptor: ()Ljava/nio/Buffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.nio.ByteBuffer
invokevirtual java.nio.ByteBuffer.compareTo:(Ljava/nio/ByteBuffer;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.Buffer position(int);
descriptor: (I)Ljava/nio/Buffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.Buffer limit(int);
descriptor: (I)Ljava/nio/Buffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.Buffer mark();
descriptor: ()Ljava/nio/Buffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.nio.ByteBuffer.mark:()Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.Buffer duplicate();
descriptor: ()Ljava/nio/Buffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object array();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.nio.ByteBuffer.array:()[B
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.Buffer flip();
descriptor: ()Ljava/nio/Buffer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/ByteBuffer;>;
SourceFile: "ByteBuffer.java"