Разработчиков, огорченных низкой скоростью выполнения приложений Java, ожидает приятное известие. В этом году, по словам аналитиков и компаний-поставщиков, будут выпущены более быстрые «виртуальные машины» и компиляторы.

Сделайте свой выбор

На рынке представлен широкий ассортимент версий JVM

  • Oracle оптимизирует версию для своих баз данных и серверов приложений.
  • Продукты Hewlett-Packard ориентированы на встроенные системы.
  • IBM работает над версиями для OS/2, AIX, System 390 и AS400.
  • Microsoft предлагает версию для своих операционных систем.
  • Sun Microsystems разрабатывает свою версию для настольных ОС и встроенных систем.

Корпорация Oracle разработала систему, которая, по словам ее представителей, является упрощенной, но гораздо более быстрой версией Java Virtual Machine (JVM). Другие компании, такие, как подразделение JavaSoft корпорации Sun Microsystems, Symantec и Tower Technology, трудятся над созданием компиляторов Java, которые, по замыслу разработчиков, должны работать так же быстро, как компиляторы С. Корпорация Microsoft продолжает сосредоточивать усилия на собственных проектах. А компания Instantiations ведет работы над созданием статического компилятора, который, как утверждают, будет работать со скоростью FORTRANа.

Одна из основных претензией к приложениям Java - скорость их работы, точнее, то, что она недостаточна, считают специалисты.

«Ряд разработчиков видит в этом недовольстве пользователей Java возможность заработать», - говорит Рон Раппапорт, аналитик из компании Zona Research.

В апреле корпорация Oracle представила свою версию JVM, обеспечивающую более высокую скорость работы. Эта версия JVM, созданная с благословения Sun Microsystems, отвечает всем спецификациям Java, но ее ядро, по словам Марка Джарвиса, старшего вице-президента Oracle по маркетингу, полностью переработано.

Новое ПО, по его словам, требует от 30 до 40 Кбайт в расчете на одного пользователя, в отличие от 3 Мбайт в версии, разработанной корпорацией Sun.

«Мы хотим добавить возможности, которые раньше были недоступны для Java. Система не обеспечивала возможность работы с базами данных, работы в сетях и не была защищена от сбоев», - говорит Ларри Эллисон, председатель правления Oracle.

Oracle планирует разместить новую версию JVM в своих базах данных и на серверах приложений. Представители компании считают, что их версия JVM настолько хороша, что Oracle сможет предоставлять сублицензии на нее другим разработчикам. Эта версия является собственной разработкой Oracle, тем не менее, по словам Джарвиса, компания и далее будет платить отчисления Sun Microsystems за лицензию на Java. Условия пока не разглашаются.

Другие разработчики баз данных критикуют планы корпорации Oracle. «Теперь не самое лучшее время для разработки JVM, учитывая создавшуюся путаницу, - одни разработчики объединяются с другими с целью создать свою собственную версию JVM, - говорит Джефф Джонс, менеджер IBM по маркетингу систем управления данными. - Oracle считает свою версию замечательной, Microsoft заявляет то же самое в отношении своей».

Однако аналитики считают, что слова представителей Oracle заслуживают доверия. «Им прекрасно удавалась поддержка многих платформ в течение длительного времени. Я думаю, что именно в этом кроется успех их работы», - говорит Митч Крамер, старший аналитик из компании Patricia Seybold Group. Новая версия JVM будет включена в Oracle 8.1, выпуск которой намечен на конец года, и в новую версию Oracle Application Server.

Тем временем разработчики напряженно трудятся над новыми статическими компиляторами и компиляторами на базе технологии JIT (just-in-time), чтобы повысить быстродействие клиентской и серверной частей Java.

Компания JavaSoft работает над созданием динамического компилятора под кодовым названием HotSpot, который, по словам Джины Сентони, менеджера по разработке ПО на платформе Java, будет работать со скоростью программ, написанных на языке С, или даже быстрее. Выпуск компилятора ожидается в конце осени.

«HotSpot революционизирует существующие технологии и значительно поднимет планку быстродействия», - сказала она.

По словам Джейсона Вударда, менеджера программы технического маркетинга Java компании IBM, компилятор HotSpot анализирует программу в процессе ее исполнения, обнаруживает существующие недочеты и затем оптимизирует код.

HotSpot, который сочетает достоинства «виртуальной машины» и собственно компилятора, планируется поставлять с набором Java Developer’s Kit 1.2.

Компании JavaSoft помогает в этой работе корпорация Symantec, предоставившая ей лицензию на свою технологию компиляторов JIT.

Аллен Бэннон, директор Symantec по связям с разработчиками, сказал, что его компания фокусирует усилия на оптимизации компилятора Java для серверных приложений. «Мы находимся на ранних стадиях полной оптимизации под Java, - говорит он, - и уже придумали, как оптимизировать малые приложения Java, а теперь работаем над более крупными». Грядущая версия 4.0 компилятора JIT корпорации Symantec, по словам Бэннона, будет работать быстрее и спроектирована специально для крупных приложений. Ее поставки планируется начать в этом году.

Microsoft также планирует продолжать работы по совершенствованию своей технологии JIT. Чтобы на самом деле улучшить качество работы Java, нужно устранить промежуточное ПО. «Это лучший способ решить проблемы быстродействия Java», - считает Джо Герман, менеджер по продуктам для Интернета. Microsoft сделает акцент на разработке своих технологий J/Direct и Windows Foundation Classes, которые позволят разработчикам обращаться к встроенным средствам Windows для улучшения быстродействия.

Компания Tower Technology уже разработала статический компилятор под названием TowerJ 2.0, который, как говорит Медисон Клутье, главный управляющий фирмы, обеспечивает быстродействие на уровне С++.

В отличие от компилятора JIT, который компилирует и оптимизирует программы в процессе их исполнения, статический компилятор оптимизирует исполняемый код с учетом специфики конкретной платформы. Пользователю даже не нужна установка JVM, чтобы работать с программой.

В III квартале Tower Technology планирует выпустить собственный динамический компилятор TowerJ 2.5. Новая версия, хотя и не будет работать быстрее, предоставит разработчикам большую гибкость, поскольку позволяет, по словам Клутье, менять части кода.

Компания Instantiations разрабатывает компилятор под названием JOVE, быстродействие которого, как говорит директор по технологии Аллен Вирфс-Брок, будет на уровне языка FORTRAN.

Компилятор JOVE, выпуск которого намечен на конец лета, спроектирован для крупномасштабных приложений Java, работающих под Windows. Вирфс-Брок сказал, что в выпуске компилятора компания надеется на сотрудничество с разработчиками инструментальных средств для Java, например с корпорациями Borland или Symantec.

Аналитик Сэнди Тейлор из фирмы SPG Analyst Services сказал, что новые продукты уменьшат жалобы пользователей на невысокое быстродействие Java. «Результаты нашего исследования показывают, что люди настроены очень серьезно в отношении перспектив, которые Java открывает для пользователей, и уже начинают интересоваться его серверными возможностями, - говорит Тейлор, - они сначала опробуют стандартную версию Java, чтобы посмотреть, работает ли она. А если ее уровень не будет отвечать их требованиям, то, имея такие продукты, как HotSpot или Tower, они уже смогут выбирать».