Java API is not but a set of classes and interfaces that comes with the JDK. Java API is actually a huge collection of library routines that performs basic programming tasks such as looping, displaying GUI form etc.
Java API
What is Java API?Java API is not but a set of classes and interfaces that comes with the JDK. Java API is actually a huge collection of library routines that performs basic programming tasks such as looping, displaying GUI form etc.
In the Java API classes and interfaces are packaged in packages. All these classes are written in Java programming language and runs on the JVM. Java classes are platform independent but JVM is not platform independent. You will find different downloads for each OS.
The Java comprises three components:
- Java Language
- JVM or Java Virtual Machine and
- The Java API (Java programming interface)
The Java language defines easy to learn syntax and semantics for Java programming language. Every programmer must understand these syntax and semantics to write program in Java language.
Type of Java API
There are three types of API available in Java Technology.
- Official Java Core API
The official core API is part of JDK download. The three editions of the Java programming language are Java SE, Java ME and Java EE.
- Optional Java API
The optional Java API can be downloaded separately. The specification of the API is defined according to the JSR request.
- Unofficial APIs
These API's are developed by third parties and can downloaded from the owner website.
Official Java Core API list
Name | Acronym | Package(s) that contain the API | Description and Version History |
Abstract Window Toolkit | AWT | java.awt | First released with version 1.0. |
Swing | javax.swing | Included in J2SE 1.2 and later. | |
Accessibility | javax.accessibility | ||
Drag n Drop | java.awt.datatransfer java.awt.dnd |
||
Image I/O | javax.imageio javax.imageio.* |
||
Sound | javax.sound.midi javax.sound.midi.spi javax.sound.sampled javax.sound.sampled.spi |
||
Java Database Connectivity | JDBC | java.sql javax.sql |
|
Java Cryptography Extension | JCE | javax.crypto javax.crypto.interfaces javax.crypto.spec |
Included as part of J2SE 1.4 and later. Available as an optional package to versions 1.2 and 1.3. |
Java Authentication and Authorization Service | JAAS | javax.security.auth | Included in J2SE 1.4 and later, previously released as an optional package with version 1.3. |
Java Secure Socket Extension | JSSE | javax.net javax.net.ssl java.security.cert |
A set of packages that enable secure Internet communications. Included as part of J2SE 1.4 and later, JSSE 1.0.3 is an optional package to the Java 2 SDK, versions 1.2 and 1.3. |
Java Native Interface | JNI | Allows Java code running in the Java virtual machine (JVM) to call and be called[1] by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages, such as C, C++ and assembly. |
Optional Java API list
Name | Acronym | Description and Version History | Available from |
Java Advanced Imaging | JAI | An API which provides a set of interfaces that support a high-level programming model allowing to manipulate images easily. | |
Java Communications API | JCA | ||
Java Data Objects | JDO | 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 Management Extensions | JMX | A technology that supplies tools for managing and monitoring applications , system objects, devices (e.g. printers ) and service oriented networks. | |
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 Speech API | JSAPI | This API allows for speech synthesis | |
Java 3D | J3D | A scene graph -based 3D API. | available here |
Java OpenGL | JOGL | A wrapper library for OpenGL . | available here |
Important Java API
As a programmer you must learn about the following important java APIs.