81,094
社区成员
发帖
与我相关
我的任务
分享
String str1 = "abc"; //"abc"在常量池,引用str1存储的是"abc"在常量池的地址
String str2 = new String("abc"); //new String("abc") 在堆上分配内存,引用str2存储的是new String("abc") 在堆上的内存地址
//还有一点区别是str1的类加载时就完成了初始化,而str2 要在执行引擎执行到那一行代码时才完成初始化。