Какая виртуальная машина времени (RTSJ) наиболее предпочтительна? - PullRequest
20 голосов
/ 29 октября 2010

Кажется, есть только несколько JVM, которые являются реализациями Спецификации реального времени для Java (RTSJ) .Система реального времени Sun / Oracle Java стоит более 6000 долларов, а IBM WebSphere в реальном времени - более 7000 долларов, поэтому многие разработчики Java могут никогда не использовать ни одну из них.JRockit от Oracle, по-видимому, является бесплатной реализацией Java в реальном времени с предсказуемым, детерминированным поведением, хотя я не уверен, поскольку их документация довольно сложна для маркетингового языка.Другие меньшие виртуальные машины реального времени кажутся рискованными из-за того, что они разрабатываются небольшими организациями и имеют меньшую базу пользователей.

Какие виртуальные машины реального времени предпочтительнее?Какие из них наиболее используются, заслуживают доверия и любимы разработчиками?

Ответы [ 5 ]

29 голосов
/ 03 ноября 2010

Обновление (март 2012 г.). Похоже, что Oracle незаметно разобрала команду разработчиков JavaRTS.

На этот вопрос нет хорошего ответа.Конечно, недостаточно критической массы, чтобы сказать, что в настоящее время существует самая популярная RT JVM.

Системы обороны США, которые я знаю об использовании JavaRTS, IBM WebSphere RT и PERC.Авиационные платформы используют aicas JamaicaVM.На сегодняшний день большинство из этих людей не слишком беспокоятся о стоимости лицензирования.Они обеспокоены гораздо более высокими программными рисками.Я работал с рядом этих программ и обнаружил, что продукты высокого качества, и есть поддержка (иногда необычная) от поставщиков.

Многие поставщики сосредоточились на конкретных клиентах или доменах, и их проекты и инфраструктура поддержки, как правило, соответствуют этому.Если у вас есть конкретный профиль приложения, возможно, мы сможем дать вам лучший ответ.

Высокие затраты на лицензирование, на которые вы ссылаетесь, отражают высокие ожидания пользователей этих продуктов и относительно низкую плотность спроса.Сообщество разработчиков (как оно есть) также является более фрагментарным, поскольку системы с ограничениями в режиме реального времени или критическими для безопасности, как правило, имеют более высокую чувствительность (защита, авиация, SCADA) или защищенную частную ценность (автомобильная промышленность) или и то, и другое.Отличным форумом для теории и практики Java в реальном времени является ежегодная конференция JTRES , представляющая собой сплоченную группу ученых и технически подкованных поставщиков.

Связанные с SO: Только для примитивов в Java , , которые используют RTSJ .

8 голосов
/ 23 июня 2012

Это правда, что существует всего несколько виртуальных машин, которые реализуют RTSJ .JavaRT от Oracle, WebSpere от IBM в режиме реального времени и aicas JamaicaVM, но PERC от Atego - не один из них, даже удаленно.PERC имеет некоторые собственные расширения для программирования в реальном времени.JRocket от Oracle также не является виртуальной машиной реального времени.

И PERC, и JamaicaVM, хотя обе они принадлежат более мелким компаниям, чем IBM или Oracle, имеют значительную базу пользователей.Большинство разработчиков менее знакомы с PERC и JamaicaVM, потому что они используются в основном для встроенных приложений, а не для настольных или серверных приложений.JamaicaVM используется крупными корпорациями, такими как Boeing, Siemens, Zeiss и Lockheed Martin, и работает на рынке более десяти лет.

Если вы хотите опробовать спецификацию реального времени для Java, затем вы можете скачать JamaicaVM Personal Addition.Его можно использовать на любой платформе Linux, которая находится в сети.Он доступен из «http://www.aicas.com/jamaica-pe.html" бесплатно».

JamaicaVM не только поддерживает RTSJ, но также имеет полностью вытесняющий сборщик мусора. Это означает, что можно писать код в реальном времени безнеобходимость использовать ограниченную и бессмертную области памяти. JamaicaVM также имеет статический или опережающий компилятор (AoT), так что компилятор JIT не препятствует производительности в реальном времени. Можно по-прежнему использовать RealtimeThreads, RawMemoryAccess, AsyncEventHandlers и другие функции RTSJ , способствующие программированию в реальном времени.

3 голосов
/ 04 июля 2013

Если вы хотите попробовать использовать RTSJ, JamaicaVM предлагается в некоммерческой версии бесплатно.Он доступен для Linux на x86.Вы можете найти ссылку на это на веб-странице aicas: www.aicas.com.

2 голосов
/ 27 ноября 2014

Несмотря на то, что Azul Zing не является реализацией RTSJ (а скорее реализацией J2SE), они утверждают, что эта JVM способна запускать приложения в реальном времени из-за бездействия C4 сборщик мусора.

Подробнее о C4 :

0 голосов
/ 30 октября 2010

Aonix имеет наиболее часто используемую реализацию RTSJ. У них есть широкий спектр решений Java в режиме реального времени от уровня CDC до уровня Java SE.

...