Java中String字符串的存储原理:
1、String表示字符串类型,属于引用数据类型。
2、在java中随便使用双引号括起来的都是String对象。
例如:“abc”, “def”, “hello world”,这是3个字符串对象。
3、java中规定,双引号括起来的字符串,是不可改变的,final修饰的,自出生到销毁都是不可改变的。
4、在JDK当中,双引号括起来的字符串,如:“abc”, "xyz"都是直接存储在“方法区”的“字符串常量池”当中的。
为什么SUN公司把字符串存在一个“字符串常量池”当中呢?
因为字符串在实际开发中使用太过频繁,为了提高执行效率,所以把字符串放到方法区的字符串常量池当中。
测试代码:
public class Test01 {
public static void main(String[] args) {
//下面两行代码创建了3个字符串对象,都在常量池当中
String s1 =