Knihovna tříd Java - Java Class Library - Wikipedia

The Knihovna tříd Java (JCL) je sada dynamicky načítatelné knihovny že Jazyky Java Virtual Machine (JVM) může volat na doba běhu. Protože Platforma Java není závislá na konkrétním operační systém, aplikace se nemohou spoléhat na žádnou z knihoven nativních pro platformu. Místo toho poskytuje Java Platform komplexní sadu standardní třídní knihovny, obsahující funkce společné pro moderní operační systémy.

JCL slouží třem účelům v rámci JVM:

  • Jako ostatní standardní knihovny kódů, poskytují programátorovi dobře známou sadu užitečných zařízení, jako je třídy kontejnerů a regulární výraz zpracovává se.
  • Knihovna poskytuje abstraktní rozhraní k úkolům, které by obvykle silně závisely na hardwaru a operačním systému, jako je síť přístup a soubor přístup.
  • Některé základní platformy nemusí podporovat všechny funkce, které aplikace Java očekává. V těchto případech může implementace knihovny tyto funkce buď emulovat, nebo poskytnout konzistentní způsob kontroly přítomnosti konkrétní funkce.

Implementace a konfigurace

Knihovna tříd Java (JCL) je téměř celý napsán v Javě, s výjimkou částí, které vyžadují přímý přístup k Hardware a operační systém (například pro I / O nebo bitmapová grafika ). Třídy, které poskytují přístup k těmto funkcím, se běžně používají Nativní rozhraní Java obálky pro přístup k operačnímu systému API.

Téměř všechny JCL jsou uloženy v jednom Archiv Java soubor s názvem "rt.jar", který je dodáván s JRE a JDK distribuce. Knihovna tříd Java (rt.jar) je umístěna ve výchozí bootspase classpath[1] a nemusí se objevit v classpath deklarované pro aplikaci. The runtime používá zavaděč třídy bootstrap k nalezení JCL.

The Systém modulů Java (část Java 9 vydání) prolomil monolitický soubor „rt.jar“ JAR a modularizoval samotný JCL v několika modulech se specifikovanými závislostmi.[2]

Shoda

Jakákoli implementace Java musí projít Java Sada pro technologickou kompatibilitu testy shody, které zahrnují testy JCL.

Hlavní rysy

K funkcím JCL se přistupuje prostřednictvím třídy uvedené v balíčky.

Licencování

Předchozí licence

Před vydáním OpenJDK JDK byl založen na proprietární licence.

V návaznosti na jejich slib vydat plně sestavitelný JDK na základě téměř zcela bezplatného a otevřeného zdrojového kódu v první polovině roku 2007,[3] Sun vydal kompletní zdrojový kód třídní knihovny pod GPL 8. května 2007, s výjimkou některých omezených částí, které byly licencovány společností Sun od třetích stran, které nechtěly, aby byl jejich kód vydán pod licencí open-source.[4] Cílem společnosti Sun bylo nahradit části, které zůstávají chráněným a uzavřeným zdrojem, alternativními implementacemi a učinit Knihovnu tříd zcela bezplatnou a otevřenou.

Do prosince 2010 byla zbývající zatěžovaná část JDK zpřístupněna společností slunce pak Věštec tak jako Binární zástrčky[5] které byly potřebné k vybudování JDK, ale nebyly nutné k jeho spuštění. od května 2007, jediná část knihovny Class, která zůstala proprietární a uzavřený zdroj (4% od května 2007 pro OpenJDK 7,[6] a méně než 1% od května 2008 a OpenJDK 6[7][8]) byl:[9][10]

Od prvního vydání z května 2007 vydala společnost Sun s pomocí komunity jako open-source nebo nahradila alternativy open-source téměř veškerý zatížený kód:

Vydání open source

Počínaje prosincem 2010, všechny tzv binární zástrčky byly nahrazeny otevřený zdroj výměny, čímž se otevře celý JDK.[20]

Alternativní implementace

GNU Classpath je další hlavní bezplatná knihovna tříd softwaru pro Javu. Na rozdíl od jiných implementací implementuje pouze knihovnu tříd a používá ji mnoho bezplatné runtime Java (jako Kaffe, SableVM, JamVM ).

Apache Harmony byla další bezplatná knihovna tříd softwaru. Jejím cílem bylo implementovat ostatní části zásobníku Java (Virtuální stroj, Překladač a další nástroje potřebné pro všechny Implementace Java ).

Viz také

Reference

  1. ^ „Jak se třídy nacházejí“. Oracle Corporation. Citováno 2015-12-05.
  2. ^ "Souhrn modulu JDK". Oracle Corporation. 2015-10-23. Citováno 2015-11-29.
  3. ^ [1]
  4. ^ Rich Green (08.05.2007). „Otevřená JDK je tady!“. Sun Microsystems. Citováno 2011-11-25.
  5. ^ „Binární zástrčky OpenJDK“. Sun Microsystems. 8. května 2007. Archivovány od originál dne 26. 8. 2012. Citováno 2011-11-25.
  6. ^ Fitzsimmons, Thomas (18. 05. 2007). „Plans for OpenJDK“. Citováno 2007-05-22.
  7. ^ Angel, Lillian (2008-03-13). "OpenJDK jako náhrada IcedTea ve Fedoře 9". Archivovány od originál dne 2012-12-10. Citováno 2008-04-05.
  8. ^ Wade, Karsten (2008-03-13). "OpenJDK ve Fedoře 9!". redhatmagazine.com. Archivovány od originál dne 2008-04-21. Citováno 2008-04-05. Thomas Fitzsimmons aktualizoval zdrojové stránky poznámek k vydání Fedory 9 tak, aby odrážely, že Fedora 9 bude dodávána s OpenJDK 6 namísto implementace OpenJDK 7. IcedTea 7. Vydání Fedory 9 (Sulphur) má být v květnu 2008.
  9. ^ Herron, David (04.10.2007). „Plans for OpenJDK“. Archivovány od originál dne 11.10.2007. Citováno 2007-10-09.
  10. ^ A b C „Zdroj OpenJDK 6 b10 zveřejněn“. 2008-05-30. Citováno 2008-06-01.
  11. ^ stránka projektu audio-enginu
  12. ^ „Gervill - softwarový syntetizátor“. Archivovány od originál dne 04.10.2011. Citováno 2008-06-01.
  13. ^ „Kryptoměna byla přidána do OpenJDK“. 2007-09-27. Citováno 2007-10-07.
  14. ^ stránka projektu škálovače písem
  15. ^ A b C Stránka projektu Java2D
  16. ^ "Freetype font rasteriser". 2007-08-07. Citováno 2007-11-24.
  17. ^ phoneme.dev.java.net/ Archivováno 10.06.2007 na Wayback Machine
  18. ^ stránka projektu grafického rasterizátoru
  19. ^ "Javascript je zatížen a neexistuje žádná podpora pluginu javascript". Ledový čaj. 2008-03-11. Citováno 2008-06-01. Změna souhrnu. JavaScript již není zatížen, ale stále potřebujeme podporu liveconnect.
  20. ^ Kelly O'Hair (prosinec 2010). „Logika binárních zástrček OpenJDK7 a OpenJDK6 byla odstraněna“. Oracle Corporation. Citováno 2011-11-25.

externí odkazy