В Java 7 или ниже, если строка создается с использованием синтаксиса ниже
String s1=new String("abc");
Согласно этой ссылке . При создании объекта String создаются два объекта: один в области кучи и один в пуле констант String, а ссылка на объект String всегда указывает на объект области кучи. как показано ниже.
----------------------------------------------
| Heap | String Constant Pool |
|---------------------|-----------------------
| | |
| "abc" | "abc" |
| ^ | |
| | | |
| s1 | |
Каким будет представление памяти, если мы создадим другой объект String с тем же значением, что и
String s2=new String("abc");
И это создаст другой объект с таким же значением в куче?
или он просто создаст объект, ссылающийся на пул констант String, в кучу?