摘要:
运行时栈帧结构 栈帧是用来支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。 栈帧存储了方法的局部变量表、操作数栈、动态连接、和方法返回地址等信息。 方法的调用到执行完成对应一个栈帧的入栈到出栈过程。 局部变量表 一组变量值存储空间,用于存放方法参数和方法内部定 阅读全文
摘要:
加载和存储指令 将局部变量加载到操作栈:iload 将数值从操作栈存储到局部变量表istore 将一个常量加载到操作数栈:bipush、ldc、iconst 运算指令 加法:iadd 减法:isub 乘法:imul 除法:idiv 求余:irem 取反:ineg 位移:ishl,ishr 或:ior 阅读全文
摘要:
虚拟机类加载 类加载的生命周期 加载、验证、准备、解析、初始化、使用和卸载 其中验证、准备、解析3个部分统称为连接。 加载、验证、准备、初始化和卸载顺序是确定的的. 5种情况必须立即对类进行“初始化”,且“有且只有” ①遇到new,getstatic,putstatic或invokestatic。生 阅读全文