iload_<n> Load int from local variable
The <n> must be an index into the local variable array of the current frame (§3.6).
The local variable at <n> must contain an int. The value of the local variable at <n>
is pushed onto the operand stack.
istore_<n> Store int into local variable
The <n> must be an index into the local variable array of the current frame (§3.6).
The value on the top of the operand stack must be of type int. It is popped from the
operand stack, and the value of the local variable at <n> is set to value.
int i = 0;
int j=++i;
System.out.println(i);
System.out.println(j);
[debug] code:03 3C 84 01 01 1B 3D B2 00 10 1B B6 00 16 B2 00 10 1C B6 00 16 B1
[debug] iconst_0
[debug] istore_1
[debug] iinc
[debug] iload_1
[debug] istore_2
[debug] getstatic
[debug] iload_1
[debug] invokevirtual
[debug] getstatic
[debug] iload_2
[debug] invokevirtual
[debug] return
The <n> must be an index into the local variable array of the current frame (§3.6).
The local variable at <n> must contain an int. The value of the local variable at <n>
is pushed onto the operand stack.
istore_<n> Store int into local variable
The <n> must be an index into the local variable array of the current frame (§3.6).
The value on the top of the operand stack must be of type int. It is popped from the
operand stack, and the value of the local variable at <n> is set to value.
int i = 0;
int j=++i;
System.out.println(i);
System.out.println(j);
[debug] code:03 3C 84 01 01 1B 3D B2 00 10 1B B6 00 16 B2 00 10 1C B6 00 16 B1
[debug] iconst_0
[debug] istore_1
[debug] iinc
[debug] iload_1
[debug] istore_2
[debug] getstatic
[debug] iload_1
[debug] invokevirtual
[debug] getstatic
[debug] iload_2
[debug] invokevirtual
[debug] return