Jump to content

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

Путь к классам GNU
Разработчик(и) Проект GNU
(формально принадлежит FSF )
Финальный выпуск
0.99 [1] / 16 марта 2012 г .; 12 лет назад ( 16.03.2012 )
Репозиторий
Написано в Си и Ява
Операционная система Кросс-платформенный
Тип Библиотека
Лицензия Исключение привязки GPL
Веб-сайт www .gnu .org /программное обеспечение /путь к классам /

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

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

Лицензия

[ редактировать ]

GNU Classpath лицензируется на условиях GNU General Public License с исключением привязки . Это лицензия свободного программного обеспечения . Весь код формально принадлежит Фонду свободного программного обеспечения . [ нужна ссылка ] и этот владелец связан своими договорными обязательствами перед разработчиками. [ нужны разъяснения ]

Использование

[ редактировать ]

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

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

  • Компилятор GNU для Java , способный компилировать код Java в собственные автономные исполняемые файлы.
  • GCJAppletViewer [2] для запуска Java-апплетов из командной строки, если они не поддерживаются используемым браузером.
  • IKVM.NET , который интегрирует Java с .NET Framework.
  • JNode — операционная система для запуска Java-приложений. Эта система написана только на Java и ассемблере.
  • Специализированные виртуальные машины, такие как Jaos для интеграции с языком программирования Oberon и JamaicaVM для встраиваемых систем с гарантиями реального времени.
  • Виртуальные машины для распределенных вычислений с кластерами, имеющие до 128 процессоров на Myrinet . [3]
  • Проект 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 было первоначально предложено Брэдли М. Куном одному из первых разработчиков Полу Фишеру. существовала В то время в сообществе разработчиков свободных реализаций Java большая обеспокоенность по поводу соблюдения прав товарного знака Sun на Java в отношении свободных реализаций. Кун предложил имя $CLASSPATH переменную среды , используемую большинством систем Java для указания места расположения библиотек Java на компьютере. Поскольку $CLASSPATH часто расширяется до имени пути , включающего слово java (например, /usr/lib/java), это был способ вспомнить имя Java, не произнося его. Фишеру и другим разработчикам не понравилось неприглядное использование $ и заглавных букв, и они остановились на Classpath .

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

[ редактировать ]

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

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

библиотеки GNU Classpath Прогресс покрытия кода можно отслеживать с помощью OpenJDK6. [4] и OpenJDK7. [5]

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

[ редактировать ]

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

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

[ редактировать ]

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

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

Классы из домена omg.org

[ редактировать ]
Sun и GNU Corba взаимодействуют в двухклиентской игре [а]

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

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Fosdem 2006 включал эту и другие демонстрации обмена данными между реализациями CORBA от Sun и Classpath. [8] Исходный код доступен [9] в репозитории Classpath.
  1. ^ Хьюз, Эндрю Джон (16 марта 2012 г.). «Выпущена версия GNU Classpath 0.99!» ( Журнал Всемирной паутины ). Фьюзейство. Архивировано из оригинала 14 декабря 2012 г. Проверено 20 марта 2012 г.
  2. ^ Средство просмотра апплетов GCJ , Koders, заархивировано из оригинала 18 сентября 2009 г. , получено 14 сентября 2009 г.
  3. ^ «Юпитер», ЭЭКГ , Университет Торонто .
  4. ^ «Охват библиотеки путей классов GNU против OpenJDK6», J API , Fuseyism, заархивировано из оригинала 06 сентября 2015 г. , получено 31 мая 2012 г.
  5. ^ «Охват библиотеки путей классов GNU против OpenJDK7», J API , Fuseyism, заархивировано из оригинала 4 марта 2016 г. , получено 31 мая 2012 г.
  6. ^ «Выпущен GNU Classpath «95% и больше» 0.19», Проект GNU (объявление), Программное обеспечение, Фонд свободного программного обеспечения, 02 ноября 2005 г. , получено 31 мая 2011 г.
  7. ^ «Выпуск GNU Classpath 0.98 «Лучше поздно, чем никогда», Проект GNU (объявление), Программное обеспечение, Фонд свободного программного обеспечения, 05 февраля 2009 г.
  8. ^ Фосдем (архив конференции), Classpath, 2006 .
  9. ^ «Путь к классам», Проект GNU is Not Unix (исходный код) (пример), Фонд свободного программного обеспечения .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a8ba8d99977a61209078ffdc3bc4b5f3__1702852500
URL1:https://arc.ask3.ru/arc/aa/a8/f3/a8ba8d99977a61209078ffdc3bc4b5f3.html
Заголовок, (Title) документа по адресу, URL1:
GNU Classpath - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)