说说String str = "hello,world" 和 String str = new String("hello world")的区别
首先明白一个事,java存在一个常量池,可以用来存储字符串常量。不过不同的版本这个常量池的位置肯定是不同的!
1 创建的字符串变量在内存中的区别
两者看似都是创建了一个字符串对象,但在内存中确是各有各的想法。
String str1= “abc”; 在编译期,JVM会去常量池来查找是否存在“abc”,如果不存在,就在常量池中开辟一个空间来存储“abc”;如果存在,就不用新开辟空间。然后在栈内存...
原创
2019-05-22 09:51:09 ·
3068 阅读 ·
0 评论