Следующее является некоторыми из улучшений, сделанных для улучшенной скорости выполнения программы в JDK 5.0.
Эргономика сборки "мусора" - Предусматривает автоматическое обнаружение и выбор клиента или компилятора времени выполнения сервера, который улучшает производительность на машинах класса сервера. См. "Машинное Обнаружение Класса сервера" и "Эргономику Сборки "мусора"" в виртуальных машинах Java для получения дополнительной информации.
Класс StringBuilder - добавление нового класса StringBuilder, который работает по существу несинхронизируемым StringBuffer для улучшения производительности. Следует заменить все использование StringBuffer StringBuilder, если Вы не нуждаетесь в синхронизации (который Вы почти наверняка не делаете). StringBuilder почти всегда быстрее чем StringBuffer.
У Java 2D™ технология - Они Java 2-D улучшения производительности есть выигрыши в производительности дополнительного дохода в других областях функциональности, таких как Swing/JFC. Примеры включают улучшенное ускорение для объектов BufferedImage, поддержку аппаратно ускоренного рендеринга, используя OpenGL, и улучшили представляющую текст производительность. См. Новый Java 2-D Функции для получения дополнительной информации.
Ввод-вывод изображения - Производительность и улучшения использования памяти были сделаны, читая и при записи изображений JPEG. См. "Улучшенную Производительность" в Функциях ввода-вывода Изображения.
Улучшения в J2SDK 1.4
Следующее является некоторыми из улучшений, сделанных для улучшенной скорости выполнения программы в J2SDK 1.4.
У Java 2D™ технология - Они Java 2-D улучшения производительности есть выигрыши в производительности дополнительного дохода в других областях функциональности, таких как Swing/JFC. Один пример улучшения производительности J2SDK 1.4 - то, что удаленный X дисплеев на Солярисе значительно улучшаются. См. Новый Java 2-D Функции для получения дополнительной информации о Java 2-D улучшения, включая улучшения производительности.
java.nio - Новый API ввода-вывода предусматривает улучшенную производительность в областях организации буферизации данных, масштабируемого сетевого и файлового ввода-вывода, поддержки набора символов, и соответствия регулярного выражения. Новые API ввода-вывода добавляют средства ввода-вывода в пакете java.io. Для получения дополнительной информации см. API ввода-вывода.
Объединяясь в сеть - сетевая функциональность в J2SDK 1.4 улучшила производительность для потоковой передачи Http.
java.math - Новый статический метод probablePrime был добавлен, чтобы классифицировать BigInteger для того, чтобы генерировать простые числа. Ранее, единственные средства генерирования главного BigInteger, требуемого вызывающая сторона, чтобы обеспечить 'уверенность' (журнал вероятности составных, что вызывающая сторона была готова терпеть). Однако, обеспечение неблагоразумного значения для уверенности могло привести к низкой производительности (если бы уверенность была слишком высока), или серьезные ошибки (если это было слишком низко). Новый метод главной генерации обеспечивает эффективный алгоритм для того, чтобы он генерировал начала, используя автоматически решительное, соответствующее значение для уверенности, основанной на черновой спецификации (X9-80) ANSI.
Горячая точка - Java HotSpot [ТМ] виртуальная машина теперь использует "отладку максимальной скорости". В предыдущей версии HotSpot, когда отладка была включена, программа выполнила использование только интерпретатор. Теперь, полное преимущество производительности Технологии HotSpot доступно программам, работающим с отладкой включенного. Улучшенная производительность позволяет долго рабочим программам быть более легко отлаженными. Это также позволяет тестировать, чтобы продолжиться на максимальной скорости и запуске отладчика, чтобы произойти на исключении.
Улучшения в J2SDK 1.3
Следующее является некоторыми из изменений, произведенных, чтобы улучшить скорость выполнения программы и общую производительность времени выполнения в предыдущем выпуске J2SDK 1.3. Эти улучшения были продвинуты в J2SDK 1.4.
Ссылки к соответствующим отчетам об ошибках на веб-сайте Базы данных Ошибки обеспечиваются, были применимы для дополнительной информации.
Улучшенная Производительность для readUTF и writeUTF - реализации методов readUTF И writeUTFDataInputStream и DataInputStream была изменена, чтобы улучшить производительность. Это - фиксация для ошибки номер 4219771 на веб-сайте Базы данных Ошибки.
Улучшенная Производительность Рисования JScrollPane - реализация JScrollPane была улучшена так, чтобы это не вызвало чрезмерное рисование и экранное высвечивание, когда двойная буферизация не используется.
Улучшенная Производительность JTable - производительность обрабатывающей столбец функциональности JTABLE была улучшена. Ранее, производительность операций добавляющих столбцов или перевычисления ширин столбцов не масштабировалась хорошо, поскольку число столбцов стало большим. Реализация была изменена, чтобы улучшить масштабируемость. Это - фиксация для ошибки номер 4223642 на веб-сайте Базы данных Ошибки.
Объединение краски - Рисование производительности было улучшено посредством реализации улучшенного алгоритма объединения краски. Области, которые требуют перекрашивания, объединяются в единственную, непрямоугольную область перекрашивания, поскольку они отправляются на очередь событий. У этого есть перекрашивания пакетной обработки эффекта, выполняя многократные перекрашивания одновременно способом, более эффективным чем в предыдущих выпусках.
Изменение размеров фрейма - Изменение размеров высокоуровневых фреймов было улучшено.
Блитирование Внутренней рамки - При использовании вызовов Graphics.copyArea, DefaultDesktopManager Swing теперь должен перерисовать гораздо меньше, когда фреймы перетаскиваются.
Улучшения производительности в BigIntenger - Класс java.math.BigInteger были повторно реализованы в чистом коде языка программирования Java. Ранее, реализация BigInteger была основана на Отвесе C библиотека. Новая реализация выполняет все стандартные операции намного быстрее чем старая реализация. Ускорение, понятое в новом implemenation, может быть столько, сколько 5x или больше, в зависимости от выполняемой работы.
Условие для Лучше выполняющих Числовых Операций - Java, 2 Платформы теперь содержат два класса, которые обеспечивают API для того, чтобы он выполнил общие числовые операции.
java.lang.StrictMath - Класс, java.lang.StrictMath является переименованием класса java.lang.Math от предыдущих версий платформы Java, но иначе сохраняет предыдущую спецификацию Math. В частности это определяется, чтобы возвратить поразрядные восстанавливаемые результаты во всех реализациях.
java.lang.Math - Класс, java.lang.Math обеспечивает тот же самый набор API как, действительно классифицирует StrictMath. Однако, в отличие от некоторых из числовых функций класса StrictMath, все реализации эквивалентных функций класса Math не определяется, чтобы возвратить поразрядное те же самые результаты, но может измениться в пределах указанных ограничений. Это расслабление разрешает лучше выполняющие реализации, где строгая воспроизводимость не требуется.