Имея следующий код:Как память распределяется со строками в Java?
String s="JAVA";
for(i=0; i<=100; i++)
s=s+"JVM";
Сколько строк созданы? Я думаю, что 103 строк создаются:
1: Строка «JAVA» в Струнный бассейне
1: Строка «JVM» также в Струнный бассейне
101: новая строка s
создается каждый раз в цикле, потому что String является классом неизменяемости
jit может попробовать заменить его арраистом символов до тех пор, пока s не будет использоваться для использования –
@huseyintugrulbuyukisik - 1) AFAIK, это не будет ... в выпуске Java до сих пор. 2) В соответствии со строгим чтением JLS 15.18.1 компилятору JIT не разрешается это делать. –