The instruction set is designed to make it possible to verify that any given method is type-correct, without executing it. To enforce it, JVM code must be written with care. For example, when there are two execution paths to the same PC, they must arrive with identical type state. So, for example, it is impossible to to use a loop to copy an array onto the stack. Each JVM instruction consists of a one-byte op code followed by zero or more parameters .
Instructions are only byte-aligned.
A few operate directly on local variables. Families of instructions Instructions group into families. Each family does the same basic operation, but has a variety of members distinguished by operand type and built-in arguments. Conversions i2l , i2f , i2d , l2f , l2d , f2d . Fieldref , Methodref , InterfaceMethodref - Class plus NameAndType .