java常量池分析.docVIP

  • 0
  • 0
  • 约5.85千字
  • 约 6页
  • 2018-04-30 发布于河南
  • 举报
java常量池分析

来自360doc JVM运行时数据区的内存模型由五部分组成: 【1】方法区 【2】堆 【3】JAVA栈 【4】PC寄存器 【5】本地方法栈 对于String s = haha ,它的虚拟机指令: 0:?? ldc???? #16; //String haha??? 2:?? astore_1 3:?? return 对于上面虚拟机指令,其各自的指令流程在《深入JAVA虚拟机》这样描述到(结合上面实例): ldc指令格式:ldc,index ldc指令过程: 要执行ldc指令,JVM首先查找index所指定的常量池入口,在index指向的常量池入口,JVM将会查找 CONSTANT_Integer_info,CONSTANT_Float_info和CONSTANT_String_info入口。如果还没有这些入口,JVM会解析它们。而对于上面的hahaJVM会找到CONSTANT_String_info入口,同时,将把指向被拘留String对象(由解析该入口的进程产生)的引用压入操作数栈。 astore_1指令格式:astore_1 astore_1指令过程: 要执行astore_1指令,JVM从操作数栈顶部弹出一个引用类型或者returnAddress类型值,然后将该值存入由索引1指定的局部变量中,即将引用类型或者returnAddress类型值存入局部变量1。 return 指

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档