воскресенье, 23 января 2011 г.

[prog] Несколько ссылок на тему Real-Time Java

Началось все с того, что Алёна Сагалаева (aka Alena C++) сообщила в своем блоге об участи в подкасте некоего Радио Т. Прослушал я этот подкаст. Подивился ущербности наездов на C++ со стороны ведущих – обсуждение C++ там велось в стиле “Алёна, всем давно известно, что C++ унылое говно. Что вы можете сказать по этому поводу?” Отдаю должное Алёне, она держала себя в руках. Я бы на ее месте быстро бы перешел к ответам вроде “Уже давно очевидно, что вы дятел. Что вы можете сказать по этому поводу?”

Среди потоков феерического бреда в подкасте так же прозвучала фраза о том, что в Java есть ручное управление памятью. Из того, что я знаю про Java, ручное управление памятью там было только в Java-расширении под названием Real-Time Specification for Java (RTSJ). Помню, что на глаза попадались какие-то статьи с рассказом о том, что же RTSJ добавляет в Java в плане управления памятью. Но, как назло, ничего конкретного не вспомнил. Поэтому немного погуглил и нашел несколько ссылок. В общем, ничего серьезного, но в качестве отправной точки для заинтересовавшихся данной темой подойдет.

Во-первых, это краткий обзор RTSJ на сайте Sun Oracle: An Introduction to Real-Time Java Technology: Part 1, The Real-Time Specification for Java (JSR 1). Это очень краткий ввод читателя в тему. Вторая часть статьи лежит здесь.

Во-вторых, это интересная статья “Real-Time Java Scoped Memory: Design Patterns and Semantics” от 2004 года, в которой вопросы управления памятью в RTSJ рассмотрены более подробно, с небольшими схематическими примерами. Чем эта статья еще подкупает, так это тем, что ее писали не саночники-маркетологи, а люди, которые разрабатывали собственную real-time виртуальную машину для Java под названием Ovm. Кстати говоря, на сайте проекта Ovm достаточно много публикаций, касающихся Real-Time Java и попыток ее применения в авиации.

Так вот, саму статью я просмотрел бегло. Не могу сказать, что все в ней понял досконально. В конце-концов, я не Java-программист, и RTSJ никогда раньше не изучал. Просто лет двенадцать назад я был каким-то боком причастен к разработке систем реального времени. Но после прочтения статьи у меня сложилось такое мнение: чего только тупые американцы не придумают, чтобы на C и C++ не программировать :)

Поэтому, программировать на RTSJ, наверное, можно. Но просить за это нужно совсем другие деньги ;) На C++ может выйти дешевле :)))

Ну а в завершение ссылки на небольшие презентации на тему Real-Time Garbage Collector-ов:

Наверняка знатоку этой темы они ничего нового не скажут, но для профанов вроде меня может быть познавательно.

Отправить комментарий