What is Java

Summary: in this tutorial, you will learn what Java is, why Java is widely used, and more importantly what it can do for you.

Introduction to Java programming language and its ecosystem

When people talk about Java, they may mean three things:

  • Java programming language.
  • Java Standard Edition (Java SE) API.
  • Java virtual machine (JVM).

Java is a high-level, object-oriented programming language. Java is widely used for building a wide range of applications from web and mobile apps to enterprise applications.

Java SE API provides the core functionality of the Java programming language. Java SE defines the basic types, objects, and rich APIs for networking, security, database access, and GUI framework.

Java Virtual Machine or JVM manages application memory and provides a portable execution environment for Java applications.

JDK

The JDK is a software development kit that contains everything you need to create, compile, and run Java applications. JDK includes the following components:

  • The Java SE libraries
  • A Java compiler (javac) for compiling the Java source code into bytecode
  • Debugging tools
  • Other utilities

JRE

The Java Runtime Environment or JRE is a subset of the JDK. The JRE provides the runtime environment for executing Java applications.

The JRE includes the Java Virtual Machine (JVM) along with the Java SE libraries and other runtime components necessary for running Java applications.

Java EE

Java EE stands for Java Enterprise Edition, now known as Jakarta EE. Java EE is a set of specifications for building enterprise-level, scalable, and robust applications.

Java EE has the following major implementations:

  • Oracle Web Logic Server
  • Jakarta EE
  • IBM WebSphere

These implementations offer the runtime environment and tools necessary to deploy, manage, and run Jakarta EE applications.

How Java works

  • First, you write Java source code using Java programming language and use Java SE to interact with the subsystems like databases.
  • Second, you compile the Java source code into something called bytecode.
  • Third, you use JVM to execute the bytecode. The JVM translates the bytecode to actual machine code and runs it.

Thanks to portable JVM, Java programs can run across operating systems including Windows, Linux, and macOS.

What can Java do for you

Java allows you to develop a wide range of applications including:

  • Desktop applications.
  • Mobile applications.
  • Web applications and cloud services.

Java is very strong in developing web applications and cloud services.

Java philosophy

Write Once, Run Anywhere: Java is platform-independent, allowing you to write code that can run on any system with compatible JVM. It achieves cross-platform via bytecode compilation and execution.

Object-oriented Programming: Java embraces object-oriented programming principles, allowing you to create reusable and robust code through the use of classes and objects.

Reliability: In Java, it’s preferred to write understandable code to short and clever code.

Stability: Java aims for backward compatibility. It means that the code written in the earlier version will work in the later version. Java always tries to minimize the breaking changes.

Community-oriented: Java has a vibrant community and is developed with feedback from a wide range of contributors, both individual developers and organizations. It is estimated that there are about 10 million Java developers at the time of writing this tutorial.

Java versions

The following table shows the Java versions with release dates:

Java VersionRelease Date
JDK 1.0January 23, 1996
JDK 1.1February 2, 1997
J2SE 1.2December 4, 1998
J2SE 1.3May 8, 2000
J2SE 1.4February 13, 2002
Java SE 5September 29, 2004
Java SE 6December 11, 2006
Java SE 7July 28, 2011
Java SE 8 (LTS)March 18, 2014
Java SE 9September 21, 2017
Java SE 10March 20, 2018
Java SE 11 (LTS)September 25, 2018
Java SE 12March 19, 2019
Java SE 13September 17, 2019
Java SE 14March 17, 2020
Java SE 15September 15, 2020
Java SE 16March 11, 2021
Java SE 17 (LTS)September 14, 2021
Java SE 18March 22, 2022
Java SE 19September 20, 2022
Java SE 20March 21, 2023
Java SE 21 (LTS)September 19, 2023

Summary

  • Java ecosystem includes Java programming language, Java standard edition (SE) API, and Java Virtual Machine (JVM).
  • JDK is a Java Development Kit that includes Java SE and JVM.
  • Java EE is a set of specifications for developing enterprise applications.
  • Java allows you to develop desktop applications, web applications, mobile applications, and cloud services.