Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Корпорация Майкрософт признает и поддерживает внедрение пользовательских сред выполнения Java, созданных для конкретных приложений, а не использование сред выполнения Java общего назначения. Этот метод развертывания Java гарантирует, что среда выполнения Java содержит только части платформы Java, которые действительно необходимы приложениям, поэтому повышают безопасность, сокращают размер развертывания и повышают производительность как для облачных, так и для серверных приложений Java, а также для классических и графических приложений.
Традиционно Oracle/Sun Microsystems создавали установщики среды выполнения Java (JRE), которые содержали только виртуальную машину Java, API Java и интеграции с ОС и браузером, с целью обеспечения возможности компьютеров для запуска Java-приложений, скачанных из Интернета, или для запуска апплетов и приложений Java Web Start через браузер.
С появлением современных веб-приложений и браузеров технологии Applets и Java Web Start стали устаревшими, а браузеры больше не поддерживают подключаемые модули Java. Потребность в предварительно установленных средах выполнения Java общего пользования на компьютерах со временем стала менее значительной. В Java 9 API Applet стал устаревшим (см. JEP 289), а в Java 17 API был помечен как подлежащий удалению, то есть он будет удален в одном из будущих выпусков Java.
Еще одним значительным изменением является модульизация Java, а также началось с выпуска Java 9 (см. JSR 376). В рамках этого изменения разработчики теперь могут использовать только что добавленную командную строку в JDK jlink
, чтобы создать настраиваемую среду выполнения Java, специально разработанную для удовлетворения потребностей приложений, для развертывания как встроенной встроенной среды выполнения вместе с кодом приложения часто в составе образа контейнера для облачных рабочих нагрузок. или в составе установщиков для приложений на основе графического интерфейса.
Сегодня Minecraft: Java Edition развертывается для миллионов игроков Minecraft с пользовательской средой выполнения Java, внедренной в игру. За веб-службами, такими как LinkedIn, Yammer, Bing и Azure, корпорация Майкрософт также развертывает сотни тысяч виртуальных машин Java (JVM) с использованием этого метода.
Создание пользовательской среды выполнения Java
Чтобы создать среду выполнения Java, необходимо установить JDK 9 или более поздней версии в вашей среде. Сначала скачайте и установите Microsoft Build openJDK.
Определение необходимых модулей с помощью jdeps
Платформа Java теперь сегментируется в модули. Полный список см. в документации по Java 17 . Другие версии Java могут включать новые модули.
Средство JDK jdeps
можно использовать для анализа .class
файла, каталога или JAR
файла, для идентификации зависимостей модуля Java, внутренних зависимостей JDK и других полезных сведений, которые помогут разработчикам создавать среды выполнения Java.
$ cat HelloWorld.java
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
$ jdeps HelloWorld.class
HelloWorld.class -> java.base
<unnamed> -> java.io java.base
<unnamed> -> java.lang java.base
Средство jdeps
указывает, что этот класс зависит только от типов в java.lang
и java.io
пакетах, поэтому ему нужен только модуль java.base
. Аналогичные выходные данные будут созданы для файла JAR
в качестве ввода. Список обязательных модулей позволяет создать среду выполнения Java.
Создание среды выполнения Java с помощью jlink
Чтобы создать среду выполнения Java из JDK, необходимо знать, какие модули требуется. Используйте jdeps
для их идентификации. Дополнительные сведения о средстве командной jlink
строки см. в документации.
Пример:
$ jlink \
--add-modules java.base \
--strip-debug \
--no-man-pages \
--no-header-files \
--compress=2 \
--output /javaruntime
Теперь можно использовать среду выполнения Java, расположенную в /javaruntime
, чтобы выполнять код приложения, зависящего от модуля java.base
. Структура javaruntime
папки, созданной с помощью jlink
JDK, аналогична структуре каталогов JDK, а java
средство командной строки для запуска JVM находится в папке ./bin/
как обычно. Если пользовательская Java-среда выполнения содержит все необходимые модули существующего приложения, на нее можно ссылаться JAVA_HOME
.
$ /javaruntime/bin/java HelloWorld
Hello, World!
В приведенном выше примере созданная среда выполнения Java в Windows потребляет около 24 МБ в Windows.
Создание среды выполнения Java с помощью образа контейнера Docker
Вы можете использовать многоэтапные сборки Docker для создания, использования и упаковки пользовательской среды выполнения Java в рамках сборки образа. Узнайте , как создавать среды выполнения Java с помощью Docker.
База знаний
javax.net.ssl.SSLHandshakeException: получено критическое предупреждение: handshake_failure
Сведения об устранении этой проблемы см. в статье " Безопасность и шифрование Java ".
Ресурсы
Предоставление отзывов о Сборке OpenJDK в Microsoft
Отправьте нам свои комментарии, мысли и идеи, чтобы помочь нам улучшить Microsoft Build OpenJDK. Посетите страницу обсуждений OpenJDK на сайте GitHub , чтобы отправить нам свой отзыв.
Java и OpenJDK — это товарные знаки или зарегистрированные товарные знаки Oracle и /или ее филиалов.