ShowTutorials.com

Refreshing your ideas and broadening your visions


What is JVM, JRE, JDK and IDE?

Hello readers, in last chapter we learnt what JVM is. In this chapter we will see what is the difference between JVM, JRE and JDK. We will also see what is the use of an IDE. So, lets check them

 

JVM

JVM (Java Virtual Machine) is an abstract machine. It is called a virtual machine because it doesn’t physically exist. It is a specification that provides a runtime environment in which Java bytecode can be executed. It can also run those programs which are written in other languages and compiled to Java bytecode.

JVMs are available for many hardware and software platforms. JVM, JRE, and JDK are platform dependent because the configuration of each OS is different from each other. However, Java is platform independent. There are three notions of the JVM: specification, implementation, and instance.

The JVM performs the following main tasks:

  • Loads code
  • Verifies code
  • Executes code
  • Provides runtime environment

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.

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.

Below is the diagram showing JVM, JRE and JDK

 

jvm-jre-jdk

 


What is an IDE?

Integrated development environments are outstanding tools that help the development by offloading the mechanical tasks from the developer’s shoulders. They recognize many of the programming errors as we type the code, help to find the needed library methods, display the documentation of the libraries and provide extra tools for debugging, style checking, refactoring, code templates, auto-completion, and so on.

To get an IDE, you will need to download and install them. Most of them come with Java support by default. For other, the Java development tools support can be separately downloaded for free and are easy to install.

The three top most IDE’s are Intellij, Eclipse and Netbeans. Microsoft Visual Studio code IDE also supports Java development. All are available in Community version, which means that they are free to use. Though, Intellij Idea has a full version that you can buy. Note that Intellij Idea community version has Java development support, but not for enterprise development.

Download the IDE of your choice from the following links:

Intellij
Eclipse
Netbeans
Microsoft Visual Studio Code

 

Intellij

This IDE is the only one which does not want to be a framework. Intellij is an IDE. it also has plugins and supports many programming languages. IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software. It is developed by JetBrains (formerly known as IntelliJ), and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development

 

Eclipse

Eclipse is supported by IBM. It is a platform for rich client application and it is build around OSGi container architecture. Most of the developers use Eclipse and exclusively, it is the choice of developers who create code for the IBM Websphere application server. The Eclipse special version contains a developer version of Websphere. Eclipse also supports different programming languages.

 

Netbeans

Netbeans is supported by Oracle and continuously developed. It contains Netbeans Profiler that became the part of Oracle Java distribution. Generally, Netbeans is the framework to develop rich client applications and the IDE is the only one application of the many that are built on top of the framework. It supports many languages other than Java. You can develop PHP, C, Javascript code using Netbeans and have similar service for Java.

 

Microsoft Visual Studio Code

Visual Studio Code is a source-code editor made by Microsoft for Windows, Linux and macOS. Visual Studio Code is a source-code editor that can be used with a variety of programming languages, including Java, JavaScript, Go, Node.js, Python and C++. It is based on the Electron framework,[19] which is used to develop Node.js Web applications that run on the Blink layout engine.
Instead of a project system, it allows users to open one or more directories, which can then be saved in workspaces for future reuse. This allows it to operate as a language-agnostic code editor for any language. It supports a number of programming languages and a set of features that differs per language. Unwanted files and folders can be excluded from the project tree via the settings. Many Visual Studio Code features are not exposed through menus or the user interface but can be accessed via the command palette.


Latest Topics: