Языки программирования

Предложение по Java сократит JDK на 25%

Предложение по Java сократит JDK на 25%

В попытке повысить производительность Java в облачных средах, OpenJDK предлагает уменьшить размер JDK (Java Development Kit) примерно на 25 %. План предусматривает предоставление инструмента jlink для создания пользовательских образов времени выполнения без использования JMOD-файлов JDK.

Предложение по усовершенствованию JDK (JEP), озаглавленное Linking Run-Time Images without JMODs, вызвано желанием уменьшить размер установленного JDK в файловой системе в облачных средах, где образы контейнеров, включающие установленный JDK, часто копируются по сети из реестров контейнеров. Уменьшение размера JDK повысит эффективность этих операций, говорится в предложении. JEP отмечает, что возможность использования инструмента jlink для создания пользовательских образов среды исполнения без использования JDK-файлов JMOD должна быть включена при сборке JDK и не будет включена по умолчанию. Некоторые производители JDK могут предпочесть не включать эту функцию.

В предложении поясняется, что полный установленный JDK состоит из двух основных компонентов: образа времени выполнения, который служит исполняемой системой времени выполнения Java, и набора упакованных модулей в формате JMOD для каждого модуля в образе времени выполнения. Файлы JMOD используются инструментом jlink при создании пользовательских образов времени выполнения. Образ времени выполнения в полном JDK создается из этих JMOD-файлов с помощью jlink. Таким образом, каждый файл класса, нативная библиотека, файл конфигурации и другие ресурсы в образе времени выполнения также присутствуют в одном из файлов JMOD, что, по мнению авторов предложения, является «огромной тратой места».

Файлы JMOD в полном JDK составляют около 25 % от общего размера JDK. Если инструмент jlink будет усовершенствован для извлечения файлов классов, конфигурационных файлов, нативных библиотек и других ресурсов из самого образа времени выполнения, то размер установленного JDK можно будет значительно уменьшить, отказавшись от файлов JMOD. План предусматривает введение опции настройки времени сборки JDK, --enable-linkable-runtime, которая собирает JDK с инструментом jlink, способным создавать образы времени выполнения без использования JMOD-файлов JDK. Полученный JDK будет примерно на 25 % меньше, чем JDK, собранный с конфигурацией по умолчанию, и будет содержать те же модули.

Читайте также