[Java 1.7.0_07+] Изменения в структуре класса java.lang.String
От: mik1  
Дата: 06.12.12 00:53
Оценка: 14 (4)
Сегодня обнаружил, что из 8-ки в 1.7.0_07 перетащили измемение структуры private полей класса java.lang.String.
Больше нет полей offset и length, и появился новый hash32 (с другим алгоритмом хеширования).
По сути, это изменение означает, что String.substring / Pattern.split больше не будут шарить оригинальную строку ( ее внутренний char[] ), а вместо этого каждый раз будет создаваться новый внутренний char[], что поможет избежать одной из известных утечек памяти, а также сделает полностью бесполезным коструктор new String(String).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.