Spec-Zone .ru
спецификации, руководства, описания, API
|
Совместное использование данных класса (CDS) является новой функцией в J2SE 5.0, намеревался уменьшить время запуска для приложений языка программирования Java, в определенных меньших приложениях, так же как уменьшить место. Когда JRE устанавливается на 32-разрядных платформах, используя Sun, предоставленный установщику, загрузки установщика ряд классов от системного файла фляги в частное внутреннее представление, и выводит то представление файлу, названному "совместно используемым архивом". Совместное использование данных класса не поддерживается в Microsoft Windows, 95/98/ME. Если Sun, установщик JRE не используется, это может быть сделано вручную, как объяснено ниже. Во время последующих вызовов JVM совместно используемый архив с отображенной памятью в, сохраняя стоимость загрузки тех классов и разрешения большой части метаданных JVM для этих классов быть совместно использованным среди многократных процессов JVM.
В J2SE 5.0, совместное использование данных class поддерживается только с Java Клиент HotSpot VM, и только с последовательным сборщиком "мусора".
Основное побуждение для включения CDS в этих 5.0 выпусках является уменьшением во время запуска, которое это обеспечивает. CDS приводит к лучшим результатам для меньших приложений, потому что он устраняет фиксированные расходы: это загрузки определенных базовых классов. Чем меньший приложение относительно числа базовых классов это использует, тем больше сохраненная часть времени запуска.
Стоимость места новых экземпляров JVM была уменьшена двумя способами. Во-первых, часть совместно используемого архива, в настоящий момент между пятью и шестью мегабайтами, отображается только для чтения и поэтому совместно используемая среди многократных процессов JVM. Ранее эти данные были тиражированы в каждый экземпляр JVM. Во-вторых, так как совместно используемый архив содержит данные class в форме, в которой Горячая точка Java VM использует это, память, которая была бы иначе обязана получать доступ к исходной информации о class в rt.jar
не необходим. Эти сбережения позволяют большему количеству приложений быть выполненным одновременно на той же самой машине. На Microsoft Windows место процесса, как измерено различными инструментами, может казаться, увеличивается, потому что большее число страниц отображается в на адресное пространство процесса. Это смещается сокращением количества памяти (в Microsoft Windows), который необходим, чтобы держать части rt.jar
. Сокращение места остается высоким приоритетом.
При некоторых обстоятельствах системный администратор, возможно, должен вручную регенерировать совместно используемый архив. Это обычно только необходимо на Солярисе, если Java пакеты SE был установлен по сети к машине различной архитектуры чем то выполнение установки. Независимо, эти инструкции регенерации применяются ко всем поддерживаемым платформам.
Совместно используемый архивный файл является colocated с совместно используемой библиотекой для JVM. На платформах Unix это сохранено в jre/lib/[arch]/client/classes.jsa
и на платформах Microsoft Windows в jre/bin/client/classes.jsa
. Если этот файл существует, он должен быть вручную удален перед регенерацией.
Чтобы регенерировать архив, войдите в систему как администратор; в сетевых ситуациях войдите в систему к машине той же самой архитектуры как установка J2SE и гарантируйте, что у Вас есть разрешение, чтобы записать в каталог установки. Затем выполните команду
java -Xshare:dump
Диагностическая информация будет напечатана, поскольку архив сгенерирован. Опция совместного использования данных class автоматически активируется, когда условия позволяют ей использоваться. Следующие параметры командной строки присутствуют прежде всего для диагностики и целей отладки и могут измениться или быть удалены в будущих выпусках.
-Xshare:off
-Xshare:on
-Xshare:auto