前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM学习-虚拟机栈局部变量表和常量池

JVM学习-虚拟机栈局部变量表和常量池

作者头像
晓果冻
发布2022-09-08 12:32:45
2050
发布2022-09-08 12:32:45
举报
文章被收录于专栏:一直在努力的Java菜鸡er

JVM学习-虚拟机栈局部变量表和常量池

案例一
代码语言:javascript
复制
public class Demo{
    public static void main(String[] args) {
        int a = 10000;
        int b = 10000;
        Integer A = 10000;
        Integer B = 10000;
        System.out.println(a==b);//true
        System.out.println(A==B);//false
    }
}
案例二
代码语言:javascript
复制
public class Demo{
    public static void main(String[] args) {
        int a = 127;
        int b = 127;
        Integer A = 127;
        Integer B = 127;
        System.out.println(a==b);//true
        System.out.println(A==B);//true
    }
}
案例三
代码语言:javascript
复制
public class Demo{
    public static void main(String[] args) {
        double a = 127d;
        double b = 127d;
        Double A = 127d;
        Double B = 127d;
        System.out.println(a==b);//true
        System.out.println(A==B);//false
    }
}
总结
代码语言:javascript
复制
上面三个案例的执行情况底层原理是什么?先说非包装类型的基本类型变量:int、short、long、byte、
float、doubke、boolean、char,这些基本类型的变量都是存放在虚拟机栈中的局部变量表中的。而其
中8种基本类型的包装类中有6种会存放在常量池种。那就是Byte、Boolean、Short、Integer、Long、
Character。Double和Float暂时没有实现,但这6种类型的取值范围也仅限于-128-127,所以上述三个
案例的结果也能解释清除了。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JVM学习-虚拟机栈局部变量表和常量池
    • 案例一
      • 案例二
        • 案例三
          • 总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档