Prof B N Kshirsagar
The Java Virtual Machine provides a
platform-independent way of executing
code, by abstracting the differences
between
operating systems and
CPU architectures.
Java Runtime Environments
are available for a wide
variety of hardware and
software combinations,
making Java a very portable
language.
The idea of virtual machines
is nothing new, but Java is
the most widely used virtual
machine used today. Thanks
to the JVM, the dream of
Write Once-Run Anywhere
(WORA) software has
become a reality.
Programmers can concentrate
on writing software, without
having to be concerned with
how or where it will run
 Java is both a compiled and an
interpreted language. Java source code
is turned into simple binary instructions,
much like ordinary microprocessor
machine code. However, whereas C or
C++ source is reduced to native
instructions for a particular model of
processor, Java source is compiled into
a universal format—instructions for
a virtual machine.
 The Java Virtual Machine (JVM) is an
abstraction layer between a Java
application and the underlying platform.
As the name implies, the JVM acts as a
“virtual” machine or processor. To the
bytecodes comprising the program, they
are communicating with a physical
machine; however, they are actually
interacting with the JVM.
JVM allows Java portability to execute within platform and hardware-
independent applications. It's a big part of the "write once, run
anywhere (WORA)" philosophy. The JVM is actually part of the Java
Runtime Environment (JRE). It is the JRE (JVM plus base classes) that
enables Java bytecode to run on any platform. Bytecodes, which are
interpreted by the JVM, simply call classes found in the JRE when they
need to perform actions they cannot do by themselves. Some actions,
like those directed to the underlying hardware or the operating system,
are performed by the JVM. Bytecodes lack functionality by themselves
and need the JVM to do many tasks for them. This perceived limitation is
actually an advantage. First, it allows Java programs to be very small
compared to other executable programs. Second, and more
importantly, it allows them to be very portable
Resource: https://www.techopedia.com/definition/3376/java-virtual-
machine-jvm
Since each JVM is tailor-made for a
specific platform, a Java program cannot
run on it unless:
(1) An appropriate JVM has been created
for it, and;
(2) That JVM has been installed on it. The
portability of Java programs are
therefore fully dependent on the
presence of a specific JVM.
Communication between
an application and
each underlying platform
can be very sophisticated, but the JVM handles it well by
providing a layer of abstraction between the two.
As such, developers do not need to be aware of the
intricacies involved for each application-platform pair.
The Java Virtual Machine forms part of a large system,
the Java Runtime Environment (JRE).
Each operating system and CPU architecture requires a
different JRE.
The JRE comprises a set of base classes, which are an
implementation of the base Java API, as well as a JVM.
Without an available JRE for a given environment, it is
impossible to run Java software.

Java Virtual Machine

  • 1.
    Prof B NKshirsagar
  • 2.
    The Java VirtualMachine provides a platform-independent way of executing code, by abstracting the differences between operating systems and CPU architectures.
  • 3.
    Java Runtime Environments areavailable for a wide variety of hardware and software combinations, making Java a very portable language. The idea of virtual machines is nothing new, but Java is the most widely used virtual machine used today. Thanks to the JVM, the dream of Write Once-Run Anywhere (WORA) software has become a reality. Programmers can concentrate on writing software, without having to be concerned with how or where it will run
  • 4.
     Java isboth a compiled and an interpreted language. Java source code is turned into simple binary instructions, much like ordinary microprocessor machine code. However, whereas C or C++ source is reduced to native instructions for a particular model of processor, Java source is compiled into a universal format—instructions for a virtual machine.
  • 5.
     The JavaVirtual Machine (JVM) is an abstraction layer between a Java application and the underlying platform. As the name implies, the JVM acts as a “virtual” machine or processor. To the bytecodes comprising the program, they are communicating with a physical machine; however, they are actually interacting with the JVM.
  • 8.
    JVM allows Javaportability to execute within platform and hardware- independent applications. It's a big part of the "write once, run anywhere (WORA)" philosophy. The JVM is actually part of the Java Runtime Environment (JRE). It is the JRE (JVM plus base classes) that enables Java bytecode to run on any platform. Bytecodes, which are interpreted by the JVM, simply call classes found in the JRE when they need to perform actions they cannot do by themselves. Some actions, like those directed to the underlying hardware or the operating system, are performed by the JVM. Bytecodes lack functionality by themselves and need the JVM to do many tasks for them. This perceived limitation is actually an advantage. First, it allows Java programs to be very small compared to other executable programs. Second, and more importantly, it allows them to be very portable Resource: https://www.techopedia.com/definition/3376/java-virtual- machine-jvm
  • 9.
    Since each JVMis tailor-made for a specific platform, a Java program cannot run on it unless: (1) An appropriate JVM has been created for it, and; (2) That JVM has been installed on it. The portability of Java programs are therefore fully dependent on the presence of a specific JVM.
  • 10.
    Communication between an applicationand each underlying platform can be very sophisticated, but the JVM handles it well by providing a layer of abstraction between the two. As such, developers do not need to be aware of the intricacies involved for each application-platform pair.
  • 11.
    The Java VirtualMachine forms part of a large system, the Java Runtime Environment (JRE). Each operating system and CPU architecture requires a different JRE. The JRE comprises a set of base classes, which are an implementation of the base Java API, as well as a JVM. Without an available JRE for a given environment, it is impossible to run Java software.