标签:intern 对象 bsp info 存在 image inter inf new
注解 :
String a = new String("1"); a形参出现在栈上 , 同时堆上会出现一个a的地址值, 关键 1这个常量已经出现在常量池内了. 所以 a = a.intern() ; 无论用不用a来接收这个方法的返回值, a都指向常量池内的 1.
String b = a + a ; b形参出现在栈上 , 同时堆上会出现一个b的地址值, 但是 11 这个常量字符串还未存在在常量池内,这个时候 b.intern() , 这个时候常量11 , 指向的是 堆上b的地址值, 就算这时候 String c = "11"; 指向的也是对上b对象的地址值,不会有有个 "11" 这样的串单独存在于常量池上了.
标签:intern 对象 bsp info 存在 image inter inf new
原文地址:https://www.cnblogs.com/liweibing/p/13087454.html