Overview
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 articleAUTHOR
-
Jean-Michel DOUIN: Engineer and doctor from CNAM - Teacher/researcher at CNAM
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.
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
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
Java Virtual Machine (JVM)
Bibliography
- (1) - GOSLING (J.), JOY (B.), STEELE (G.) - The java language specification. - http://www.java.sun.com/docs/books/jls
- (2) - LINDHOLM (T.), YELLIN (Y.) - The java virtual machine specification....
Websites
Garbage – First Collector https://docs.oracle.com/javase/9/gctuning/garbage-first-garbage-collector.htm#JSGCT-GUID-ED3AB6D3-FD9B-4447-9EDF-983ED2F7A573
Directory
Manufacturers (non-exhaustive list)
Dallas Semiconductor http://www.maxim-ic.com
Ajile Systems http://www.ajile.com
Oracle http://www.oracle.com/fr
Organizations
...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