Components of Java

Computer programming is a continuous and fastest changing arena. One of the purposes of programming is to find a solution to a problem in a typical way. Programmers need to keep updating their knowledge and skills to address new challenges. Besides having a very good programming knowledge, it is very important that they also understand the internal structure of the environment in which they are the writing the code.

In this blog we are going to discuss 3 important components of Java Programming language. Knowing these 3 components is a must for any Java developer. We also suggest you to read our blog on Learn 7 Basics of Java Programming to Start Coding Today, which discusses the basic concepts of Java Programming.

A Java Programmer writes a program in a human-readable language, called Source Code. The CPU or Central Processing Unit or Chips do not understand the source code written in any programming language. These chips or computers understand only one thing: Machine Code or Machine Language. These machine codes run at CPU level; hence, it would be different machine codes for different models of CPU.

We need not to worry about the machine code, as programming for us is all about the source code.  To help the machine to understand the source code, it needs to be converted into a machine level language which is an executable code.

All these functionalities happen inside following 3 components of Java Programming Language:

  • Java Virtual Machine (JVM)
  • Java Runtime Environment (JRE)
  • Java Development Kit (JDK).

Let us discuss these 3 components in the first part of the blog and then in the 2nd part of the blog we will also go through various applications of Java.

What is JVM?

Learn the concept of Java Virtual Machine

As by now we know that a programmer writes the Java program in a language which is not understandable by the machines. So here comes the compiler role, in case of Java programming it is Javac compiler which converts the high-level language into machine understandable language i.e. bytecode as the output.

The Java Virtual Machine (JVM) executes the bytecode generated by the compiler.

JVM performs tasks such as:

  • Loading the code
  • Verifying the code.
  • The execution of the code.

Some of the important notations of JVM are:

  • Specification: It is a document which specifies what is required for JVM implementation
  • Implementation: It is an implementation known as JRE
  • Instance: Whenever you run Java class file, an instance of JVM is created.

What is JRE?

Learn the concept of Java Runtime Environment

JRE stands for Java Runtime Environment. It is a  software package which contains JVM along with Java class libraries and Java class loader. JRE is a superset of JVM. It is used to provide a runtime environment.

JRE is a set of software tools used for the development of Java applications.

What is JDK?

Learn the concept of Java Development Kit

Java Development Kit is a superset of JRE as it contains JRE and development tools. It is a software package which contains a variety of tools and utilities that help to develop, package, monitor and deploy the applications for any Java platforms given below:

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

Now that we have discussed the 3 main components of Java language along with their functionalities and how they are related to each other, we are ready to download Java Development Kit here and start writing Java programs.

With so many different Java terms around it is always to have a Java Glossary handy, which you can refer here.

Programmers write programs to communicate with the computer. However,  each of the many programming languages comes with its own unique features and provides different kinds of applications. As each programming language is different, a particular one might be best suited for a specific purpose or for specific industries.

In continuation of our discussion, now, let us look at some of the applications Java provides.

Some of the applications of Java programs:

Various applications of Java programming
  1. Mobile applications: One of the prominent applications of Java is developing Mobile applications. Java platform, Micro Edition is a cross-platform framework which is used to develop applications across all the Java supporting devices. This framework is used to develop the features of smartphones. Applications for the popular mobile operating system android are developed using Java, using the Android Software Development Kit (SDK) or other environments.
  • Desktop GUI applications: The other important application of Java is that it  provides GUI development through various means like Abstract Windowing Toolkit(AWT), JavaFX and Swing.
  • Web applications: Java provides many web applications through Servlets, Struts and JSP’s. With the flexibility that Java provides, one can easily develop web applications as per the customer requirements.
  • Enterprise applications: Java programming language would be the first choice of developers when it comes to developing enterprise applications because of its features that match the requirements. The application which is distributed in nature such as banking application is the example of enterprise applications. Java EE platform is designed in such a way that reduces the complexity of enterprise application development.
  • Scientific applications: Java is the preferred programming language for developing scientific applications. Most of the scientific software are written in Java.


We hope that the above discussion helped you to understand the 3 main components of Java programming language and also important applications of Java.

Do This Now

If you are looking for a broader picture of this discussion then you need to do a very little thing, just click on online Java courses provided by Simpliv, where you can find list of the entire video tutorials pertaining to Java programming language.

Speak your mind

Apart from the above discussion, if you are looking for any specific blog on Java discussing about any particular concept, then we are here to guide you. Just leave a comment regarding the same below in the comment section so that we will come up with a new blog providing you the relevant information.


Please enter your comment!
Please enter your name here