前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常量池与堆中放入String数据,比较大小

常量池与堆中放入String数据,比较大小

作者头像
发布2020-10-23 10:29:17
3370
发布2020-10-23 10:29:17
举报
文章被收录于专栏:后端JavaEE后端JavaEE

面试题1

1.1代码

代码语言:javascript
复制
package Test;
/*
 * zt
 * 2020/7/30
 * 9:37
 *  面试题 false true
 */

public class Demo1 {
    public static void main(String[] args) {
        //常量池
        String s1 = "abc";
        //常量池
        String s2 = "xyz";
        //程序运行,不会放到常量池,放入堆
        String s3 = s1+s2;
        //常量池
        String s4 = "abc" + "xyz";
        //常量池
        String s5 = "abcxyz";
        System.out.println(s3==s4);
        System.out.println(s4==s5);
    }
}

1.2运行结果

代码语言:javascript
复制
 false 
 true

1.3.图解

1.3.1运行文件

在这里插入图片描述
在这里插入图片描述

1.3.2存储位置图解

在这里插入图片描述
在这里插入图片描述

2.面试题2

2.1代码

代码语言:javascript
复制
package Test;
/*
 * zt
 * 2020/7/30
 * 9:37
 *  面试题 false true
 */

public class Demo1 {
    public static void main(String[] args) {
        //常量池
        String s1 = "abc";
        //常量池
        String s2 = "xyz";
        //程序运行,不会放到常量池,放入堆
        String s3 = s1+s2;
        //常量池
//        String s4 = "abc" + "xyz";
//        intern();重用,如果常量池没有将对象复制一份(或者引用)
//        如果常量池存在,直接返回
//        JDK1.7之前是复制一份放入常量池,之后(包括JDK1.7)把对象引用赋值到常量池
        String s4 = s3.intern();
        //常量池
        String s5 = "abcxyz";
        System.out.println(s3==s4);
        System.out.println(s4==s5);
    }
}

2.2运行结果

代码语言:javascript
复制
true
true

2.2.1图解

在这里插入图片描述
在这里插入图片描述

3.特殊

java 还有一些…在常量池本来就有,所以不需要intern()再复制地址过来。

在这里插入图片描述
在这里插入图片描述

所以运行结果: false

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 面试题1
  • 1.1代码
  • 1.2运行结果
  • 1.3.图解
    • 1.3.1运行文件
      • 1.3.2存储位置图解
      • 2.面试题2
      • 2.1代码
      • 2.2运行结果
      • 2.2.1图解
      • 3.特殊
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档