What is Java

Java is a programming language and a computing platform. Java is a high level, robust, object-oriented and secure programming language. Java was developed by Sun Microsystems (which is now the subsidiary of Oracle) in the year 1995.  Before Java, its name was Oak. James Gosling is known as the father of Java.
Over time, several trial versions were created, and the initial goals were modified. In 1996, Sun Microsystems released its first public implementation of Java as JDK 1.0. Eventually, Oracle Corporation acquired Java.

Java Editions

The Java platform is divided into several editions, each intended for a specific type of program:

  • Java SE (Standard Edition) – The most commonly used edition for standard programs on personal computers.
  • Java ME (Micro Edition) – Intended for writing programs for devices with reduced hardware capabilities.
  • Java EE (Enterprise Edition) – An enterprise platform mainly used to develop web and enterprise applications. It is intended for the most demanding programs with distributed, service-oriented mode, and consists of Enterprise JavaBeans, Java Server Pages, and Servlets.
  • JavaFX – Used to develop internet applications.
  • Java Card – Intended for programming smart cards and other small-memory devices.

Types of Java Applications

There are four main types of Java programs:

  • Standalone applications are programs executed under the control of a Java Virtual Machine (JVM) interpreter on a computer. They are also known as desktop applications.
  • Web applications are client-server software applications that run on the client-side. Servlets, JSPs, and JSFs are commonly used to create web applications.
  • Enterprise applications are designed to solve problems encountered by large enterprises, such as banking applications. They have the advantages of high-level security, load balancing, and clustering. EJB is used for creating enterprise applications.
  • Mobile applications are applications developed to run on mobile phones and tablets.

Java-related software has been free since its inception, which has significantly contributed to its popularity and development.

Is Java free to download?

Yes, Java is free to download for personal use.
Java is also free for development: developers can find all the development kits and other useful tools at https://www.oracle.com/javadownload/.

JVM

The Java Virtual Machine (JVM) is a crucial component of the Java platform. It is an abstract machine that provides a runtime environment for Java programs to execute. The JVM is responsible for interpreting compiled Java code and translating it into machine code that can be executed by the computer’s operating system.

One of the main advantages of the JVM is that it provides a platform-independent execution environment for Java programs. This means that a Java program compiled on one platform can be executed on any other platform that has a compatible JVM implementation. This makes Java programs highly portable and versatile.

The JVM is also responsible for several other important tasks, such as memory management, garbage collection, and security. It provides a sandboxed environment for executing Java programs, which ensures that they cannot access system resources or execute malicious code.

JDK

JDK is an acronym for Java Development Kit. The Java Development Kit (JDK) is a software development environment which is used to develop Java applications and applets. It physically exists. It contains JRE + development tools.

JDK is an implementation of any one of the below given Java Platforms released by Oracle Corporation:

  • Standard Edition Java Platform
  • Enterprise Edition Java Platform
  • Micro Edition Java Platform

The JDK contains a private Java Virtual Machine (JVM) and a few other resources such as an interpreter/loader (java), a compiler (javac), an archiver (jar), a documentation generator (Javadoc), etc. to complete the development of a Java Application.

JRE

JRE is an acronym for Java Runtime Environment. It is also written as Java RTE. The Java Runtime Environment is a set of software tools which are used for developing Java applications. It is used to provide the runtime environment. It is the implementation of JVM. It physically exists. It contains a set of libraries + other files that JVM uses at runtime.

The implementation of JVM is also actively released by other companies besides Sun Micro Systems.

Java Standard Library

The Java Standard Library (JSL) is a set of libraries included with the Java Development Kit (JDK) that provides a wide range of functionality for developing Java applications. The JSL consists of a number of packages that provide classes and interfaces for common programming tasks, such as file I/O, networking, and working with collections.

Here are some of the main packages in the JSL:

  • java.lang: This package provides fundamental classes and interfaces that are used throughout the Java language, such as Object, String, and Math.
  • java.util: This package provides classes and interfaces for working with collections, such as ArrayList and HashMap, as well as utility classes for working with dates, random numbers, and other common tasks.
  • java.io: This package provides classes and interfaces for performing input and output operations, such as reading and writing files, working with streams, and handling serialization.
  • java.net: This package provides classes and interfaces for networking, such as working with sockets and URLs, and communicating over various protocols such as HTTP and FTP.
  • java.awt and javax.swing: These packages provide classes and interfaces for creating graphical user interfaces (GUIs) in Java.

In addition to these core packages, the JSL also includes many other packages for working with XML, security, concurrency, and other topics.

When developing Java applications, it is important to understand the JSL and how to use it effectively. Many common programming tasks can be accomplished using classes and interfaces provided by the JSL, which can save time and effort in writing custom code.

10 thoughts on “What is Java”

Leave a Comment