Какой JVM в реальном времени (RTSJ) является наиболее предпочтительным?
Похоже, что существует только несколько JVM, которые являются реализациями спецификации реального времени для Java (RTSJ). Система реального времени Sun/Oracle Java стоит более 6000 долларов, а WebSphere IBM-более 7000 долларов, поэтому многие разработчики Java могут никогда не иметь возможности использовать ни один из них. JRockit Oracle, похоже, представляет собой свободную реализацию Java в реальном времени с предсказуемым, детерминированным поведением, хотя я не уверен, поскольку их документация довольно тяжела для маркетинга язык. Другие более мелкие СП реального времени кажутся рискованными в силу того, что разрабатываются небольшими организациями и имеют меньшие базы пользователей.
Какие СП в реальном времени предпочтительнее? Какие из них наиболее часто используются, пользуются доверием и любовью разработчиков?
5 ответов:
Обновление (март 2012): Oracle, похоже, спокойно разобрала свою команду разработчиков JavaRTS.
На этот вопрос нет хорошего ответа. Конечно, нет достаточной критической массы, чтобы сказать, что есть самый популярный в настоящее время RT JVM.
Системы обороны США я знаю об использовании
JavaRTS,IBM WebSphere RT и PERC. Авиационные платформы используют aicas JamaicaVM. Большинство из этих людей до сих пор не слишком беспокоились о стоимости лицензирования. Они обеспокоены тем, что гораздо более высокие программные риски. Я работал со многими из этих программ, и я нахожу, что продукты имеют высокое качество, и есть (иногда экстраординарная) поддержка от поставщиков.
- радар AN/FPS-85 использует JavaRTS , и хотя это относительно низкое число, это довольно высокое приложение критичности
- система вооружения Aegis ВМС США использует PERC
- ВМС США DDG-1000 использует IBM WebSphere RT
- айкас' JamaicaVM используется на платформах авионики , но они по понятным причинам скромны в отношении специфики
Многие поставщики сосредоточились на конкретных клиентах или доменах, и их дизайн и инфраструктура поддержки, как правило, соответствуют этому. Если у вас есть конкретный профиль приложения в виду, возможно, мы можем получить лучший ответ.
Высокие затраты на лицензирование, о которых вы говорите, отражают высокие ожидания пользователей этих продуктов и относительно низкую плотность спроса. Сообщество разработчиков (как оно есть) также более фрагментарно, потому что системы с ограничениями реального времени или критическими для безопасности ограничениями, как правило, имеют большую чувствительность (защита, авиация, SCADA) или защищенную проприетарную ценность (автомобильная промышленность) или и то, и другое. Одним из отличных форумов для теории и практики Java в реальном времени является ежегодная конференция JTRES , которая представляет собой сплоченную группу ученых и технически подкованных поставщиков.Связано на SO: примитивы-только в Java, кто использует RTSJ .
Верно, что существует только несколько виртуальных машин, которые реализуютRTSJ . Oracle JavaRT, IBM real-time WebSpere и aicas JamaicaVM, но PERC из Atego не является одним из них, даже отдаленно. Вместо этого PERC имеет некоторые собственные расширения для программирования в реальном времени. Jrocket Oracle также не является виртуальной машиной реального времени.
Как PERC, так и JamaicaVM, хотя они оба из более мелких компаний, чем IBM или Oracle, имеют значительную пользовательскую базу. Большинство разработчиков меньше знаком с PERC и JamaicaVM, потому что они используются в основном для встроенных приложений, а не для настольных или серверных. JamaicaVM используется такими крупными корпорациями, как Boeing, Siemens, Zeiss и Lockheed Martin, и существует на рынке уже более десяти лет.
Если вы хотите попробовать спецификацию Java в реальном времени, то вы можете скачать личное дополнение JamaicaVM. Он может быть использован на любой платформе Linux, которая находится в сети. Он доступен от "http://www.aicas.com/jamaica-pe.html " бесплатно.
JamaicaVM не только поддерживаетRTSJ, но и имеет полностью упреждающий сборщик мусора. Это означает, что можно писать код в реальном времени, не прибегая к использованию ограниченных и бессмертных областей памяти. JamaicaVM также имеет статический илиопережающий компилятор (AoT), так что производительность в реальном времени не тормозится JIT-компилятором. Можно еще использоватьRealtimeThreads,RawMemoryAccess,AsyncEventHandlers, и другие особенности RTSJ , которые способствуют программированию в реальном времени.
Если вы хотите попробовать использовать RTSJ, JamaicaVM предлагается в некоммерческой версии бесплатно. Он доступен для linux на x86. Вы можете найти ссылку на это на веб-странице aicas: www.aicas.com.
Несмотря Азул Зинг это не реализация RTSJ (а скорее реализация J2SE), они утверждают, что эта JVM способна запускать приложения реального времени из-за беспаузного сборщика мусора C4.
Подробнее о C4:
Aonix и популярная реализация спецификации. Они имеют широкий спектр java-решений в реальном времени от CDC до Java SE уровня.
Comments