Use outside of the Java platform
The Java programming language requires the presence of a software platform in order for compiled programs to be executed. Oracle supplies the Java platform for use with Java. The Android SDK, is an alternative software platform, used primarily for developing Android applications.Android
The Android operating system makes extensive use of Java-related technology.
Android does not provide the full Java SE standard library, although the Android SDK does include an independent implementation of a large subset of it. It supports Java 6 and some Java 7 features, offering an implementation compatible with the standard library (Apache Harmony).
Controversy
See also: Oracle America, Inc. v. Google, Inc.
The use of Java-related technology in Android led to a legal dispute
between Oracle and Google. On May 7, 2012, a San Francisco jury found
that if APIs could be copyrighted, then Google had infringed Oracle's
copyrights by the use of Java in Android devices.[58] District Judge William Haskell Alsup ruled on May 31, 2012, that APIs cannot be copyrighted,[59] but this was reversed by the United States Court of Appeals for the Federal Circuit in May 2014.[60]
On May 26, 2016, the district court decided in favor of Google, ruling
the copyright infringement of the Java API in Android constitutes fair
use.[61]Class libraries
| This section needs additional citations for verification. (December 2014) (Learn how and when to remove this template message) |
Main article: Java Class Library
The Java Class Library is the standard library, developed to support application development in Java. It is controlled by Sun Microsystems in cooperation with others through the Java Community Process
program. Companies or individuals participating in this process can
influence the design and development of the APIs. This process has been a
subject of controversy.[when?] The class library contains features such as:- The core libraries, which include:
- IO/NIO
- Networking
- Reflection
- Concurrency
- Generics
- Scripting/Compiler
- Functional Programming (Lambda, Streaming)
- Collection libraries that implement data structures such as lists, dictionaries, trees, sets, queues and double-ended queue, or stacks[62]
- XML Processing (Parsing, Transforming, Validating) libraries
- Security[63]
- Internationalization and localization libraries[64]
- The integration libraries, which allow the application writer to communicate with external systems. These libraries include:
- The Java Database Connectivity (JDBC) API for database access
- Java Naming and Directory Interface (JNDI) for lookup and discovery
- RMI and CORBA for distributed application development
- JMX for managing and monitoring applications
- User interface libraries, which include:
- The (heavyweight, or native) Abstract Window Toolkit (AWT), which provides GUI components, the means for laying out those components and the means for handling events from those components
- The (lightweight) Swing libraries, which are built on AWT but provide (non-native) implementations of the AWT widgetry
- APIs for audio capture, processing, and playback
- JavaFX
- A platform dependent implementation of the Java virtual machine that is the means by which the bytecodes of the Java libraries and third party applications are executed
- Plugins, which enable applets to be run in web browsers
- Java Web Start, which allows Java applications to be efficiently distributed to end users across the Internet
- Licensing and documentation
Documentation
Main article: Javadoc
Javadoc is a comprehensive documentation system, created by Sun Microsystems, used by many Java developers[by whom?].
It provides developers with an organized system for documenting their
code. Javadoc comments have an extra asterisk at the beginning, i.e. the
delimiters are /** and */, whereas the normal multi-line comments in Java are set off with the delimiters /* and */.[65]
No comments:
Post a Comment