Альтернативы интернированию строк Java

С JavaУ интернирования строк по умолчанию много плохого пресса, я ищу альтернативу.

Можете ли вы предложить API, который является хорошей альтернативой интернированию строк Java? Мое приложение использует Java 6. Мое требование - в основном избегать дублирования строк через интернирование.

Что касается плохой прессы:String intern реализован с помощью нативного метода. А реализация C использует фиксированный размер в несколько тысяч записей и очень плохо масштабируется для большого количества строк.Java 6 хранит интернированные строки в пермском поколении. И поэтому не GC 'd и, возможно, приведет к ошибкам в перманентном порядке. Я знаю, что это исправлено в Java 7, но я могуОбновление до Java 7.Почему мне нужно использовать интеринг?Мое приложение представляет собой серверное приложение с размером кучи 10-20G для различных развертываний.Во время профилирования мы выяснили, что сотни тысяч строк являются дубликатами, и мы можем значительно улучшить использование памяти, избегая хранения повторяющихся строк.Память стала для нас узким местом, и поэтому мы нацелены на нее, а не на какую-либо преждевременную оптимизацию.

Ответы на вопрос(1)

Ваш ответ на вопрос