Почему Sun изобретает другую систему модуля, когда все стандартизировали на OSGi?

Добавление голосования за Consolas. Это чувствует себя очень легким на моих глазах.

24
задан AlBlue 7 December 2009 в 09:50
поделиться

5 ответов

Отличный вопрос. Насколько я понимаю, в некоторых областях OSGi выходит далеко за рамки того, что необходимо для модулей JVM (со всей соответствующей сложностью), в то время как в других областях он не идет достаточно далеко. Так что между ними много общего, но, возможно, недостаточно.

См. Эту запись в блоге

4
ответ дан 29 November 2019 в 00:22
поделиться

The rationale behind project Jigsaw and how it relates to OSGi was outlined by the Jigsaw team in Java Posse Podcast 259.

These projects do not entirely overlap and the introduction of Jigsaw does not sound the death knell for OSGi - the scope of OSGi goes beyond anything Jigsaw will attempt. There's much more to Jigsaw than the OSGi team is in a position to provide (language, class and JVM implementation changes). The design of OSGi is based on the current JVM design - the changes to the JVM will benefit everyone.

At least, that is my take from what I've read.

5
ответ дан 29 November 2019 в 00:22
поделиться

Цитирование http://blogs.oracle.com/mr/entry/jigsaw :

OSGi совсем не интегрирована с Однако язык Java построенный на платформе Java SE, скорее чем изнутри.

Эту последнюю проблему можно решить. солнце теперь планирует работать напрямую с OSGi Alliance, так что будущая версия OSGi Framework может полностью использовать возможности JSR 294 и тем самым добиться более тесной интеграции с языком.

(...)

Если и когда появится будущая версия Платформа Java SE включает в себя специальный модульная система, то Sun предоставит означает перенос модулей Jigsaw до этот стандарт. А пока мы активно искать способы взаимодействовать с другим модулем систем, и в частности с OSGi.

8
ответ дан 29 November 2019 в 00:22
поделиться

Одна функция отсутствует в OSGi . Он не поддерживает модули, которые являются подмножествами пакетов . Экспорт выполняется на уровне пакета .

Модули подмножества пакетов - единственный способ разрубить гордиев узел зависимостей JDK. И хороший совет, почему вы должны держать свой код в чистоте от циклических зависимостей .

Однако с годами этот стиль развития может привести к неожиданным связи между API - и между их реализации - ведущие в свою очередь для увеличения времени запуска и памяти след. Тривиальная командная строка "Привет мир!" программа, например, сейчас загружает и инициализирует более 300 отдельные классы, занимающие около 100 мс на недавнем настольном компьютере, несмотря на еще более героические инженерные усилия такие как совместное использование данных класса. В ситуация, конечно, еще хуже, для больших приложений.

Редактировать: Я был неправ . OSGi поддерживает разделенные пакеты .

1
ответ дан 29 November 2019 в 00:22
поделиться

Посмотрите на эту тему интервью JavaPosse с Марком Рейнхольдом .

1
ответ дан 29 November 2019 в 00:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: