本文共 310 字,大约阅读时间需要 1 分钟。
String的底层实现
java9之前String底层数组采用 char[] 数组实现,每一个字符都将占用两个字节的空间
而在java9之后,String底层采用 byte[] 数组实现
String 实例化方式
String str = "Hello World";
String str = new String("hello,world");
(调用构造函数)字符串常量池
从JDK1.8开始,常量池存在于堆(heap)中,之前都是在JVM中
采用上述第一种实例化方式,会在Java常量池中开辟一块内存空间用于存放右侧的字符串,在常量池中的开辟的字符串不可改变
不同初始化字符串方式的比较如下
来自楠哥视频里的图
转载地址:http://xaph.baihongyu.com/