果办办 2021-01-06 18:20 采纳率: 0%
浏览 1

JVM底层问题 关于对值的赋予规则

为什么 int a = 1的变量 a是 istore_1 如果是按照顺序来说为什么不是 istore_0 这里的取名规则是怎样的

public class Test {
    public int MethodMath(){
        int a = 1;
        int b = 2;
        int c = (a + b) * 10;
        return 0;
    }
}
public int MethodMath();
    Code:
       0: iconst_1
       1: istore_1
       2: iconst_2
       3: istore_2
       4: iload_1
       5: iload_2
       6: iadd
       7: bipush        10
       9: imul
      10: istore_3
      11: iconst_0
      12: ireturn
  • 写回答

1条回答 默认 最新

  • Johar 2021-01-06 19:32
    关注

    istore_{N}是将引用地址存储到编号为N的局部变量中,N指代LocalVariableTable中槽位编号

    评论

报告相同问题?

悬赏问题

  • ¥15 麒麟ARM机器安装chromium浏览器
  • ¥15 grbl 限位开关初始遮挡怎么处理?
  • ¥15 输入网址无法跳转,如何解决?(关键词-CONNECT)
  • ¥15 kubekey离线安装k8s及kubesphere报错
  • ¥15 avalonia开发海康SDK怎么在linux实现预览?
  • ¥15 keil5运行结果报错如下该怎么办
  • ¥300 New-API新增渠道调试
  • ¥20 zookeeper单服务器集群搭建,2888和2890端口没有监听
  • ¥15 电梯与AGV小车,modbus转HTTP ,.
  • ¥100 qt程序使用CEF组件某些网页打开失败的问题