Jump to content

List of Java APIs

From Alfawiki
Java APIs
Company typeSoftware APIs
IndustrySoftware development, Programming
Area served
Worldwide
ProductsFundamental Java API (java.* packages), Supplementary APIs (e.g., JAI, JDO, JNDI, JPA, JSAPI, JOGL, etc.)

There exist two main categories of Java APIs:

  • The fundamental Java API, officially provided and integrated within platforms such as Android (Google), SE (OpenJDK and Oracle), and MicroEJ. The java.* package set constitutes the core Java language foundation essential for effective Java programming.
  • Supplementary APIs that are optionally downloadable, developed and maintained by a variety of global organizations (including Alljoyn, OSGi, Eclipse, JCP, E-S-R, among others).

APIs

Name Acronym Description and Version History Available from
Java Advanced Imaging JAI Provides interfaces for advanced image processing programming models.
Association for the standardization of embedded platforms E-S-R consortium here
Java Data Objects JDO Defines specifications for persistence of Java objects.
Android API Google here
JavaHelp Extensible help framework supporting applets, components, applications, operating systems, and devices. available here
Java Media Framework JMF Facilitates incorporation of audio, video, and time-based media within Java programs or applets.
Java Naming and Directory Interface JNDI API designed for directory service access.
Jakarta Persistence JPA Standard for object-relational mapping in Java. available here
Java Speech API JSAPI Enables speech recognition and synthesis capabilities.
Java 3D J3D Scene graph-oriented 3D graphics programming interface. available here
Java OpenGL JOGL Wrapper library facilitating OpenGL usage in Java. available here
Java USB for Windows (none) Supports USB communication within Java applications. available here
RestFB (none) Java wrapper library for Facebook API integration. available here
Twitter4j (none) Java client library for interacting with the Twitter API. available here
Discord Java API JDA Java library providing access to Discord's API. available here
Mixin SpongePowered Library that allows modification of existing codebases. available here
Wikipedia4j llmjava Library designed to search and retrieve Wikipedia content programmatically. available here
Oshi oshi Provides access to hardware information on computers. available here
Google Guava Google Core utility libraries offering collections, caching, primitive support, and more. available here
Apache Commons Apache Collection of reusable Java components including utilities for collections, math operations, and IO tasks. available here
'Log4j' 'Apache' 'Widely adopted logging framework.' 'available here'
'JUnit' 'JUnit' 'Renowned testing framework.' 'available here'
'Caffeine' '(none)' 'Library delivering high-performance caching solutions.' 'available here'
'Lombok' '(none)' 'Annotation-based tool to reduce boilerplate code.' 'available here'
'SLF4J' '(none)' 'Lightweight logging facade commonly used alongside Logback or Log4j.' 'available here'
'Retrofit' '(none)' 'Type-safe HTTP client tailored for Java and Android applications.' 'available here'
'OkHttp' 'Square' 'HTTP client featuring connection pooling and GZIP compression support.' 'available here'
'Gson' 'Google' 'Library for converting Java objects to JSON format and vice versa.' 'available here'
'Jackson' 'FasterXML' 'High-efficiency JSON processor.' 'available here'
'Kryo' 'EsotericSoftware' 'Fast serialization framework for object graphs.' 'available here'
'Apache Kafka' 'Apache' 'Distributed streaming platform designed for event processing.' 'available here'
'Netty' '(none)' 'Asynchronous event-driven networking framework.' 'available here'
'Vert.x' 'Eclipse' 'Toolkit supporting reactive distributed applications.' 'available here'
'Spring Framework' 'Spring' 'Extensive framework for developing Java applications.' 'available here'
'Micronaut' '(none)' 'Lightweight framework optimized for microservices and cloud-native development.' 'available here'
'Hibernate' '(none)' 'Robust object-relational mapping solution.' 'available here'
'Forge' '(none)' 'Popular modding API targeting Minecraft Java Edition.' 'available here'
'NeoForge' '(none)' 'Community-led fork of Forge aimed at Minecraft modding.' 'available here'
'Fabric' '(none)' 'Modular lightweight toolchain for Minecraft modding.' 'available here'
'Quilt' '(none)'

'Community-driven fork of Fabric offering additional features.' 'available here'

The above list represents only a fraction of the extensive range of Java APIs, demonstrating the broad scope of the platform's ecosystem.

Rich client platform
Office-compatible libraries
Compression tools
  • LZMA SDK – Java implementation derived from 7-Zip's SDK
JSON libraries
Game development engines
Real-time technologies

Real-time Java refers to a set of technologies enabling real-time system development using the Java language. Its sophisticated memory management mechanisms, native thread handling with concurrency support, type safety features, and simplicity have made it popular in sectors requiring deterministic timing.

Core characteristics include:

  • Threading model based on strict priority scheduling.
  • Mechanisms to prevent priority inversion through priority inheritance or ceiling protocols.

The Java Community defined JSR001 establishing the Real-Time Specification for Java (RTSJ), with implementations such as Timesys reference implementation, IBM WebSphere Real Time, Sun Microsystems' Java SE Real-Time Systems, Aonix PERC, and aicas’ JamaicaVM.

RTSJ addresses essential real-time challenges by specifying a minimal threading model and introducing memory areas exempt from garbage collection. These memory regions employ region-based management allowing threads to operate without interruption by garbage collector activity.

Real-Time Specification for Java

The Real-Time Specification for Java (RTSJ) establishes a set of interfaces and behavioral enhancements tailored for real-time application development within the Java environment. The initial version, RTSJ 1.0, was created under the Java Community Process as JSR 1 and received approval in November 2001. Currently, RTSJ 2.0 is being developed through JSR 282, with a draft version accessible online.

Windowing toolkits
Physics engines
  • JBox2D
  • JBullet
  • dyn4j

See also

External links