Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Улучшения Виртуальной машины Java в JDK 7

Следовать страницы представляют некоторые из больших изменений, касающихся виртуальной машины Java, представленной в JDK 7 выпусков:

Кроме того, следующие улучшения добавляются:

Область: HotSpot
Стандарт/Платформа: Java SE 7 Обновлений 1
Резюме: JIT и Ошибки Цикла: Три ошибки, о которых сообщают различные стороны, включая Apache разработчики Lucene, были исправлены в JDK 7 Обновлений 1, в дополнение к четвертой связанной ошибке, найденной Oracle.
RFE: 7070134, 7068051, 7044738, 7077439

Область: HotSpot
Стандарт/Платформа: Java SE 7
Резюме: номер версии JVM/TI был изменен от 1.1 до 1.2, чтобы добавить метод GetLocalInstance.
RFE: 7003782, 7004582

Область: HotSpot
Стандарт/Платформа: JDK 7
Резюме: Classfiles с номером версии 51 являются исключительно veritified использованием проверяющего тип верификатора, и таким образом у методов должны быть атрибуты StackMapTable когда приспособлено. Для classfiles с версией 50 JVM HotSpot была бы (и продолжаться к) failover к заключающему тип верификатору, если stackmaps в файле отсутствовали или неправильные. Это failover поведение не происходит для classfiles с версией 51 (версия значения по умолчанию для JDK7).
Любой инструмент изменяет байт-код в версии 51 classfile, должен убедиться, что обновил stackmap информацию, чтобы быть непротиворечивым с байт-кодом, чтобы передать проверку.
RFE: 6693236

Область: HotSpot
Стандарт/Платформа: JDK 7
Резюме: В JDK 7, интернированные строки больше не выделяются в постоянной генерации "кучи" Java, но вместо этого выделяются в основной части "кучи" Java (известный как молодые и старые поколения), наряду с другими объектами, создаваемыми приложением. Это изменение приведет к большему количеству данных, находящихся в основной "куче" Java, и lessw данные в постоянной генерации, и таким образом может потребовать, чтобы размеры "кучи" были скорректированы. Большинство приложений будет видеть только относительно небольшие различия в использовании "кучи" из-за этого изменения, но большие приложения, которые загружают много классов или делают интенсивное использование метода String.intern(), будут видеть больше существенных различий.
RFE: 6962931

Область: HotSpot
Стандарт/Платформа: JDK 7
Резюме: размер "кучи" значения по умолчанию "из поля" и параметров формы для параллельного коллектора развертки метки (CMS) был изменен. Новые настройки используют в своих интересах более быстрые платформы, которые были представлены, так как JDK 6 был выпущен. Как другие коллекторы в HotSpot, CMS будет теперь использовать доступную физическую память на платформе, чтобы измерить ее "кучу", пытаясь сформировать ту "кучу", чтобы сохранить времена паузы связанными с незначительными наборами "разумный". Определенная форма "кучи" может быть платформой-depenent другими способами также.
Пользователи могут переопределить все или некоторые из этих настроек по умолчанию, явно измеряя или формируя "кучу", ИНАЧЕ "настройка "кучи"", чтобы удовлетворить их определенным потребностям.
Для получения дополнительной информации по настройкам по умолчанию для этого и других сборщиков "мусора", пожалуйста, см., что "Куча" Настраивает Руководство для JDK 6.
RFE: 6896099

Область: HotSpot
Стандарт/Платформа: JDK 7
Резюме: JDK 6 информации о версии включенные улучшения производительности для CMS. Чтобы обеспечить механизм, чтобы продолжать использовать поведение, обеспеченное JDK 5, флаг CMSUseOldDefaults был обеспечен. Этот флаг, восстановленный много настроек состоянию по умолчанию. В течение прошлых нескольких лет этот флаг получил минимальное использование, и большинство клиентов предпочитает улучшенную производительность CMS. Флаг CMSUseOldDefaults теперь удаляется.
RFE: 7027529

Область: HotSpot
Стандарт/Платформа: JDK 7
Резюме: GarbageFirst (G1) сборщик "мусора" экспериментален в этом выпуске. Некоторые инструменты командной строки, такие как jstack или jmap, возможно, не работают должным образом при использовании коллектора G1.
RFE: 6966967

Область: HotSpot
Стандарт/Платформа: JDK 7
Резюме: В предыдущих выпусках JDK на Солярисе только, метод Thread.interrupt() прервал бы некоторый ввод-вывод блокирования operatons приводящий к InterruptedIOException, брошенному целевым потоком и оставляющий сокет или потоки файла в непоследовательном состоянии. Это так называемое "наследство прерывистая поддержка ввода-вывода" было отключено в JDK 7. Приложения, которые ранее полагались на этот Солярис определенное поведение, могут повторно включить этой поддержке, работая со следующей опцией на командной строке: -XX:+UseVMInterruptibleIO. Будущий выпуск JDK может удалить наследство прерывистая поддержка ввода-вывода полностью.
RFE: 6554406


Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами