Contents - Cultural View

Contents - Cultural View Contents - Cultural View

culturalview.com
from culturalview.com More from this publisher
14.07.2013 Views

Java Class Library 154 • GUI and 2D Graphics: the java.awt package supports basic GUI operations and binds to the underlying native system. It also contains the 2D Graphics API. The javax.swing package is built on AWT and provides a platform independent widget toolkit, as well as a Pluggable look and feel. It also deals with editable and non-editable text components. • Sound: provides interfaces and classes for reading, writing, sequencing, and synthesizing of sound data. • Text: the java.text package deals with text, dates, numbers, and messages. • Image package: java.awt.image and javax.imageio provide APIs to write, read, and modify images. • XML: built-in classes handle SAX, DOM, StAX, XSLT transforms, XPath, and various APIs for Web services, as SOAP protocol and JAX-WS. • CORBA and RMI APIs, including a built-in ORB • Security and Cryptography • Databases: access to SQL databases is provided through the java.sql package. • Access to Scripting engines: the javax.script package gives access any Scripting language that conforms to this API. • Applets: java.applet allows applications to be downloaded over a network and run within a guarded sandbox • Java Beans: java.beans provides ways to manipulate reusable components. Licensing Following their promise to release a fully buildable JDK based almost completely on free and open source code in the first half of 2007 [2] , 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 a free and open-source license. [3] Sun's goal is to replace the parts that remain proprietary and closed source with alternative implementations and make the Class Library completely free and open source. [4] As of May 2008, the only part of the Class library that remain proprietary and closed-source (4% as of May 2007 for OpenJDK 7 [5] , and less than 1% as of May 2008 and OpenJDK 6 [6] [7] ) is [8] [9] : • The SNMP implementation [9] . Since the first May 2007 release, Sun Microsystems, with the help of the community, has released as Open-source or replaced with Open-source alternatives almost all the encumbered code: • All the audio engine code, including the software synthetizer, has been released as Open-source [9] [10] . The closed-source software synthesizer has been replaced by a new synthesizer developed specifically for OpenJDK called Gervill [11] , • All cryptography classes used in the Class library have been released as Open-source [12] , [13] [14] [15] • The code that scales and rasterizes fonts has been replaced by FreeType • The native color management system has been replaced by LittleCMS [14] . There is a pluggable layer in the JDK, so that the commercial version can use the old color management system and OpenJDK can use LittleCMS. • The anti-aliasing graphics rasterizer code has been replaced by the Open-sourced Pisces renderer used in the phoneME project [14] [16] [17] . This code is fully functional, but still needs some performance enhancements [18] , • The Javascript plugin has been open-sourced (the JavaScript engine itself was open-sourced from the beginning) [19] .

Java Class Library 155 Alternative implementations 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, CACAO). Apache Harmony is another free software class library. Its aim is to also implement the other parts of the Java stack (Virtual Machine, Compiler, and other tools required for any Java implementation). See also • Java Platform, Standard Edition • List of Java APIs • OpenJDK • Free Java implementations • Standard library • Java applet External links • Java SE Main page [20] • Java SE 6 API Javadocs • Java SE API documentation [21] • Java software development kits (status as of August 2006): • 1.7 [22] (early development) • 1.6 [23] (stable, current) • 1.5 [24] (stable) • 1.4 [25] (stable) • 1.3 [26] (obsolete) References [1] How Classes are Found (http:/ / java. sun. com/ javase/ 6/ docs/ technotes/ tools/ findingclasses. html) [2] http:/ / www. sun. com/ software/ opensource/ java/ faq. jsp#b4 [3] "Open JDK is here!" (http:/ / mail. openjdk. java. net/ pipermail/ announce/ 2007-May. txt). Sun Microsystems. 2007-05-08. . Retrieved 2007-05-09. [4] Since there's some encumbered code in the JDK, Sun will continue to use that code in commercial releases until it is replaced by fully-functional free and open-source alternatives. [5] Fitzsimmons, Thomas (2007-05-18). "Plans for OpenJDK" (http:/ / fitzsim. org/ blog/ ?p=17). . Retrieved 2007-05-22. [6] Angel, Lillian (2008-03-13). "OpenJDK to replace IcedTea in Fedora 9" (http:/ / langel. wordpress. com/ 2008/ 03/ 13/ openjdk-in-fedora-9/ ). . Retrieved 2008-04-05. [7] Wade, Karsten (2008-03-13). "OpenJDK in Fedora 9!" (http:/ / developer. redhatmagazine. com/ 2008/ 03/ 12/ openjdk-to-replace-icedtea-in-fedora-9/ ). redhatmagazine.com. . 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." [8] Herron, David (2007-10-04). "Plans for OpenJDK" (http:/ / weblogs. java. net/ blog/ robogeek/ archive/ 2007/ 10/ openjdk_encumbr. html). . Retrieved 2007-10-09. [9] "OpenJDK 6 b10 source posted" (http:/ / mail. openjdk. java. net/ pipermail/ jdk6-dev/ 2008-May/ 000058. html). 2008-05-30. . Retrieved 2008-06-01. [10] audio-engine project page (http:/ / openjdk. java. net/ projects/ audio-engine/ ) [11] "Gervill - Software Synthesizer" (https:/ / gervill. dev. java. net/ ). . Retrieved 2008-06-01. [12] "Crypto has been added to OpenJDK" (http:/ / mail. openjdk. java. net/ pipermail/ security-dev/ 2007-September/ 000015. html). 2007-09-27. . Retrieved 2007-10-07. [13] font-scaler projectpage (http:/ / openjdk. java. net/ projects/ font-scaler/ ) [14] Java2D project page (http:/ / openjdk. java. net/ groups/ 2d/ )

