Copyright © Philip M. Parker, INSEAD. Terms of Use.

JAVA VIRTUAL MACHINE

Specialty Definition: JAVA VIRTUAL MACHINE

DomainDefinition

Computing

Java Virtual Machine (JVM) A specification for software which interprets Java programs that have been compiled into byte-codes, and usually stored in a ".class" file. The JVM instruction set is stack-oriented, with variable instruction length. Unlike some other instruction sets, the JVM's supports object-oriented programming directly by including instructions for object method invocation (similar to subroutine call in other instruction sets). The JVM itself is written in C and so can be ported to run on most platforms. It needs thread support and I/O (for dynamic class loading). The Java byte-code is independent of the platform. There are also some hardware implementations of the JVM. Specification (http://www.javasoft.com/docs/books/vmspec/html/VMSpecTOC.doc.html). Sun's Java chip (http://news.com/News/Item/0,4,9328,00.html). [Documentation? Versions?] (2000-01-03). Source: The Free On-line Dictionary of Computing.

Source: compiled by the editor from various references; see credits.

Top     

Specialty Definition: Java virtual machine

(From Wikipedia, the free Encyclopedia)

The Java virtual machine or JVM is a virtual machine that runs Java byte code, the code produced by a Java compiler or compilers from other languages which produce this code.

Programs written in Java are compiled into a standardized portable binary format, which typically comes in the form of files with the .class extension. A program may consist of many classes, in which case, every class will be in a different file. The first 4 bytes in hexadecimal of each class must be CA FE BA BE. Class files may be packaged together in a .jar file, with the exact same format as a .zip file, optionally with a few extra special files added.

This binary is then interpreted at runtime by a JVM. The main interpretation loop is described by the following pseudo-code

do {
    fetch an opcode;
    if (operands) fetch operands;
    execute the action for the opcode;
} while (there is more to do);

The JVM has a stack based architecture. Each thread has its own program counter.

The JVM has instructions for the following groups of tasks

Each particular operating system needs a JVM specifically for it. These JVMs interprete the byte code semantically the same way. But the actual implementation may be different.

The specification for the JVM is published in book form and HTML and anybody is allowed to write an implementation of it. The preface states:

We intend that this specification should sufficiently document the Java Virtual Machine to make possible compatible clean-room implementations. Sun provides tests which verify the proper operation of implementations of the Java Virtual Machine.

See www.kaffe.org for an example of a group of developers having done this.

See also:

External Link

Source: adapted by the editor from Wikipedia, the free encyclopedia under a copyleft GNU Free Documentation License (GFDL) from the article "Java virtual machine."

Top     


Crosswords: JAVA VIRTUAL MACHINE

Specialty definitions using "JAVA VIRTUAL MACHINE": byte-code, byte-code interpreterInsignia Solutions, Inc.Java VM, JVMVirtual Machine. (references)

Source: compiled by the editor from various references; see credits.

Top     

Commercial Usage: JAVA VIRTUAL MACHINE

DomainTitle

Books

Source: compiled by the editor from various references; see credits.

Top     

Frequency of Internet Keywords: JAVA VIRTUAL MACHINE

The following statistics estimate the number of searches per day across the major English-language search engines as identified by various trade publications. Hyperlinks lead to commercial use of the expression at Amazon.com.
 
ExpressionFrequency
per Day

java virtual machine

5,288
Source: compiled by the editor from various references; see credits.

Top     

Alternative Orthography: JAVA VIRTUAL MACHINE


Hexadecimal (or equivalents, 770AD-1900s) (references)

4A 41 56 41      56 49 52 54 55 41 4C      4D 41 43 48 49 4E 45

Leonardo da Vinci (1452-1519; backwards) (references)

        

Binary Code (1918-1938, probably earlier) (references)

01001010 01000001 01010110 01000001 00100000 01010110 01001001 01010010 01010100 01010101 01000001 01001100 00100000 01001101 01000001 01000011 01001000 01001001 01001110 01000101

HTML Code (1990) (references)

&#74 &#65 &#86 &#65 &#32 &#86 &#73 &#82 &#84 &#85 &#65 &#76 &#32 &#77 &#65 &#67 &#72 &#73 &#78 &#69

ISO 10646 (1991-1993) (references)

004A 0041 0056 0041      0056 0049 0052 0054 0055 0041 004C      004D 0041 0043 0048 0049 004E 0045

Encryption (beginner's substitution cypher): (references)

44355635256435254553546247353742434839

Top     



INDEX

1. Crosswords
2. Usage: Commercial
3. Expressions: Internet
4. Orthography
5. Bibliography


  

Copyright © Philip M. Parker, INSEAD. Terms of Use.