Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Implementation and configuration  





2 Conformance  





3 Main features  





4 Licensing  



4.1  Prior licenses  





4.2  Open source release  







5 Alternative implementations  





6 See also  





7 References  





8 External links  














Java Class Library






Français

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


The Java Class Library (JCL) is a set of dynamically loadable libraries that Java Virtual Machine (JVM) languages can call at run time. Because the Java Platform is not dependent on a specific operating system, applications cannot rely on any of the platform-native libraries. Instead, the Java Platform provides a comprehensive set of standard class libraries, containing the functions common to modern operating systems.

JCL serves three purposes within the JVM:

Implementation and configuration

[edit]

JCL is almost entirely written in Java, except for the parts that need direct access to the hardware and operating system (such as for I/Oorbitmap graphics). The classes that give access to these functions commonly use Java Native Interface wrappers to access operating system APIs.

Almost all of JCL is stored in a single Java archive file called "rt.jar" which is provided with JRE and JDK distributions. The Java Class Library (rt.jar) is located in the default bootstrap classpath[1] and does not have to appear in the classpath declared for the application. The runtime uses the bootstrap class loader to find the JCL.

The Java Module System (part of the Java 9 release) broke the monolithic "rt.jar" JAR file and modularized the JCL itself in several modules with specified dependencies.[2]

Conformance

[edit]

Any Java implementation must pass the Java Technology Compatibility Kit tests for compliance, which includes JCL tests.

Main features

[edit]

JCL Features are accessed through classes provided in packages.

Licensing

[edit]

Prior licenses

[edit]

Before the release of OpenJDK, the JDK was based on a proprietary license.

Following their promise to release a fully buildable JDK based on almost completely free and open-source code in the first half of 2007,[3] Sun released the complete source code of the Class Library under the GPL on May 8, 2007, except some limited parts that were licensed by Sun from third parties who did not want their code to be released under an open-source license.[4] Sun's goal was to replace the parts that remain proprietary and closed source with alternative implementations and make the Class Library completely free and open source.

Until December 2010, the remaining encumbered part of the JDK was made available by Sun then OracleasBinary Plugs[5] which were required to build the JDK but not necessary to run it. as of May 2007, the only part of the Class library that remained proprietary and closed-source (4% as of May 2007 for OpenJDK 7,[6] and less than 1% as of May 2008 and OpenJDK 6[7][8]) was[9] the SNMP implementation.[10]

Since the first May 2007 release, Sun, with the help of the community, released as open-source or replaced with open-source alternatives almost all the encumbered code:

Open source release

[edit]

Beginning in December 2010, all the so-called binary plugs were replaced by open source replacements, making the entire JDK open.[20]

Alternative implementations

[edit]

GNU Classpath is the other main free software class library for Java. Contrary to other implementations, it only implements the Class Library, and is used by many free Java runtimes (like Kaffe, SableVM, JamVM).

Apache Harmony was another free software class library. Its aim was to implement the other parts of the Java stack (Virtual Machine, Compiler, and other tools required for any Java implementation).

See also

[edit]

References

[edit]
  1. ^ "How Classes are Found". Oracle Corporation. Retrieved 2015-12-05.
  • ^ "JDK Module Summary". Oracle Corporation. 2015-10-23. Archived from the original on 2015-12-08. Retrieved 2015-11-29.
  • ^ "Free and Open Source Java - FAQ". sun.com. May 2007. Archived from the original on May 22, 2007. Retrieved 2024-06-27.
  • ^ Rich Green (2007-05-08). "Open JDK is here!". Sun Microsystems. Retrieved 2011-11-25.
  • ^ "OpenJDK Binary Plugs". Sun Microsystems. 2007-05-08. Archived from the original on 2012-08-26. Retrieved 2011-11-25.
  • ^ Fitzsimmons, Thomas (2007-05-18). "Plans for OpenJDK". Retrieved 2007-05-22.
  • ^ Angel, Lillian (2008-03-13). "OpenJDK to replace IcedTea in Fedora 9". Archived from the original on 2012-12-10. Retrieved 2008-04-05.
  • ^ Wade, Karsten (2008-03-13). "OpenJDK in Fedora 9!". redhatmagazine.com. Archived from the original on 2008-04-21. Retrieved 2008-04-05. Thomas Fitzsimmons updated the Fedora 9 release notes source pages to reflect that Fedora 9 would ship with OpenJDK 6 instead of the IcedTea implementation of OpenJDK 7. Fedora 9 (Sulphur) is due to release in May 2008.
  • ^ Herron, David (2007-10-04). "Plans for OpenJDK". Archived from the original on 2007-10-11. Retrieved 2007-10-09.
  • ^ a b "OpenJDK 6 b10 source posted". 2008-05-30. Retrieved 2008-06-01.
  • ^ audio-engine project page
  • ^ "Gervill – Software Synthesizer". Archived from the original on 2011-10-04. Retrieved 2008-06-01.
  • ^ "Crypto has been added to OpenJDK". 2007-09-27. Retrieved 2007-10-07.
  • ^ font-scaler projectpage
  • ^ a b c Java2D project page
  • ^ "Freetype font rasteriser". 2007-08-07. Retrieved 2007-11-24.
  • ^ phoneme.dev.java.net/ Archived 2007-06-10 at the Wayback Machine
  • ^ graphics-rasterizer project page
  • ^ "Javascript is encumbered and there is no javascript plugin support". IcedTea. 2008-03-11. Archived from the original on 2008-09-27. Retrieved 2008-06-01. Changing Summary. JavaScript is no longer encumbered, but we still need liveconnect support.
  • ^ Kelly O'Hair (December 2010). "OpenJDK7 and OpenJDK6 Binary Plugs Logic Removed". Oracle Corporation. Retrieved 2011-11-25.
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Java_Class_Library&oldid=1231328470"

    Categories: 
    Java (programming language)
    Java (programming language) libraries
    Hidden categories: 
    Webarchive template wayback links
    Articles needing additional references from August 2011
    All articles needing additional references
    Articles containing potentially dated statements from May 2007
    All articles containing potentially dated statements
    Articles containing potentially dated statements from May 2008
    Articles containing potentially dated statements from 2006
     



    This page was last edited on 27 June 2024, at 19:18 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki