This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
There are two types of Java programming language application programming interfaces (APIs):
The following is a partial list of application programming interfaces (APIs) for Java.
Name | Acronym | Description and Version History | Available from |
---|---|---|---|
Java Advanced Imaging | JAI | A set of interfaces that support a high-level programming model allowing to manipulate images easily. | |
Association for the standardization of embedded platforms | E-S-R consortium | here | |
Java Data Objects | JDO | A specification of Java object persistence. | |
Android API | here | ||
JavaHelp | A full-featured, extensible help system that enables you to incorporate online help in applets, components, applications, operating systems, and devices. | available here | |
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. | |
Jakarta Persistence | JPA | A specification for object-relational mapping. | available here |
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 USB for Windows | (none) | A USB communication of Java applications | available here |
RestFB | (none) | Facebook API wrapper in Java. | available here |
Twitter4j | (none) | Java library for the Twitter API | available here |
Discord Java API | JDA | Java library for the Discord API | available here |
Name | Acronym | Java package(s) that contain the API |
---|---|---|
Jakarta Activation | JAF | jakarta.activation
|
Jakarta Mail | (none) | jakarta.mail
|
Jakarta Messaging | JMS | jakarta.jms
|
Jakarta Faces | JSF | jakarta.faces
|
Name | Acronym | Available from |
---|---|---|
Jakarta XML RPC | JAX-RPC | here and here |
XQuery API for Java | XQJ | here and here |
Name | Acronym | Available from |
---|---|---|
Connected Limited Device Configuration | CLDC | Reference implementation is available here |
Java Telephony API | JTAPI | available here |
STM32 Java technology | STM32Java | available here |
MicroEJ embedded platform | MicroEJ | available here |
Following is a very incomplete list, as the number of APIs available for the Java platform is overwhelming.
Real time Java is a catch-all term for a combination of technologies that allows programmers to write programs that meet the demands of real-time systems in the Java programming language.
Java's sophisticated memory management, native support for threading and concurrency, type safety, and relative simplicity have created a demand for its use in many domains. Its capabilities have been enhanced to support real time computational needs:
To overcome typical real time difficulties, the Java Community introduced a specification for real-time Java, JSR001. A number of implementations of the resulting Real-Time Specification for Java (RTSJ) have emerged, including a reference implementation from Timesys, IBM's WebSphere Real Time, Sun Microsystems's Java SE Real-Time Systems,[1] Aonix PERC or JamaicaVM from aicas.
The RTSJ addressed the critical issues by mandating a minimum (only two) specification for the threading model (and allowing other models to be plugged into the VM) and by providing for areas of memory that are not subject to garbage collection, along with threads that are not preempt able by the garbage collector. These areas are instead managed using region-based memory management.
The Real-Time Specification for Java (RTSJ) is a set of interfaces and behavioral refinements that enable real-time computer programming in the Java programming language. RTSJ 1.0 was developed as JSR 1 under the Java Community Process, which approved the new standard in November, 2001. RTSJ 2.0 is being developed under JSR 282. A draft version is available at JSR 282 JCP Page. More information can be found at RTSJ 2.0