List of Java APIs
There are three types of Java Programming Language Application Programming Interfaces (APIs) :
- the official core Java API, contained in the JDK or JRE, of one of the editions of the Java Platform. The three editions of the Java Platform are Java ME (Micro edition), Java SE (Standard edition), and Java EE (Enterprise edition).
- optional official APIs that can be downloaded separately. The specification of these APIs are defined according to a Java Specification Request (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 Swing).
- 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 (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.
Contents |
Official APIs
Java Platform, Standard Edition (Java SE)
Bundled APIs (part of standard download)[1]
Name | Acronym | Package(s) that contain the API | Description and Version History |
---|---|---|---|
Abstract Window Toolkit | AWT | java.awt | First released with version 1.0. |
Java Collections Framework | JCF | java.util | Collection of standard data structures like Lists, Maps, Queues, Stacks. Included in J2SE 1.2 and later. |
Swing | javax.swing | Primary Java GUI widget toolkit. Included in J2SE 1.2 and later. | |
Accessibility | |||
Drag n Drop | java.awt.datatransfer java.awt.dnd[3] |
||
Image I/O | javax.imageio javax.imageio.*[4] |
||
Sound | javax.sound.midi javax.sound.midi.spi javax.sound.sampled javax.sound.sampled.spi[5] |
||
Reflection | java.lang.reflect [6] |
examine or modify the runtime behavior of applications, discover information about the fields, methods and constructors of loaded classes | |
Remote Method Invocation | RMI | java.rmi java.rmi.dgc java.rmi.registry java.rmi.server java.rmi.activation [7] |
API for defining RPC interfaces using Java objects and object methods. |
Java Database Connectivity | JDBC | java.sql javax.sql[8] |
|
Java Cryptography Extension | JCE | javax.crypto javax.crypto.interfaces javax.crypto.spec[9] |
Included as part of J2SE 1.4 and later. Available as an optional package to versions 1.2 and 1.3. |
Java Authentication and Authorization Service | JAAS | javax.security.auth | Included in J2SE 1.4 and later, previously released as an optional package with version 1.3. |
Java Secure Socket Extension | JSSE | javax.net javax.net.ssl java.security.cert[10] |
A set of packages that enable secure Internet communications. Included as part of J2SE 1.4 and later, JSSE 1.0.3 is an optional package to the Java 2 SDK, versions 1.2 and 1.3. |
Java Native Interface | JNI | Allows Java code running in the Java virtual machine (JVM) to call and be called[1] by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages, such as C, C++ and assembly. | |
Java Management Extensions | JMX | javax.management javax.management.loading javax.management.modelmbean javax.management.monitor javax.management.openmbean javax.management.relation javax.management.remote javax.management.remote.rmi javax.management.timer |
A technology that supplies tools for managing and monitoring applications, system objects, devices (e.g. printers) and service oriented networks. Included as part of J2SE 1.5 and later, was an optional package prior to this. |
Optional APIs (downloaded separately)
Name | Acronym | Description and Version History | Available from |
---|---|---|---|
Java Advanced Imaging | JAI | An API which provides a set of interfaces that support a high-level programming model allowing to manipulate images easily. | |
Java Communications API | JCA | ||
Java Data Objects | JDO | A specification of Java object persistence. | |
JavaHelp | A full-featured, extensible help system that enables you to incorporate online help in applets, components, applications, operating systems, and devices. | ||
Java Media Framework | 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 | JNDI | An API for directory services. | |
Java Speech API | JSAPI | This API allows for speech synthesis and speech recognition. | |
Java 3D | J3D | A scene graph-based 3D API. | available here |
Java OpenGL | JOGL | A wrapper library for 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 |
Java Platform, Enterprise Edition (Java EE)
Bundled APIs (part of standard download)
Name | Acronym | Java package(s) that contain the API |
---|---|---|
Java Message Service | JMS | |
JavaServer Faces | JSF | javax.faces |
Optional APIs (downloaded separately)
Name | Acronym | Available from |
---|---|---|
Java API for XML-Based RPC | JAX-RPC | available here |
Java Platform, Micro Edition (Java ME)
Name | Acronym | Available from |
---|---|---|
Connected Limited Device Configuration | CLDC | Reference implementation is available here |
Java Telephony API | 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
- Office_compliant libraries
- Compression
- LZMA SDK, the Java implementation of the SDK used by the popular 7-Zip file archive software (available here)
- Development assistance
- Lady4j. Programming assistant and application server issue solver. (available here)
- Cobra HTML parser and renderer library.
- Numerical analysis
- Game engines
- Real-time libraries
- Rendering libraries
- Flying Saucer XML, XHTML, and CSS 2.1 rendering library.
- Cobra HTML parser and renderer library.
- Windowing libraries
- Standard Widget Toolkit (SWT)
Notes
- ^ JDK 6 Documentation
- ^ JDK 6 Java Accessibility-related APIs & Developer Guides - from Sun Microsystems
- ^ Drag and Drop Packages
- ^ JDK 6 Image I/O-related APIs & Developer Guides - from Sun Microsystems
- ^ JDK 6 Java Sound-related APIs & Developer Guides - from Sun Microsystems
- ^ - from Sun Microsystems
- ^ JDK 6 Remote Method Invocation Home Page - from Oracle's Sun Developer Network
- ^ JDK 6 Java Database Connectivity (JDBC)-related APIs & Developer Guides - from Sun Microsystems
- ^ Java SE Security
- ^ Java SE Security