KK_在努力 2018-04-11 06:42 采纳率: 0%
浏览 5887
已采纳

java局部变量 int a =1是存放在哪里

1.基本类型的 变量 a 和他所指向的值 1是存在栈里还是方法区的常量池中。
2.a中存的是1的值还是地址?

  • 写回答

9条回答 默认 最新

  • 精锐小菜 2018-04-11 07:31
    关注

    说来惭愧,竟然都有些模糊了,一个方法中的变量名和变量值(这是两个概念)一般都是存在方法栈的本地变量数组中,有一种情况就是当变量的值为-128~127时,变量的值不会新建内存而是直接引用方法区常量池中的值。
    所以你上面的第一个问题是,a这个变量名在栈的本地变量数组中,1这个值是直接引用方法区常量池中的值
    第二个问题是,a中存的是1这个字面值,因为执行了int a = 1这个赋值操作

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?