Jump to content

List of Java APIs

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by ElFamosoComore (talk | contribs) at 13:27, 1 November 2018 (Add JDA). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

APIs

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 Google 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.
Java Persistence API JPA A specification for object-relational mapping. JSR 338
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
Facebook4j (none) Facebook API wrapper in Java. available here
Twitter4j (none) Java library for the Twitter API available here
Java Discord API JDA Java library for the Discord API available here
Name Acronym Java package(s) that contain the API
JavaBeans Activation Framework JAF javax.activation
JavaMail (none) javax.mail
Java Message Service JMS javax.jms
JavaServer Faces JSF javax.faces
Name Acronym Available from
Java API for XML-Based RPC JAX-RPC available 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
IS2T's MicroEJ embedded platforms MicroEJ available here

Following is a very incomplete list, as the number of APIs available for the Java platform is overwhelming.

Rich Client platforms
Office_compliant libraries
Compression
JSON
Game engines
Real-time libraries

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:

  • Java supports a strict priority based threading model.
  • Because Java threads support priorities, Java locking mechanisms support priority inversion avoidance techniques, such as priority inheritance or the priority ceiling protocol.

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 preemptable by the garbage collector. These areas are instead managed using region-based memory management.