Kaffe

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Kaffe
Тип Виртуальная машина Java
Написана на C и Java
Операционная система Unix-like
Последняя версия 1.1.9 (26 февраля 2008)
Лицензия GNU General Public License
Сайт kaffe.org

Kaffe — реализация виртуальной машины Java, созданная по методологии «чистой комнаты». Она поставляется с Java SE-подмножеством Java API и инструментами, необходимыми для обеспечения среды исполнения Java. Как и многие другие свободные виртуальные машины Java, Kaffe использует GNU Classpath в качестве библиотеки классов.

Kaffe, впервые выпущенная в 1996 году, была первой свободной реализацией Java. Первоначально разрабатываемая в рамках другого проекта, она стала настолько популярной, что разработчики Тим Уилкинсон и Петр Мехлиц основали Transvirtual Technologies, Inc. с Kaffe в качестве флагманского продукта компании. В июле 1998 Transvirtual выпустила Kaffe OpenVM под GNU General Public License. Сейчас она разрабатывается командой программистов со всего мира. Помимо списка рассылки, с разработчиками можно связаться по IRC (канал #kaffe сервера irc.freenode.net).

Kaffe является легковесной и переносимой виртуальной машиной, хотя она значительно медленнее, чем коммерческие реализации[1]. По сравнению с эталонной реализацией виртуальной машины Java, написанной Sun Microsystems, Kaffe значительно меньше; это делает её привлекательной для разработчиков встраиваемых систем. Она поставляется с JIT-компиляторами для многих микроархитектур, и в целом портирована на более, чем 70 платформ. Она работает на разных устройствах, от встраиваемых устройств SuperH до мейнфреймов IBM zSeries, и даже на PlayStation 2.

В отличие от других реализаций, ранее Kaffe использовала библиотеку GMP для поддержки вычислений с плавающей точкой. Эта функция была удалена из версии 1.1.9, что вызвало протесты от людей, утверждавших, что они использовали Kaffe исключительно из-за того, что вычисления с использованием GMP производились быстрее, чем в обычной чистой реализации Java, доступной в других дистрибутивах[2]. Возможность была удалена для сокращения работ по сопровождению в ожидании, что все заинтересованные люди интегрируют поддержку GMP в GNU Classpath или OpenJDK. Впоследствии GNU Classpath представил поддержку GMP в версии 0.98.

См. также

Примечания

  1. Performance Comparison of Java/.NET Runtimes (Oct 2004). Дата обращения: 8 июля 2010. Архивировано 8 июля 2010 года.
  2. [http://web.archive.org/web/20080720024837/http://www.mail-archive.com/kaffe@kaffe.org/msg13209.html Архивная копия от 20 июля 2008 на Wayback Machine Fwd: [kaffe] Removed GMP math?]

Ссылки