JVM (Java Virtual Machine) is a machine that is abstract. Because it is a virtual machine, it doesn’t actually exist. It is a specification that offers a runtime setting for the execution of Java bytecode. Additionally, it can execute programmes that were translated from another language into Java bytecode.
For numerous hardware and software platforms, JVMs are accessible. Because each OS has a unique configuration, the JVM, JRE, and JDK are platform-dependent. Java, however, is independent of platform. The JVM has three concepts: instance, implementation, and specification.
The following are the primary functions of the JVM:
- Loads code
- Verifies code
- Executes code
- Provides runtime environment
The key JVM characteristics are listed below:
- You can use it to execute programmes on your device or in a cloud environment.
- Byte code is transformed into machine-specific code via the Java Virtual Machine.
- It offers fundamental Java features including garbage collection, security, and memory management.
- JVM uses the libraries and files provided by the Java Runtime Environment to execute the programme.
- Java Virtual Machine is present in both JDK and JRE.
- It can run Java programmes line by line, which is why it is also known as an interpreter.
- JVM can be simply customised, for instance, you can give it a minimum and maximum amount of memory.
- It is not dependent on the operating system or hardware. A Java programme can therefore be created once and executed anywhere.
The term “JRE” stands for “Java Runtime Environment.” Java RTE is another way to write it. A collection of software tools called the Java Runtime Environment is used to create Java applications. To provide the runtime environment, it is employed. It is how the JVM is implemented. It really does exist. It has a collection of libraries and additional files that the JVM uses at runtime.
Other businesses besides Sun Micro Systems actively release the JVM implementation.
Features of JRE
The key JRE characteristics are listed below:
- The JVM is really run by a set of tools called the Java Runtime Environment.
- Deployment tools like Java Web Start and Java Plug-in are included in JRE.
- The Java programme cannot be written or compiled by the developer, but they can easily run the source code in JRE.
- It provides integration libraries like Java Naming and Directory Interface (JNDI), Remote Method Invocation (RMI), and Java Database Connectivity (JDBC).
- JVM and Java HotSpot virtual machine clients are included in JRE.
Java Development Kit is referred to as JDK. Java programmes and applets are created using the Java Development Kit (JDK), a software development environment. It is indeed there. JRE and development tools are included.
JDK is an implementation of any of the Java Platforms listed below, all of which were made available by Oracle Corporation:
- Standard Edition Java Platform
- Enterprise Edition Java Platform
- Micro Edition Java Platform
To finish the creation of a Java application, the JDK includes a private Java Virtual Machine (JVM) as well as a few other resources, including an interpreter/loader (java), a compiler (javac), an archiver (jar), a documentation generator (Javadoc), etc.
Features of JDK
The key characteristics of JDK are listed below:
- You can manage several extensions in a single catch block thanks to it.
- All of JRE’s functionality are present in JDK.
- It includes development tools like a compiler and a debugger.
- The environment needed to create and run Java source code is provided by JDK.
- On Windows, Unix, and Mac operating systems, it can be installed.
- Instead of expressing a precise type interface, a generic type interface can be specified using the diamond operator.