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