JVM学习笔记
任何Java虚拟机实现的核心都是它的执行引擎,在Java虚拟机规范中,执行引擎的行为适用指令集来定义。对于每条指令,规范都详细规定了当实现执行到该指令时应该处理什么,但是却对如何处理言之甚少。
Java虚拟机指令集关注的中心是操作数栈,一般是把将要适用的值压入栈中。虽然Java虚拟机没有保存任意值的寄存器,但每个方法都有一个局部变量集合。指令集实际的工作就是把局部变量当成寄存器,用索引来访问,不过,不同于iinc指令——它可以直接增加一个局部变量的值,要使用保存在局部变量中的值之间,必须先将它压入栈中。