Pull to refresh

Comments 15

А расскажите про JDK 8 profiles. Есть уже по этому поводу какая-нибудь информация?
А какая информация Вас интересует?

Вот JEP 161, из которого видно разбиение. Вот compact1 в последнем джавадоке, в котором видно, что всё уже разбито на модули.

Вот письмо Дэвида про интеграцию. В нём написано, что RI будет для Linux'а, а также даны инструкции по сборке профилей из openjdk. Хотите поэкспериментировать — собирайте OpenJDK с указанными в письме ключиками!
UFO just landed and posted this here
кажется, меньше 10 мегабайт.
Склонировал и построил.

openjdk8$ make images profiles

openjdk8$ ls -l build/linux-x86_64-normal-server-release/images/j2re-*image/lib/rt.jar
-rw------- 1 shura shura 14400712 Sep 10 13:26 build/linux-x86_64-normal-server-release/images/j2re-compact1-image/lib/rt.jar
-rw------- 1 shura shura 25704580 Sep 10 13:26 build/linux-x86_64-normal-server-release/images/j2re-compact2-image/lib/rt.jar
-rw------- 1 shura shura 31764787 Sep 10 13:26 build/linux-x86_64-normal-server-release/images/j2re-compact3-image/lib/rt.jar
-rw-rw-r-- 1 shura shura 64267684 Sep 10 13:26 build/linux-x86_64-normal-server-release/images/j2re-image/lib/rt.jar
images$ du -s -h j2re-*
124M j2re-compact1-image
136M j2re-compact2-image
143M j2re-compact3-image
195M j2re-image
так, а что в этих папках ещё кроме бинарников? явно же compact1 весит меньше 124 метров! Интересно, сколько весит compact1?
Compact1:
*.diz файлы на 90мб — отладочная информация.
~14мб — rt.jar
~14мб — libjvm.so

Без отладочной информации ~33мб

Пока не проверил — требуется ли libjvm.so для работы, или же это просто библиотека для подключения JVM к своим программам (но подозреваю, что требуется).

Compact2:

Все то же самое, но без отладочной информации ~44мб (больший размер за счет большего rt.jar).
libjvm.so это, как можно догадаться, JVM :) Без неё Вы вряд ли что-нибудь запустите!
Да, я провел аналогию с «jre7\bin\client\jvm.dll» из Windows JRE, полагая, что библиотека является альтернативой java.exe для сценария работы с JVM из своей программы.
Но только что убедился, что без jvm.dll JRE не стартует.

Интересно, что в Windows версии jre 7, jvm.dll весит 3,5мб.

Надо будет как-нибудь попробовать собрать OpenJDK под Windows и посмотреть сколько будет весить Compact1.
Вот и мне кажется, что 14 мегабайт для jvm это многовато)) Хотя вот в 7u40 серверная vm весит пости 8 метров.

java.exe — это просто экзешная оболочка для запуска jvm. Без JVM ничего не выйдет.
Вот и мне кажется, что 14 мегабайт для jvm это многовато)) Хотя вот в 7u40 серверная vm весит пости 8 метров.

Думаю, что в windows версии OpenJDK она тоже будет весить около 3,5-8мб. В любом случае нужно будет собрать, да удовлетворить свое любопытство.

java.exe — это просто экзешная оболочка для запуска jvm. Без JVM ничего не выйдет.

Про то, что в исполняемом файле дублировать код библиотеки глупо и так никто не делает — это ясно.
Я имел в виду немного не это — мне раньше казалось, что сама «client\jvm.dll» прокси-библиотека предоставляющая API для линковки с JVM своей программы.

Но как уже сказал — убедился, что ошибся.
Пункт первый и второй одновременно! Любая технология, появление которой задерживается столько времени, заведомо будет мертворожденной. Тем более если даже еще не определились с тем, что хотят в итоге получить. Модульность подразумевает следующий функционал:
— подсистема сборки
— подсистема управления зависимостями
— модульная среда выполнения
Прошло уже столько времени, что для каждой из этих вещей давно уже разработаны свои тулзы, и мировая общественность так привыкла к ним, что любые потуги что-то поменять не будут встречены с должным ажиотажем.
Sign up to leave a comment.