字节码代表了java方法,它是由被称为操作码的单字节指令组成的序列,每一个操作码后都跟着一个或多个操作数.操作数用于在java虚拟机执行操作码指令指令时提供所需的额外数据.执行字节码时,一次执行每个操作码,这就在java虚拟机执行内构成执行的线程.每一个线程被授予自己的java栈,这个栈是由不同的栈帧构成的.每一个方法调用将获得一个自己的栈帧---栈帧其实就是一个内存片段,其中存储着结果变量和计算的中间结果.在栈帧中,用于存储方法的中间结果的部分被称为该方法的操作数栈.操作码和它的(可选的)操作数可能存储操作数栈中的数据或存储方法栈中帧中的局部变量中的数据.这样,在执行一个操作码时,除了可以使用紧随其后的操作数,虚拟机还可以使用操作数栈中的数据,或局部变量中的数据,或是两者都用