What is JDK | Java Platform (Ecosystem)

In this tutorial, we will discuss what is JDK (Java development Kit) but before going to discuss it, we will understand about Java platform briefly.

Java Platform (Ecosystem)

A platform is a software or hardware environment in which a program executes or runs. Some of the most platforms are Microsoft Windows, Linux, Mac, and Solaris.

Java platform is only a software-based platform that runs on top of other hardware-based platforms such as Microsoft Windows, Linux, and Mac.

Java Platform is composed of a hierarchy of components that is shown in the below figure.

Java Platform | What is JDK

What is Java Development Kit (JDK)?

Java Development Kit (JDK) is a software development environment that is developed and distributed by Oracle. It is used for building (developing) java software applications and applets.

In simple words, it is used to write java programs by programmers.

Java Development Kit has the following components. They are as follows:

a) Java Runtime Environment (JRE): It is an environment that is required for running (executing) a java application. It cannot be used for the development of Java applications. It is used only for executing the application program.

Java Runtime Environment is a collection of programs that contain JVM (Java Virtual Machine), Java APIs (Application Programming Interface), and Java Class Libraries that help in the development of Java application programs.

b) Java Language Specification: The Java language specification is a technical definition of syntax and semantics of the Java programming language.

Here, you can find the complete Java language specification at https://docs.oracle.com/javase/specs/.

c) Java Development Tools: It consists of Java compiler, JAR tool, class file disassembler, debugger, JRE builder, etc. Java Development Tools provides everything for compiling, running, monitoring, debugging, and documenting applications.

The most important tools are javac compiler, java launcher, and javadoc documentation tool.

We will understand the components of JDK one by one in the further tutorial. In this tutorial, we will focus only on Java Development Kit.

From the above figure, JDK is the top layer of stock Java Technology. It contains all programs that are needed to develop and run java programs.

When we compile a C or C++ program, the program code is directly translated into machine code of a particular processor or a particular platform. But, Java program run with two parts of JDK. The two most important parts of JDK are:

  • Java compiler (javac) and
  • an interpreter.

What is Java Compiler?

Java compiler is a program that is implemented in C and C++ with the name javac.exe. javac is short for java compiler. It is platform-independent. It is responsible for the following tasks that are as follows:

a) Java compiler checks the syntaxial error (Syntax error).
b) It converts source code into byte code with the help of Java Virtual Machine (JVM). Bytecode is just like machine code, but it is not for a specific processor or platform. It cannot be directly executed.
c) Java compiler also adds the additional code to your program if required.

Note: C or C++ programs are compiled only once. But when we execute Java programs, every time Java bytecode is translated. Therefore, Java programs run a little slower than C/C++ programs.

What is Java Interpreter?

Java interpreter is a program that is implemented in C and C++ with the name java.exe. It is platform-dependent. It is responsible for the following tasks. They are as follows:

a) Java interpreter converts the byte code into the native code line by line.
b) It executes the program on your system.

Editions of Java Platforms

The Java platform comes in three editions based upon device type. They are as follows:

1. Java SE (Standard Edition): This edition is used to develop client-side applications. It is used to develop applications for desktop, communication, and user interface.

2. Java EE (Enterprise Edition): This edition is used to develop server-side applications such as Java servlets, JavaServer Pages (JSP), and JavaServer Faces (JSF).

In other words, it is used to develop web-based, messaging, distributed, and enterprise applications.

3. Java ME (Micro Edition): This edition is used to develop applications for mobile devices, such as cell phones. It is also used to develop Personnel Digital Assistants, Setup Box, and printers applications.

We will use Java SE to learn Java programming. Java SE is the foundation upon which all other Java technology is based. There are many versions of Java SE but you download the latest and stable Java SE edition.

Oracle releases each version with a Java Development Toolkit (JDK). For example, for Java SE 8, the Java Development Toolkit is called JDK 1.8 (also known as Java 8 or JDK 8).

List of Java Development Kit (JDK) version

Here, we have listed JDK versions with release dates that are as follows:

1. JDK Beta : 1995
2. JDK 1.0 : January 1996
3. JDK 1.1 : February 1997
4. JDK (J2SE) 1.2 : December 1998
5. JDK (J2SE) 1.3 : May 2000
6. JDK (J2SE) 1.4 : February 2002
7. JDK (J2SE) 5.0 : September 2004
8. JDK (Java SE) 6 : December 2006
9. JDK (Java SE) 7 : July 2011
10. JDK (Java SE) 8 (LTS) : March 2014
11. JDK (Java SE) 9 : September 2017
12. JDK (Java SE) 10 : March 2018
13. JDK (Java SE) 11 (LTS) : September 2018
14. JDK (Java SE) 12 : March 2019
15. JDK (Java SE) 13 : September 2019
16. JDK (Java SE) 14 : March 2020
17. JDK (Java SE) 15 : September 2020
18. JDK (Java SE) 16 : March 2021
19.  JDK (Java SE) 17 (LTS) : September 2021

Here, LTS stands for long-term support.

Confusion Regarding Using JDK and JRE

Often, new Java programmers may confuse about whether to use JDK or JRE. To run Java applications, simply download JRE. To develop Java applications and run them, JDK is useful.

Java developers who want to work in an integrated development environment (IDE), download a JDK bundled with Netbeans from the Oracle website.

Such IDEs speed up the development process by introducing point-and-click and drag-and-drop features for developing an application.

Hope that this tutorial has covered the basic important points associated with “what is JDK“. I hope that you will have understood the basic points of Java platform and Java Development Kit.
Thanks for reading!!!

Next ⇒ Bytecode in Java

⇐ Prev Next ⇒