List of Java APIs
There are two types of Java programming language application programming interfaces (APIs):
- The official core Java API, contained in the Android, SE, MicroEJ. These packages are the core Java language packages, meaning that programmers using the Java language had to use them in order to make any worthwhile use of the Java language.
- Optional APIs that can be downloaded separately. The specification of these APIs are defined according to many different organizations in the world.
APIs
| Name | Acronym | Java package that contain the API |
| Jakarta Activation | JAF | jakarta.activation |
| Jakarta Mail | jakarta.mail | |
| Jakarta Messaging | JMS | jakarta.jms |
| Jakarta Faces | JSF | jakarta.faces |
| Name | Acronym | Available from |
| Jakarta XML RPC | JAX-RPC | and |
| XQuery API for Java | XQJ | and |
| Name | Acronym | Available from |
| Connected Limited Device Configuration | CLDC | Reference implementation is |
| Java Telephony API | JTAPI | |
| STM32 Java technology | STM32Java | |
| MicroEJ embedded platform | MicroEJ |
Following is a very incomplete list, as the number of APIs available for the Java platform is overwhelming.
;Rich client platforms
;Office_compliant libraries
- Apache POI
- JXL - for Microsoft Excel
- JExcel - for Microsoft Excel
- LZMA SDK, the Java implementation of the SDK used by the popular 7-Zip file archive software
;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.
The RTSJ addressed the critical issues by mandating a minimum
specification for the threading model 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.
Real-Time Specification for Java
The Real-Time Specification for Java 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;Windowing libraries
;Physics libraries
- JBox2D
- JBullet
- dyn4j