Java Class Library 154<br />

• GUI and 2D Graphics: the java.awt package supports basic GUI operations and binds to the underlying native<br />

system. It also contains the 2D Graphics API. The javax.swing package is built on AWT and provides a platform<br />

independent widget toolkit, as well as a Pluggable look and feel. It also deals with editable and non-editable text<br />

components.<br />

• Sound: provides interfaces and classes for reading, writing, sequencing, and synthesizing of sound data.<br />

• Text: the java.text package deals with text, dates, numbers, and messages.<br />

• Image package: java.awt.image and javax.imageio provide APIs to write, read, and modify images.<br />

• XML: built-in classes handle SAX, DOM, StAX, XSLT transforms, XPath, and various APIs for Web services, as<br />

SOAP protocol and JAX-WS.<br />

• CORBA and RMI APIs, including a built-in ORB<br />

• Security and Cryptography<br />

• Databases: access to SQL databases is provided through the java.sql package.<br />

• Access to Scripting engines: the javax.script package gives access any Scripting language that conforms to this<br />

API.<br />

• Applets: java.applet allows applications to be downloaded over a network and run within a guarded sandbox<br />

• Java Beans: java.beans provides ways to manipulate reusable components.<br />

Licensing<br />

Following their promise to release a fully buildable JDK based almost completely on free and open source code in<br />

the first half of 2007 [2] , Sun released the complete source code of the Class Library under the GPL on May 8, 2007,<br />

except some limited parts that were licensed by Sun from third parties who did not want their code to be released<br />

under a free and open-source license. [3] Sun's goal is to replace the parts that remain proprietary and closed source<br />

with alternative implementations and make the Class Library completely free and open source. [4]<br />

As of May 2008, the only part of the Class library that remain proprietary and closed-source (4% as of May 2007 for<br />

OpenJDK 7 [5] , and less than 1% as of May 2008 and OpenJDK 6 [6] [7] ) is [8] [9] :<br />

• The SNMP implementation [9] .<br />

Since the first May 2007 release, Sun Microsystems, with the help of the community, has released as Open-source or<br />

replaced with Open-source alternatives almost all the encumbered code:<br />

• All the audio engine code, including the software synthetizer, has been released as Open-source [9] [10] . The<br />

closed-source software synthesizer has been replaced by a new synthesizer developed specifically for OpenJDK<br />

called Gervill [11] ,<br />

• All cryptography classes used in the Class library have been released as Open-source [12] ,<br />

[13] [14] [15]<br />

• The code that scales and rasterizes fonts has been replaced by FreeType<br />

• The native color management system has been replaced by LittleCMS [14] . There is a pluggable layer in the JDK,<br />

so that the commercial version can use the old color management system and OpenJDK can use LittleCMS.<br />

• The anti-aliasing graphics rasterizer code has been replaced by the Open-sourced Pisces renderer used in the<br />

phoneME project [14] [16] [17] . This code is fully functional, but still needs some performance enhancements [18] ,<br />

• The Javascript plugin has been open-sourced (the JavaScript engine itself was open-sourced from the<br />

beginning) [19] .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!