栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java:string类的内存分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java:string类的内存分析

public class str韩 {
    public static void main(String[] args) {
        String name="lxl";
        //字符串字符使用的是unicode编码,一个字符占二个字节(汉字和英文)
        name="ee";
        System.out.println(name );
        //【2】string常用的构造器
       
        //private final byte[] value;
        final char[] v={'a','b','c'}; //不可变
        char [] v1={'l','x','l'};  //地址可变
        char [] v2={'z','m','g'};  //可变
        v[0]='A';
        v1=v2;
        //v=v1;
        System.out.println(v1);
        //[3] new出来的对象在堆里
       
        String s3="lxl";//直接赋值 s3指向的是常量池里的“lxl”
        String s5="lxl";
        //s4位于堆,在常量池里发现有一个lxl的字符串,然后指向0x99
        //---s4指向的是堆中对象 ,然后堆中对象指向的是
        String s4=new String("lxl");//调用构造器

        System.out.println(s3==s5); //t
        System.out.println(s3==s4); //f
        System.out.println("s3.equals(s4):"+s3.equals(s4));//equals比较的是具体的值
        System.out.println(s3==s5.intern());
        
        System.out.println(s4==s4.intern());
        System.out.println(s3.intern());

        String a="java";
        String b="java";//a,b指向的是常量池中存储“java”字符串的地址
        System.out.println("a==b:"+a==b);

        int a1=1;
        int b1=1;
        System.out.print("a1==b1:");
        System.out.println(a1==b1);

        String x=new String("xyz");
        String y=new String("xyz");
        System.out.println("x==y:"+(x==y));//F

        Person p1=new Person();
        Person p2=new Person();
        p1.name="me";
        p2.name="me";
        //p1.name和p2.name指向堆,然后再指向常量池中字符串的地址
        System.out.println("p1.name==p2.name:"+(p1.name==p2.name));//T
        //"me"指的也是字符串常量池中的地址
        System.out.println("p1.name==me:"+(p1.name=="me"));//T

//        Integer a=12;
//        Integer b=12;
//        System.out.println(a==b);
//        System.out.println(a.equals(b));

    }

    static class Person{
        String name;
        void Person(){

        }
    }
}

运行结果:

内存分析图


相关衔接:https://www.bilibili.com/video/BV1fh411y7R8?p=469&spm_id_from=pageDriver

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/845106.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号