Java-字符串创建与存储的机制
来源:互联网 发布:淘宝店铺管控记录 编辑:程序博客网 时间:2024/05/22 10:58
第一种情况
String str1 = new String(“abc”);
String str2 = new String(“abc”);
这两个声明,代表存在两个对象,内容相同,但是内存地址不同,即在堆中的位置不同。只要用new总会生成新对象。第二种情况
String str1 = “abc”;
String str2 = “abc”;
在JVM存在一个字符串池,里面保存很多String对象,并且可以被共享使用,str1,str2引用的是同一个String对象。String内部的机制:
关于常量池
String的实现采用了Flyweight(享元)的设计模式,当创建一个字符串常量时,首先在字符串常量池中查找是否已经有相同的字符串被定义,判断依据是equals(Object object)方法。若已经定义,获取对其的引用,不需要创建新的对象;如果不存在,首先创建这个对象,然后加入到字符串常量池中,再将它的引用返回;
关于堆
public String(String original) { this.value = original.value; this.hash = original.hash; }
这是String类的构造方法。
当new String(“abc”)时,首先判断常量池中是否有“abc”,如果没有,则创建对象,加入到常量池中,然后将常量池的“abc”作为String构造方法的参数,创建新的“abc”String对象;如果有,那么直接创建“abc”String对象,参数时常量池中的“abc”对象。
0 0
- Java-字符串创建与存储的机制
- Java字符串创建与存储的机制
- 字符串创建与存储的机制
- 字符串的创建与存储机制
- 《Java程序员面试笔试宝典》之字符串创建与存储的机制是什么
- 《Java程序员面试笔试宝典》之字符串创建与存储的机制是什么
- 《Java程序员面试笔试宝典》之字符串创建与存储的机制是什么
- 《Java程序员面试笔试宝典》之字符串创建与存储的机制是什么
- Java基础之字符串创建于存储的机制
- java字符串对象的存储机制
- 字符串的创建机制
- 字符串创建和存储机制1
- 字符串创建和存储机制2
- java存储过程的创建与调用
- java的字符串存储与操作类
- Java对象创建和初始化过程,处理字符串的机制
- 数组与字符串的JAVA创建
- Java字符串的存储
- CentOS7.0安装Nginx 1.7.4以及相关命令
- C++
- js中 javascript:void(0) 用法详解
- Java中重载与重写的区别
- JavaScript:响应式——rem
- Java-字符串创建与存储的机制
- $.ajax()
- String类型详解
- cmocka编译安装
- Java中单例模式与简单工厂模式的简单实例介绍
- EventBus
- 机器学习sklearn之菜鸟入门一
- Android 广播监听WiFi的状态小结
- JNI和NDK编程入门