Путь к классам GNU

редактировать
Путь к классам GNU
GNU Classpath badge.png
Снимок экрана Демонстрация GNU Classpath Swing Демонстрация пути к классам GNU Swing
Разработчик (и) Проект GNU. (формально принадлежит FSF )
Стабильный выпуск 0.99 / 16 марта 2012 г.; 8 лет назад (16.03.2012)
Репозиторий Отредактируйте это в Wikidata
Написано наC и Java
Операционная система Межплатформенный
Тип Библиотека
Лицензия Исключение связи GPL
Веб-сайтwww.classpath.org

GNU Classpath является бесплатное программное обеспечение реализация стандартной библиотеки классов для языка программирования Java. Реализовано большинство классов из J2SE 1.4 и 5.0. Путь к классам может таким образом, может использоваться для запуска приложений на основе Java . GNU Classpath является частью проекта GNU. Первоначально он был разработан параллельно с libgcj из-за несовместимости лицензий, но позже два проекта объединились.

GNU Фонд свободного программного обеспечения признал Classpath проектом с высоким приоритетом. Когда начался проект Classpath, лицензия на официальную реализацию Java от Sun Microsystems не позволяла распространять какие-либо изменения. С момента создания проекта Classpath OpenJDK был выпущен под GPL и теперь служит официальной эталонной реализацией для платформы Java.

Содержание
  • 1 Лицензия
  • 2 Использует
  • 3 История
  • 4 Команда разработчиков
  • 5 Интеграция виртуальной машины
  • 6 Поддержка новых языковых функций в Java 1.5
  • 7 Классы из домена omg.org
  • 8 См. Также
  • 9 Примечания
  • 10 Ссылки
  • 11 Внешние ссылки
Лицензия

GNU Classpath под лицензией Стандартной общественной лицензии GNU с исключение связи. Это лицензия свободных программ. Весь код формально принадлежит Free Software Foundation, и этот владелец связан собственными договорными обязательствами перед разработчиками.

Использует

GNU Classpath используется многими бесплатные среды выполнения Java (например, Kaffe, SableVM, JamVM, Jikes RVM и VMKit), потому что каждое полное виртуальная машина Java с функциями должна обеспечивать реализацию стандартных библиотек классов.

Некоторые другие варианты использования включают:

  • Компилятор GNU для Java, который может компилировать код Java в собственные автономные исполняемые файлы.
  • GCJAppletViewer для запуска Аплеты Java из командной строки, если они не поддерживаются используемым браузером.
  • IKVM.NET, который интегрирует Java с .NET Framework
  • JNode, операционной системой для запуска Java-приложения. Эта система написана только на Java и ассемблере.
  • Специализированные виртуальные машины, такие как Jaos для интеграции с языком программирования Oberon и JamaicaVM для встроенных систем с гарантиями в реальном времени.
  • Виртуальные машины для распределенных вычислений с кластерами, имеющие до 128 процессоров на Myrinet.
  • Проект IcedTea использовал GNU Classpath в качестве замена проприетарных элементов OpenJDK до их замены в исходной версии.
История

Разработка GNU Classpath началась в 1998 году пятью разработчиками. За свою историю он несколько раз сливался с другими проектами, имеющими аналогичные цели (Kaffe, libgcj). В прошлом GNU Classpath поставлял свою собственную виртуальную машину (Japhar). Поскольку Classpath становился базовой библиотекой, совместно используемой множеством различных проектов, эта виртуальная машина привлекала все меньше и меньше внимания и теперь больше не поддерживается.

После реализации большей части официального API Java 1.4 работа в проекте стал больше ориентироваться на ошибки, чем на покрытие API. 24 октября 2006 г. была зафиксирована реализация последнего отсутствующего класса 1.4, HTMLWriter. Скорость разработки (вычисляемая математически как среднее количество новых строк кода в день) достигла своего максимума в 2006 году.

Имя GNU Classpath было первоначально предложено Брэдли М. Кун одному из первых разработчиков Полю Фишеру. В то время сообщество разработчиков Free Java очень беспокоилось по поводу применения торговой марки Sun на Java против бесплатных реализаций. Кун предложил имя $ CLASSPATH, которое является переменной среды, используемой большинством систем Java для указания расположения библиотек Java на компьютере. Поскольку $ CLASSPATH часто расширяется до имени пути, которое включает слово java (например, / usr / lib / java), это был способ вызвать назовите Java, на самом деле не говоря этого. Фишеру и другим разработчикам не понравилось неприглядное использование символа $ и всех заглавных букв, и они остановились на Classpath.

Команда разработчиков

Сопровождающий заботится о юридической стороне проекта, готовит регулярные релизы проекта и осуществляет некоторое управление качеством. Сопровождающий также предоставляет права доступа CVS.

GNU Classpath не имеет формальной иерархии. Работу выполняют самые технически подготовленные, и четкого разделения работы тоже нет. Все изменения кода сначала публикуются в списке обсуждения как исправления, где они могут быть отменены при необходимости. Обычно проект получает от пяти до восьми исправлений в день.

Библиотека GNU Classpath покрытие кода можно отслеживать прогресс по OpenJDK6 и OpenJDK7.

Интеграция виртуальной машины

GNU Classpath содержит классы из официальной Java Пространство имен API. Если вызовы машинного кода необходимы или крайне желательны, это делается из небольшого числа классов «VM». Имя такого класса виртуальной машины совпадает с именем класса, требующего собственных методов, плюс дополнительный префикс VM : VMObject, VMString и т. Д. Классы виртуальных машин, хранящиеся отдельно от остального кода, являются частным пакетом и конечным. Методы этих классов содержат ключевое слово native, указывающее на необходимость поддержки родной библиотеки. Такие библиотеки предоставляются авторами виртуальной машины Java, поэтому GNU Classpath может быть подключен практически к любой виртуальной машине Java, если источники такой виртуальной машины доступны и могут быть изменены.

Поддержка новых языковых функций в Java 1.5

До версии 0.95 каждый выпуск GNU Classpath состоял из двух отдельных архивов выпуска; один представлял состояние основной ветки разработки, а другой содержал содержимое более экспериментальной ветки, поддерживая дополнения, такие как обобщения, перечисления и аннотации, присутствующие в Java 1.5.

Начиная с версии 0.95, дополнения Java 1.5, такие как дженерики, были полностью интегрированы в основную ветку. Ветвь может быть создана с помощью компилятора Eclipse, ecj, для компиляции исходного кода Java 1.5 в байт-код. В случае GCJ он использует ecj для выполнения этого начального этапа, а затем преобразует байт-код в собственный код. Начиная с 0.95, GNU Classpath также поддерживает компиляцию и запуск нового GPLed компилятора с открытым исходным кодом javac компилятора с использованием GNU Classpath, а также позволяет использовать библиотеку классов GNU Classpath, инструменты и примеры для компиляции с самим javac.

Классы из домена omg.org
Sun и GNU Corba взаимодействуют в двухклиентской игре

GNU Classpath не принимает код, имеющий несвободную лицензию, или это было автоматически сгенерировано из кода с несвободной лицензией. Стандартный Java API содержит множество классов из домена omg.org, которые обычно генерируются из файлов IDL, выпущенных группой управления объектами. Лицензия на использование, но без изменения этих файлов считается платной. По этой причине упомянутые классы в проекте GNU Classpath были написаны с нуля с использованием только официальных печатных спецификаций OMG. Следовательно, эта часть пути к классам GNU так же бесплатна, как и любой другой код в проекте.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
  • icon Портал компьютерного программирования
Примечания
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-21 09:10:47
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте