LINUX.ORG.RU

История изменений

Исправление crutch_master, (текущая версия) :

При создании строки она попадает в пул, передают ссылки на пул. Строки иммутабельные плюс там всякие оптимизации при repeat и соединении строк. Т.е. если сделать «str».repeat(100500) в памяти не появится 100500 «str». Со склейкой надо смотреть, но по-моему там сделали так, чтобы можно было обходиться без костылей типа StringBuilder'а явы. Когда строки сравнивают, никто не делает побайтовое сравнение, сравнивают уже вычисленные хеши, так что можно не задрачивать enum'ы как в си.

Исправление crutch_master, :

При создании строки она попадает в пул, передают ссылки на пул. Строки иммутабельные плюс там всякие оптимизации при repeat и соединении строк. Т.е. если сделать «str».repeat(100500) в памяти не появится 100500 «str». Со склейкой надо смотреть, но по-моему там сделали так, чтобы можно было обходиться без костылей типа StringBuilder'а явы.

Исправление crutch_master, :

При создании строки она попадает в пул, передают ссылки на пул. Строки иммутабельные плюс там всякие оптимизации при repeat и соединении строк. Т.е. если сделать «str».repeat(100500) в памяти не появится 100500 «str»

Исходная версия crutch_master, :

При создании строки она попадает в пул, передают ссылки на пул. Строки иммутабельные плюс там всякие оптимизации при repeat и соединении строк.