Article | REF: H1588 V2

Java virtual machine (JVM)

Author: Jean-Michel DOUIN

Publication date: August 10, 2013

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

ABSTRACT

Due to its success Java has become the programming language of the Internet. This article presents a synthetic and ideal architecture of the virtual machine, together with the format of the compiled file and a subset of the instruction set. The machine instructions are grouped by family and their description is associated with the Java source codes that have generated them. Although the advantages of this solution are known and numerous, the major drawback remains the additional cost in execution time.

Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

Read the article

AUTHOR

 INTRODUCTION

The popularity of the Web has promoted Java as a programming language on the Internet. This success was initially due to the integration of a Java virtual machine within every browser. The Java language gradually gained acceptance in the academic world and in industry too. The Java Virtual Machine (JVM) can be found on many architectures, including application servers, cash registers, cell phones and SIM cards. The virtual machine has evolved little in over fifteen years, which is remarkable in the world of computing. The intermediate code generated by compiling a Java source code is loaded and executed by the virtual machine. Execution of the same intermediate code on any platform means that Java developers can distribute their programs widely. The virtual machine and associated libraries guarantee that Java code can be run independently of operating system and hardware architecture. The Java virtual machine components and intermediate code format enable access to remote objects and code deployment across the network. These features are essential in a distributed environment and contribute to the current success of the language and the virtual machine. The Java machine is a program that interprets instructions transmitted over the network or extracted from a local file.

The advantages of this tried-and-tested solution are many and well-known:

  • the code is portable to any platform, since each platform simply needs an interpreter for this code and the libraries for accessing the host machine's resources;

  • loaded code can be verified on loading. Code verification is essential in an open environment like the Internet;

  • code is generally more compact. The architecture of the Java machine is of the stack machine type, with the operands of instructions becoming implicit, generating a smaller code size than a traditional register machine.

The major drawback is the extra cost in runtime due to this additional software layer.

The machine's architecture is linked to the concepts of object-oriented programming, but the machine remains independent of the programming language. The only input type accepted by the machine is the type of the compiled file. The format of this file has enabled several consequent extensions of the Java language without any modification to the machine.

You do not have access to this resource.

Exclusive to subscribers. 97% yet to be discovered!

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


The Ultimate Scientific and Technical Reference

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

KEYWORDS

architecture   |  


This article is included in

Software technologies and System architectures

This offer includes:

Knowledge Base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

Practical Path

Operational and didactic, to guarantee the acquisition of transversal skills

Doc & Quiz

Interactive articles with quizzes, for constructive reading

Subscribe now!

Ongoing reading
Java Virtual Machine (JVM)
Outline