摘要:
方法返回地址(return Address)是栈帧的最后一块区域,存放了调用该方法的程序计数器的值。 阅读全文
摘要:
Class文件中存在一个常量池表(Constant Pool Table),存了编译之后各种字面量和符号引用,其中,方法之间的调用也被表示成符号引用,这种符号引用会在虚拟栈方法调用时转为直接引用,方法调用从符号引用转为直接引用就是动态链接(Dynamic Linking)。为了支持动态连接实现,每一个栈帧中都有一个指向运行时常量池中该栈帧所属方法的引用。所以要想理解动态链接,就首先了解虚拟机中是如何进行方法调用。 阅读全文
摘要:
操作数栈(Operand Stack)是栈帧中一个先入后出的栈,同局部变量表一样,栈的最大深度在编译期间就已确定,并在运行期间也不会改变。 阅读全文
摘要:
局部变量表是一组变量值的存储空间,用于存放方法参数和方法内部定义的局部变量 阅读全文
摘要:
虚拟机栈是线程执行Java程序时,处理Java方法中内容的内存区域 阅读全文
摘要:
程序计数器是线程私有地一块很小的内存区域,几乎忽略不计,同时也是运行速度最快的存储区域,存储了要执行的下一条指令的地址 阅读全文
摘要:
Java程序对类的使用分为主动使用和被动使用,主动使用时,会触发类的初始化(在JVM虚拟机规范中,对于类在什么时候加载并没有做限定,但是对类的初始化时机有规定),而被动使用则不会。 阅读全文
摘要:
JVM对class文件是按需加载,在加载class的过程,如果当前类加载器存在父类加载器,都会将加载请求先委派给父类加载器,这种任务委派方式被称为双亲委派。 阅读全文