2. An application programming
interface (API) is
a protocol intended to be used
as an interface by software
components to communicate
with each other. An API is a
library that may include
specification for routines, data
structures, object classes, and
What is an API?
2
3. There are 3 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.
• optional official APIs that can be downloaded
separately. The specification of these APIs are
defined according to a Java Specification
Request (JSR).
• unofficial APIs, developed by third parties, but
not related to any JSRs.
Third-parties can freely implement any JSR
3
4. Packages
There are two types of packages:
Java API packages
User defined packages
Java API Packages:
A large number of classes grouped into different
packages based on functionality. Examples:
1. java.lang
2. java.util
3. java.io
4. java.awt
5. java.net etc.
4
5. Name Description
Java Advanced
Imaging
A set of interfaces that support a high-
level programming model allowing to
manipulate images easily.
Java Data
Objects
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
An API that enables audio, video and
other time-based media to be added to 5
Official APIs- Standard Edition (Java
SE)
6. 6
Name Description
Java Naming
and Directory
Interface
An API for directory services.
Java 3D A scene graph-based 3D API.
Java OpenGL A wrapper library for OpenGL.
Java Mail
A framework to build mail and
messaging applications
Java USB for
Windows
A USB communication of Java
applications
8. 8
Optional APIs (for SE):
• Java API for XML based RPC (JAX-RPC)
• Xquery API for Java
Official APIs- Micro Edition (Java ME)
• Connected Limited Device Configuration
• Java Telephony API
9. 9
Unofficial APIs- Released by third
partiesRich Client Platforms
Eclipse Rich Client
Platform (RCP)
NetBeans Platform
Office_compliant
libraries
Apache POI
Compression
LZMA SDK, the Java
implementation of the
SDK used by the
popular 7-Zip file
archive software
Game engines
Slick
jMonkey Engine
JPCT Engine
LWJGL
Real-time libraries
Javolution
Windowing libraries
Standard Widget Toolkit
(SWT)
Physics Libraries
JBox2D
10. 10
Full-Screen Exclusive Mode API
To use high-performance graphics in the Java
development environment, to make the images move
fast enough, to have a control over the user's display
resolution. It enables you to suspend the windowing
system so that drawing can be done directly to the
screen.JDBC Database Access
The JDBC API was designed to keep simple things
simple. This means that the JDBC makes everyday
database tasks easy
The Java Remote Method Invocation (RMI) system
allows an object running in one Java virtual machine
to invoke methods on an object running in another
Java virtual machine. RMI provides for remote
communication between programs written in the
RMI
11. Reflection is commonly used by programs which
require the ability to examine or modify the runtime
behavior of applications running in the Java virtual
machine. This is a relatively advanced feature and
should be used only by developers who have a
strong grasp of the fundamentals of the language.
With that caveat in mind, reflection is a powerful
technique and can enable applications to perform
operations which would otherwise be impossible.
11
The Reflection API
The Java Sound API is a low-level API for effecting
and controlling the input and output of sound
media, including both audio and Musical Instrument
Digital Interface (MIDI) data. The Java Sound API
provides explicit control over the capabilities
normally required for sound input and output, in a
The Sound API
12. 12
Abstract Window Toolkit
AspectWerkz
BatooJPA
Flying Saucer (library)
Internet Foundation Classes
Java 2D
Java Authentication and
Authorization Service
Java Bindings for OpenGL
Java Cryptography Extension
Java Data Objects
Java Management
Extensions
Java Media Framework
Java Naming and Directory
Interface
Java OpenAL
Java Secure Socket
Extension
Java: View Technologies and
Frameworks
JavApi
Javolution
JConsole
Jess (programming
language)
Jreality
JSBML
Location API for Java ME
ObjectWeb ASM
Pluggable look and feel
Qt Jambi
QuickTime for Java
Standard Widget Toolkit
Swing (Java)
SwingLabs
Synth Look and Feel
Some more API
13. 13
Summary:
• Purpose
• Java Platforms:
• SE
• EE
• ME
• Java APIs categories:
• Official
• Optional
• Unofficial(Released by third parties)
• Examples
OpenGL (Open Graphics Library)[3] is a cross-language, multi-platformAPI for rendering 2D and 3D computer graphics. The API is typically used to interact with a GPU, to achieve hardware-accelerated rendering.
The Java Message Service (JMS) API is a JavaMessage Oriented Middleware (MOM) API[1] for sending messages between two or more clients. JavaAPI for XML-based RPC (JAX-RPC) allows a Java application to invoke a Java-based Web Service with a known description while still being consistent with its WSDL description.JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications.[1]The Connected Limited Device Configuration (CLDC) is a specification of a framework for Java ME applications describing the basic set of libraries and virtual-machine features that must be present in an implementation.
In computer science, reflection is the ability of a computer program to examine (see type introspection) and modify the structure and behavior (specifically the values, meta-data, properties and functions) of an object at runtime.[1]