JEP 112: Charset Implementation Improvements
Улучшения реализации кодировок
| Ответственный | Xueming Shen |
| Тип | Feature |
| Область | Implementation |
| Статус | Closed / Delivered |
| Выпуск | 8 |
| Компонент | core-libs |
| Обсуждение | core dash libs dash dev at openjdk dot java dot net |
| Трудоёмкость | S |
| Длительность | S |
| Одобрен | Brian Goetz |
| Создан | 2011/07/28 20:00 |
| Обновлён | 2015/01/22 17:18 |
| Задача | 8046102 |
Аннотация
Упростить сопровождение и повысить производительность реализаций стандартных и расширенных кодировок.
Мотивация
-
Уменьшить размер установленных кодировок
-
Снизить затраты на сопровождение: генерировать реализации кодировок во время сборки из простых текстовых таблиц соответствия
-
Повысить производительность кодирования и декодирования
Описание
Это вторая часть проекта по новой реализации sun.nio.cs/ext. В JDK 7 большинство кодировок (более 80%) были реализованы заново, чтобы упростить сопровождение и повысить производительность. Этот JEP продолжает эту работу, чтобы:
-
Заново реализовать оставшиеся кодировки: в основном японские кодировки на основе JIS_X_0208/0212 и несколько двухбайтовых кодировок IBM, например IBM964 и IBM33722.
-
Реализовать API sun.nio.cs.ArrayDecoder/Encoder для наиболее часто используемых двухбайтовых кодировок, чтобы повысить производительность
new String(byte[])иString.getBytes(). -
Ускорить запуск провайдеров стандартных и расширенных кодировок и доступ к ним.
Тестирование
Необходимо обеспечить полную совместимость новых реализаций с существующей реализацией (для каждой кодовой точки). Чтобы гарантировать корректность, будут написаны новые автоматические модульные тесты, которые запускаются в текущем тестовом фреймворке.