stringtranslate.com

Библиотека классов Java

Библиотека классов Java ( JCL ) — это набор динамически загружаемых библиотек , которые языки виртуальной машины Java (JVM) могут вызывать во время выполнения . Поскольку платформа Java не зависит от конкретной операционной системы , приложения не могут полагаться ни на одну из встроенных в платформу библиотек. Вместо этого платформа Java предоставляет полный набор стандартных библиотек классов , содержащих функции, общие для современных операционных систем.

JCL служит трем целям в JVM:

Реализация и настройка

JCL почти полностью написан на Java, за исключением тех частей, которые требуют прямого доступа к оборудованию и операционной системе (например, для ввода-вывода или растровой графики ). Классы, предоставляющие доступ к этим функциям, обычно используют оболочки Java Native Interface для доступа к API операционной системы .

Почти весь JCL хранится в одном архивном файле Java под названием «rt.jar», который поставляется с дистрибутивами JRE и JDK . Библиотека классов Java (rt.jar) расположена в пути к классам начальной загрузки по умолчанию [1] и не обязательно должна присутствовать в пути к классам, объявленном для приложения. Среда выполнения использует загрузчик классов начальной загрузки для поиска JCL.

Система модулей Java (часть версии Java 9 ) разбила монолитный файл JAR «rt.jar» и разделила сам JCL на несколько модулей с указанными зависимостями. [2]

Соответствие

Любая реализация Java должна пройти тесты на соответствие требованиям Java Technology Compatibility Kit , которые включают тесты JCL.

Основные особенности

Доступ к функциям JCL осуществляется через классы, включенные в пакеты .

Лицензирование

Предыдущие лицензии

До выпуска OpenJDK JDK основывался на проприетарной лицензии .

Следуя своему обещанию выпустить полностью готовый к сборке JDK на основе почти полностью бесплатного и открытого исходного кода в первой половине 2007 года, [3] Sun выпустила полный исходный код библиотеки классов под лицензией GPL 8 мая 2007 года, за исключением некоторых ограниченные части, которые были лицензированы Sun у третьих сторон, которые не хотели, чтобы их код был выпущен под лицензией с открытым исходным кодом. [4] Целью Sun было заменить части, которые остаются проприетарными и закрытыми, альтернативными реализациями и сделать библиотеку классов полностью бесплатной и с открытым исходным кодом.

До декабря 2010 года оставшаяся обремененная часть JDK была доступна сначала Sun, а затем Oracle в виде двоичных плагинов [5] , которые требовались для сборки JDK, но не были необходимы для его запуска. по состоянию на май 2007 года единственная часть библиотеки классов, которая оставалась проприетарной и с закрытым исходным кодом (4% по состоянию на май 2007 года для OpenJDK 7, [6] и менее 1% по состоянию на май 2008 года и OpenJDK 6 [7] [8 ] ] ) был [9] реализацией SNMP . [10]

С момента первого выпуска в мае 2007 года Sun с помощью сообщества выпустила как открытый исходный код или заменила альтернативами с открытым исходным кодом почти весь обремененный код:

Релиз с открытым исходным кодом

Начиная с декабря 2010 года все так называемые бинарные плагины были заменены аналогами с открытым исходным кодом , что сделало весь JDK открытым. [20]

Альтернативные реализации

GNU Classpath — еще одна основная библиотека классов свободного программного обеспечения для Java. В отличие от других реализаций, он реализует только библиотеку классов и используется многими бесплатными средами выполнения Java (например , Kaffe , SableVM , JamVM ).

Apache Harmony была еще одной библиотекой классов бесплатного программного обеспечения. Его целью была реализация других частей стека Java ( виртуальная машина , компилятор и другие инструменты, необходимые для любой реализации Java ).

Смотрите также

Рекомендации

  1. ^ «Как находятся классы» . Корпорация Оракл . Проверено 5 декабря 2015 г.
  2. ^ «Сводка модуля JDK» . Корпорация Оракл . 23 октября 2015 г. Архивировано из оригинала 8 декабря 2015 г. Проверено 29 ноября 2015 г.
  3. ^ http://www.sun.com/software/opensource/java/faq.jsp#b4
  4. ^ Рич Грин (08 мая 2007 г.). «Открытый JDK уже здесь!». Сан Микросистемс . Проверено 25 ноября 2011 г.
  5. ^ "Двоичные плагины OpenJDK" . Сан Микросистемс . 08 мая 2007 г. Архивировано из оригинала 26 августа 2012 г. Проверено 25 ноября 2011 г.
  6. ^ Фицсиммонс, Томас (18 мая 2007 г.). «Планы для OpenJDK» . Проверено 22 мая 2007 г.
  7. ^ Ангел, Лилиан (13 марта 2008 г.). «OpenJDK заменит IcedTea в Fedora 9». Архивировано из оригинала 10 декабря 2012 г. Проверено 5 апреля 2008 г.
  8. ^ Уэйд, Карстен (13 марта 2008 г.). «OpenJDK в Fedora 9!». redhatmagazine.com. Архивировано из оригинала 21 апреля 2008 г. Проверено 5 апреля 2008 г. Томас Фитцсиммонс обновил исходные страницы примечаний к выпуску Fedora 9, указав, что Fedora 9 будет поставляться с OpenJDK 6 вместо реализации OpenJDK 7 IcedTea. Fedora 9 (Sulphur) должна быть выпущена в мае 2008 года.
  9. ^ Херрон, Дэвид (4 октября 2007 г.). «Планы для OpenJDK». Архивировано из оригинала 11 октября 2007 г. Проверено 9 октября 2007 г.
  10. ^ ab «Опубликован исходный код OpenJDK 6 b10» . 30 мая 2008 г. Проверено 1 июня 2008 г.
  11. ^ страница проекта аудио-движка
  12. ^ "Гервилл - Программный синтезатор" . Архивировано из оригинала 4 октября 2011 г. Проверено 1 июня 2008 г.
  13. ^ «Криптовалюта была добавлена ​​в OpenJDK». 27 сентября 2007 г. Проверено 7 октября 2007 г.
  14. ^ страница проекта Font-Scaler
  15. ^ страница проекта abc Java2D
  16. ^ "Растеризация шрифтов Freetype" . 07.08.2007 . Проверено 24 ноября 2007 г.
  17. ^ phoneme.dev.java.net/. Архивировано 10 июня 2007 г. на Wayback Machine.
  18. ^ страница проекта графического растеризатора
  19. ^ «Javascript перегружен, и нет поддержки плагинов Javascript» . Чай со льдом . 11 марта 2008 г. Архивировано из оригинала 27 сентября 2008 г. Проверено 1 июня 2008 г. Изменение резюме. JavaScript больше не обременен, но нам по-прежнему нужна поддержка liveconnect.
  20. ^ Келли О'Хэйр (декабрь 2010 г.). «Удалена логика двоичных плагинов OpenJDK7 и OpenJDK6» . Корпорация Оракл . Проверено 25 ноября 2011 г.

Внешние ссылки