花了两个小时,总结了一下JAVA CLASS OPCODE后面跟的字节数目。接下来是彻底搞掂JAVA class
aaload | 50 | |||
aastore | 83 | |||
aconst_null | 1 | |||
aload | 25 | 1 | unsigned byte | local variable |
aload_0 | 42 | |||
aload_1 | 43 | |||
aload_2 | 44 | |||
aload_3 | 45 | |||
anewarray | 189 | 2 | unsigned byte | |
areturn | 176 | |||
arraylength | 190 | |||
astore | 58 | 1 | unsigned byte | |
astore_0 | 75 | |||
astore_1 | 76 | |||
astore_2 | 77 | |||
astore_3 | 78 | |||
athrow | 191 | |||
baload | 51 | |||
bastore | 84 | |||
bipush | 16 | 1 | byte | constant,not index |
caload | 52 | |||
castore | 85 | |||
checkcast | 192 | 2 | byte | |
d2f | 144 | |||
d2i | 142 | |||
d2l | 143 | |||
dadd | 99 | |||
daload | 49 | |||
dastore | 82 | |||
dcmpg | 152 | |||
dcmpl | 151 | |||
dconst_0 | 14 | |||
dconst_1 | 15 | |||
ddiv | 111 | |||
dload | 24 | 1 | unsigned byte | |
dload_0 | 38 | |||
dload_1 | 39 | |||
dload_2 | 40 | |||
dload_3 | 41 | |||
dmul | 107 | |||
dneg | 119 | |||
drem | 115 | |||
dreturn | 175 | |||
dstore | 57 | 1 | unsigned byte | |
dstore_0 | 71 | |||
dstore_1 | 72 | |||
dstore_2 | 73 | |||
dstore_3 | 74 | |||
dsub | 103 | |||
dup | 89 | |||
dup_x1 | 90 | |||
dup_x2 | 91 | |||
dup2 | 92 | |||
dup2_x1 | 93 | |||
dup2_x2 | 94 | |||
f2d | 141 | |||
f2i | 139 | |||
f2l | 140 | |||
fadd | 98 | |||
faload | 48 | |||
fastore | 81 | |||
fcmpg | 150 | |||
fcmpl | 149 | |||
fconst_0 | 11 | |||
fconst_1 | 12 | |||
fconst_2 | 13 | |||
fdiv | 110 | |||
fload | 23 | 1 | unsigned byte | |
fload_0 | 34 | |||
fload_1 | 35 | |||
fload_2 | 36 | |||
fload_3 | 37 | |||
fmul | 106 | |||
fneg | 118 | |||
frem | 114 | |||
freturn | 174 | |||
fstore | 56 | 1 | unsigned byte | |
fstore_0 | 67 | |||
fstore_1 | 68 | |||
fstore_2 | 69 | |||
fstore_3 | 70 | |||
fsub | 102 | |||
getfield | 180 | 2 | unsigned byte | |
getstatic | 178 | 2 | unsigned byte | |
goto | 167 | 2 | unsigned byte | |
goto_w | 200 | 4 | unsigned byte | |
i2b | 145 | |||
i2c | 146 | |||
i2d | 135 | |||
i2f | 134 | |||
i2l | 133 | |||
i2s | 147 | |||
iadd | 96 | |||
iaload | 46 | |||
iand | 126 | |||
iastore | 79 | |||
iconst_m1 | 2 | |||
iconst_0 | 3 | |||
iconst_1 | 4 | |||
iconst_2 | 5 | |||
iconst_3 | 6 | |||
iconst_4 | 7 | |||
iconst_5 | 8 | |||
idiv | 108 | |||
if_acmpeq | 165 | 2 | unsigned byte | |
if_acmpne | 166 | 2 | unsigned byte | |
if_icmpeq | 159 | 2 | unsigned byte | |
if_icmpne | 160 | 2 | unsigned byte | |
if_icmplt | 161 | 2 | unsigned byte | |
if_icmpge | 162 | 2 | unsigned byte | |
if_icmpgt | 163 | 2 | unsigned byte | |
if_icmple | 164 | 2 | unsigned byte | |
ifeq | 153 | 2 | unsigned byte | |
ifne | 154 | 2 | unsigned byte | |
iflt | 155 | 2 | unsigned byte | |
ifge | 156 | 2 | unsigned byte | |
ifgt | 157 | 2 | unsigned byte | |
ifle | 158 | 2 | unsigned byte | |
ifnonnull | 199 | 2 | unsigned byte | |
ifnull | 198 | 2 | unsigned byte | |
iinc | 132 | 2 | index and const | |
iload | 21 | 1 | unsigned byte | |
iload_0 | 26 | |||
iload_1 | 27 | |||
iload_2 | 28 | |||
iload_3 | 29 | |||
imul | 104 | |||
ineg | 106 | |||
instanceof | 193 | 2 | unsigned byte | |
invokeinterface | 185 | 4 | unsigned byte | count,0 |
invokespecial | 183 | 2 | unsigned byte | |
invokestatic | 184 | 2 | unsigned byte | |
invokevirtual | 182 | 2 | unsigned byte | |
ior | 128 | |||
irem | 112 | |||
ireturn | 172 | |||
ishl | 120 | |||
ishr | 122 | |||
istore | 54 | 1 | unsigned byte | |
istore_0 | 59 | |||
istore_1 | 60 | |||
istore_2 | 61 | |||
istore_3 | 62 | |||
isub | 100 | |||
iushr | 124 | |||
ixor | 130 | |||
jsr | 168 | 2 | unsigned byte | |
jsr_w | 201 | 4 | unsigned byte | |
l2d | 138 | |||
l2f | 137 | |||
l2i | 136 | |||
ladd | 97 | |||
laload | 47 | |||
land | 127 | |||
lastore | 80 | |||
lcmp | 148 | |||
lconst_0 | 9 | |||
lconst_1 | 10 | |||
ldc | 18 | 1 | unsigned byte | |
ldc_w | 19 | 2 | unsigned byte | |
ldc2_w | 20 | 2 | unsigned byte | |
ldiv | 109 | |||
lload | 22 | 1 | unsigned byte | |
lload_0 | 30 | |||
lload_1 | 31 | |||
lload_2 | 32 | |||
lload_3 | 33 | |||
lmul | 105 | |||
lneg | 117 | |||
lookupswitch | 171 | by 4 | pairs | |
lor | 129 | |||
lrem | 113 | |||
lreturn | 173 | |||
lshl | 121 | |||
lshr | 123 | |||
lstore | 55 | 1 | unsigned byte | |
lstore_0 | 63 | |||
lstore_1 | 64 | |||
lstore_2 | 65 | |||
lstore_3 | 66 | |||
lsub | 101 | |||
lushr | 125 | |||
lxor | 131 | |||
monitorenter | 194 | |||
monitorexit | 195 | |||
multianewarray | 197 | 3 | unsigned byte | |
new | 187 | 2 | unsigned byte | |
newarray | 188 | 1 | unsigned byte | T_BOOLEAN |
nop | 0 | |||
pop | 87 | |||
pop2 | 88 | |||
putfield | 181 | 2 | unsigned byte | |
putstatic | 179 | 2 | unsigned byte | |
ret | 169 | 1 | unsigned byte | 0--255 |
return | 177 | |||
saload | 53 | |||
sastore | 86 | |||
sipush | 17 | 2 | unsigned byte | |
swap | 95 | |||
tableswitch | 170 | by 4 | pairs | |
wide | 196 |