Home
Dictionary
Tags
Development
Java Virtual Machine (JVM)
Definition - What does
Java Virtual Machine (JVM)
mean?
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.
Techopedia explains
Java Virtual Machine (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. 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.
Posted by:
Cory Janssen
Tweet
Tweet
Related Terms
Java Runtime Environment (JRE)
Bytecode
Abstract Window Toolkit (AWT)
Application Client Container (ACC)
Groovy
Jikes
Related Videos
Related Links
Why Is Java Preferred to Other Languages as a Building Block?
- Despite a few flaws, no other language matches up to Java in terms of flexibility and seamless integration with other frameworks and technologies.
Related White Papers
Other Resources
Related Tags
Categories:
Development
Operating Systems
Java
Programming Languages
Recommended For You
close
Gaming Principles and the Future Virtual World
Read More
»
Connect with us
Techopedia on Linkedin
Follow us on LinkedIn
Techopedia on Twitter
'@Techopedia'
Sign up for Techopedia's Free Newsletter!
Sign-In
Join Techopedia
Home
Dictionary
Articles
Tutorials
Newsletters
Menu
Home
Dictionary
Articles
Tech 101
How To
5 Things
IT Careers
History of Tech
Tutorials
Hot Trends
Big Data
Windows 8
Security
Cloud Computing
Data Centers
Mobile Computing
CRM
Green IT
Storage
Virtualization
Online Privacy
Job Roles
Developers
Network Admins
Database Admins
Tech Support
IT Management
Water Cooler
Infographics
Who To Follow
All Topics
Hacking
Online Marketing
Buzzwords and Jargon
Viruses
Operating Systems
Legal
People
Search Engines
World Wide Web
Personal Tech
Gaming
Linux
Internet