List of Java APIs
Encyclopedia
There are three types of Java Programming Language
Application Programming Interfaces (APIs)
:
Third-parties can freely implement any JSR specifications for an official API (even for the core API of the language), providing that they conform to the Technology Compatibility Kit
(TCK) for this JSR (the TCK is a suite of tests that checks conformance of implementations for a JSR). The result of this freedom is that many official APIs have more implementations than the Sun's
Reference implementation (RI).
The following is a partial list of Application Programming Interfaces
(APIs) for the Java Programming Language
.
Rich Client Platforms
Office_compliant libraries
Compression
Development assistance
Numerical analysis
Game engines
Real-time libraries
Rendering libraries
Windowing libraries
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
Application Programming Interfaces (APIs)
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
:
- the official core Java API, contained in the JDKJava Development KitThe Java Development Kit is an Oracle Corporation product aimed at Java developers. Since the introduction of Java, it has been by far the most widely used Java SDK. On 17 November 2006, Sun announced that it would be released under the GNU General Public License , thus making it free software...
or JRE, of one of the editions of the Java Platform. The three editions of the Java Platform are Java ME (Micro edition)Java Platform, Micro EditionJava Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems . Target devices range from industrial controls to mobile phones and set-top boxes...
, Java SE (Standard edition)Java Platform, Standard EditionJava Platform, Standard Edition or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use...
, and Java EE (Enterprise edition)Java Platform, Enterprise EditionJava Platform, Enterprise Edition or Java EE is widely used platform for server programming in the Java programming language. The Java platform differs from the Java Standard Edition Platform in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier...
. - optional official APIs that can be downloaded separately. The specification of these APIs are defined according to a Java Specification RequestJava Community ProcessThe Java Community Process or JCP, established in 1998, is a formalized process that allows interested parties to get involved in the definition of future versions and features of the Java platform....
(JSR), and sometimes some of these APIs are later included in the core APIs of the platform (the most notable example of this kind is SwingSwing (Java)Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....
). - unofficial APIs, developed by third parties, but not related to any JSRs.
Third-parties can freely implement any JSR specifications for an official API (even for the core API of the language), providing that they conform to the Technology Compatibility Kit
Technology Compatibility Kit
A Technology Compatibility Kit is a suite of tests that at least nominally checks a particular alleged implementation of a Java Specification Request for compliance...
(TCK) for this JSR (the TCK is a suite of tests that checks conformance of implementations for a JSR). The result of this freedom is that many official APIs have more implementations than the Sun's
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
Reference implementation (RI).
The following is a partial list of Application Programming Interfaces
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
(APIs) for the Java Programming Language
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
.
Optional Ganesh
Name | Acronym Acronym and initialism Acronyms and initialisms are abbreviations formed from the initial components in a phrase or a word. These components may be individual letters or parts of words . There is no universal agreement on the precise definition of the various terms , nor on written usage... |
Description and Version History | Available from |
---|---|---|---|
Java Advanced Imaging Java Advanced Imaging Java Advanced Imaging is a Java platform extension API that provides a set of object-oriented interfaces that support a simple, high-level programming model which allows developers to create their own image manipulation routines without the additional cost or licensing restrictions, associated... |
JAI | An API which provides a set of interfaces that support a high-level programming model allowing to manipulate image Image An image is an artifact, for example a two-dimensional picture, that has a similar appearance to some subject—usually a physical object or a person.-Characteristics:... s easily. |
|
Java Communications API | JCA | ||
Java Data Objects Java Data Objects Java Data Objects is a specification of Java object persistence. One of its features is a transparency of the persistent services to the domain model. JDO persistent objects are ordinary Java programming language classes ; there's no requirement for them to implement certain interfaces or extend... |
JDO | A specification of Java object persistence Persistence (computer science) Persistence in computer science refers to the characteristic of state that outlives the process that created it. Without this capability, state would only exist in RAM, and would be lost when this RAM loses power, such as a computer shutdown.... . |
|
JavaHelp JavaHelp JavaHelp refers to both an application and a format for online help files that can be displayed by the JavaHelp browser. It is written in Java, and is mainly used in Java applications... |
A full-featured, extensible help system that enables you to incorporate online help in applets, components, applications, operating systems, and devices. | ||
Java Media Framework Java Media Framework The Java Media Framework is a Java library that enables audio, video and other time-based media to be added to Java applications and applets... |
JMF | An API that enables audio, video and other time-based media to be added to Java applications and applets. | |
Java Naming and Directory Interface Java Naming and Directory Interface The Java Naming and Directory Interface is a Java API for a directory service that allows Java software clients to discover and look up data and objects via a name. Like all Java APIs that interface with host systems, JNDI is independent of the underlying implementation... |
JNDI | An API for directory service Directory service A directory service is the software system that stores, organizes and provides access to information in a directory. In software engineering, a directory is a map between names and values. It allows the lookup of values given a name, similar to a dictionary... s. |
|
Java Speech API Java Speech API The Java Speech API specifies a cross-platform interface to support command and control recognizers, dictation systems and speech synthesizers. Although JSAPI defines an interface only there are several implementations created by third parties, for example FreeTTS.- Core technologies :Two core... |
JSAPI | This API allows for speech synthesis Speech synthesis Speech synthesis is the artificial production of human speech. A computer system used for this purpose is called a speech synthesizer, and can be implemented in software or hardware... and speech recognition Speech recognition Speech recognition converts spoken words to text. The term "voice recognition" is sometimes used to refer to recognition systems that must be trained to a particular speaker—as is the case for most desktop recognition software... . |
|
Java 3D Java 3D Java 3D is a scene graph-based 3D application programming interface for the Java platform. It runs atop either OpenGL or Direct3D. Since version 1.2, Java 3D has been developed under the Java Community Process.... |
J3D | A scene graph Scene graph A scene graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games. Examples of such programs include Acrobat 3D, Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, OpenSG, VRML97, and X3D.... -based 3D 3D computer graphics 3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images... API. |
available here |
Java OpenGL Java OpenGL Java OpenGL is a wrapper library that allows OpenGL to be used in the Java programming language. It was originally developed by Kenneth Bradley Russell and Christopher John Kline, and was further developed by the Sun Microsystems Game Technology Group. Since 2010, it has been an independent open... |
JOGL | A wrapper Adapter pattern In computer programming, the adapter pattern is a design pattern that translates one interface for a class into a compatible interface... library for OpenGL OpenGL OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL... . |
available here |
Java Mail | (none) | A framework to build mail and messaging applications | available here |
Java USB for Windows | (none) | A USB communication of Java applications | available here |
Bundled APIs (part of standard download)
Name | Acronym Acronym and initialism Acronyms and initialisms are abbreviations formed from the initial components in a phrase or a word. These components may be individual letters or parts of words . There is no universal agreement on the precise definition of the various terms , nor on written usage... |
Java package Java package A Java package is a mechanism for organizing Java classes into namespaces similar to the modules of Modula. Java packages can be stored in compressed files called JAR files, allowing classes to download faster as a group rather than one at a time... (s) that contain the API |
---|---|---|
Java Message Service Java Message Service The Java Message Service API is a Java Message Oriented Middleware API for sending messages between two or more clients. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914... |
JMS | |
JavaServer Faces JavaServer Faces JavaServer Faces is a Java-based Web application framework intended to simplify development integration of web-based user interfaces.... |
JSF | javax.faces |
Optional APIs (downloaded separately)
Name | Acronym Acronym and initialism Acronyms and initialisms are abbreviations formed from the initial components in a phrase or a word. These components may be individual letters or parts of words . There is no universal agreement on the precise definition of the various terms , nor on written usage... |
Available from |
---|---|---|
Java API for XML-Based RPC JAX-RPC Java API for XML-based RPC allows a Java application to invoke a Java-based Web Service with a known description while still being consistent with its WSDL description. It can be seen as Java RMIs over Web services. JAX-RPC 2.0 was renamed JAX-WS 2.0 . JAX-RPC 1 is deprecated with Java EE 6... |
JAX-RPC | available here |
Java Platform, Micro Edition (Java ME)
Name | Acronym | Available from |
---|---|---|
Connected Limited Device Configuration Connected Limited Device Configuration The Connected Limited Device Configuration is a specification of a framework for Java ME applications describing the basic set of libraries and virtual-machine features that must be present in an implementation... |
CLDC | Reference implementation is available here |
Java Telephony API Java Telephony API The Java Telephony API supports telephony call control. It is an extensible application programming interface designed to scale for use in a range of domains, from first-party call control in a consumer device to third-party call control in large distributed call centers.-External links:*****... |
available here |
Unofficial APIs (Released by third parties)
This list is very incomplete, as the number of APIs available for the Java platform is overwhelming.Rich Client Platforms
- Eclipse Rich Client Platform (RCP)Eclipse (software)Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
- NetBeans PlatformNetBeansNetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment for developing with Java, JavaScript, PHP, Python, Groovy, C, C++, Scala, Clojure, and others...
Office_compliant libraries
- Apache POI
Compression
- LZMALZMAThe Lempel–Ziv–Markov chain algorithm is an algorithm used to perform data compression. It has been under development since 1998 and was first used in the 7z format of the 7-Zip archiver...
SDK, the Java implementation of the SDKSoftware development kitA software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...
used by the popular 7-Zip7-Zip7-Zip is an open source file archiver. 7-Zip operates with the 7z archive format, but can read and write several other archive formats. The program can be used from a command line interface, graphical user interface, or with Microsoft Windows shell integration. 7-Zip began in 1999 and is actively...
file archive software (available here)
Development assistance
- Lady4j. Programming assistant and application server issue solver. (available here)
- Cobra HTML parser and renderer library.
- JScripter(short for JS) is a set of open source Java libraries and specifications. It allows Java developers to easily make large JavaScript applications.
Numerical analysis
- JScience
Game engines
- jMonkey EngineJMonkey EnginejMonkeyEngine is a game engine made especially for modern 3D development, as it uses shader technology extensively. jMonkeyEngine is written purely in Java and uses LWJGL as its default renderer. OpenGL 2 through OpenGL 4 is fully supported....
- LWJGLLightweight Java Game LibraryThe Lightweight Java Game Library is an open source Java software library for computer game developers.LWJGL exposes high performance cross-platform libraries commonly used in developing software games and multimedia titles...
Real-time libraries
- JavolutionJavolutionJavolution is a real-time library aiming to make Java applications faster and more time predictable. Indeed, time-predictability can easily be ruined by the use of the standard library Javolution is a real-time library aiming to make Java applications faster and more time predictable. Indeed,...
Rendering libraries
- Flying SaucerFlying saucer (library)Flying Saucer is a pure Java library for rendering XML, XHTML, and CSS 2.1 content.It is intended for embedding web-based user interfaces into Java applications, but cannot be used as a general purpose web browser since it does not support HTML.Thanks to its capability to save rendered XHTML to...
XMLXMLExtensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
, XHTMLXHTMLXHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....
, and CSS 2.1Cascading Style SheetsCascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...
rendering library. - Cobra HTML parser and renderer library.
Windowing libraries
- Standard Widget ToolkitStandard Widget ToolkitThe Standard Widget Toolkit is a graphical widget toolkit for use with the Java platform. It was originally developed by IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE...
(SWT)
See also
- Java (programming language)Java (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
- Java Platform
- Application programming interfaceApplication programming interfaceAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
- JavaMailJavamailJavaMail is a Java API used to receive and send email via SMTP, POP3 and IMAP. JavaMail is built into the Java EE platform, but also provides an optional package for use in Java SE.On March 2, 2009, JavaMail 1.4.2 was released....