- Java Virtual Machine
- Figures from this paper
- 334 Citations
- CONSIDERATIONS ON PORTING PERL TO THE JAVA VIRTUAL MACHINE
- Parallelism of Java Bytecode Programs and a Java ILP Processor Architecture
- Byte Code Engineering with the BCEL API
- A Brief study on JVM
- A type system for object initialization in the Java bytecode language
- Communication Performance of Java-Based Parallel Virtual Machines
- Techniques for obtaining high performance in Java programs
- An annotation-aware Java virtual machine implementation
- Java Bytecode-to-.NET MSIL Translator for Construction of Platform Independent Information Systems
- AJVM — JAVA Virtual Machine Implemented in Actionscript 3.0
- The Java Virtual Machine Specification, Java SE 8 Edition
- Tables from this paper
- 216 Citations
- Dynamic class initialization semantics: a Jinja extension
- Maxine: An approachable virtual machine for, and in, java
- JNIF: Java native instrumentation framework
- Selected tools for Java class and bytecode inspection in the educational environment
- From CIL to Java bytecode: Semantics-based translation for static analysis leveraging
- Java reflection API: revealing the dark side of the mirror
- Exceptionization: A Java VM Optimization for Non-Java Languages
- A Proposal for Native Java Language Support for Handling Asynchronous Events
- Java-to-JavaScript translation via structured control flow reconstruction of compiler IR
- Inside the Java Virtual Machine
- 128 Citations
- Securing Sensitive Data in Java Virtual Machines
- The Delft-Java Engine
- Distributed object invocation in OBIWAN
- Ravenscar-Java: Java Technology for High-Integrity Real-Time Systems
- Remote Policy Enforcement Using Java Virtual Machine
- Approaches to Make the Decompiled Java Programs Uncompilable
- A Virtual Machine for Multi-Language Execution
- Partial Fulfillment of the Requirements for the Degree of by Transparent Remote Execution of Java Threads
- Jato: a compact binary file format for Java class
- Native JCSP – the CSP for Java Library with a Low-Overhead CSP Kernel
Java Virtual Machine
This text is a comprehensive programming guide for the Java Virtual Machine, providing an overview and reference of the JVM, and it enbles users to create their own implementations of theJVM or write their own compilers that create Java object code. Expand
Figures from this paper
334 Citations
CONSIDERATIONS ON PORTING PERL TO THE JAVA VIRTUAL MACHINE
This thesis presents a survey of possible approaches for porting non-Java languages to the JVM, and a framework for the future work required to complete a Perl port to theJVM (via Kawa) is given. Expand
Parallelism of Java Bytecode Programs and a Java ILP Processor Architecture
This paper investigates the potential parallelism of Java bytecodes and describes a Java processor architecture which aims to exploit instruction level parallelism (ILP), and develops an architectural simulator which evaluates the performance of various configurations. Expand
Byte Code Engineering with the BCEL API
An API is introduced that helps developers to conveniently implement their transformations of Java classes by transforming the byte code after compile-time, or at load-time. Expand
A Brief study on JVM
The working and architecture of Java Virtual Machine (JVM) is described, which provides platform independent property to any java program, and its memory management and the flow of execution of a program. Expand
A type system for object initialization in the Java bytecode language
A precise specification of statically-correct Java bytecode, in the form of a type system, is developed and it is proved that for every Javabytecode program that satisfies the authors’ typing constraints, every object is initialized before it is used. Expand
Communication Performance of Java-Based Parallel Virtual Machines
This paper compares the performance between tradition PVM implemented in C code, Java code interfaced to the traditional PVM libraries (JavaPVM), and Java code that performs functions equivalent to thetraditional PVM library (JPVM). Expand
Techniques for obtaining high performance in Java programs
This survey describes research directions in techniques to improve the performance of programs written in the Java programming language and discusses the basis features, and the advantages and disadvantages, of the various Java execution techniques. Expand
An annotation-aware Java virtual machine implementation
An alternative to an optimizing JIT compiler that makes use of code annotations generated by a Java bytecode compiler, which then uses this information to produce high performance native code without performing much of the necessary analyses or transformations is presented. Expand
Java Bytecode-to-.NET MSIL Translator for Construction of Platform Independent Information Systems
The java bytecode-to-.NET MSIL translator system is presented, to construct a platform independent information system, which enables the execution of the java program in .NET environment without JVM, translating bytecodes produced by compiling java programs into MSIL codes. Expand
AJVM — JAVA Virtual Machine Implemented in Actionscript 3.0
The concept and implementation details of AJVM – state-of-the art Java Virtual Machine (JVM) implemented in ActionScript 3.0 are described and the subset of features specified in JVM Specification v.2 supported by AJVM has been chosen in a way which enables the machine to be used in many practical applications both in the commercial context as well as in science. Expand
The Java Virtual Machine Specification, Java SE 8 Edition
The Java Virtual Machine Specification gives the formal Prolog specification of the type-checking verifier introduced in Java SE 6.0, and aligns the instruction set and initialization rules with the Java Memory Model. Expand
Tables from this paper
216 Citations
Dynamic class initialization semantics: a Jinja extension
Jinja is extended to include support for static instructions and dynamic class initialization, and related proofs are extended and re-prove, including Java-level type safety, equivalence between Java- level big-step and small-step semantics, and the correctness of a compilation from the Java level to the JVM level through J1. Expand
Maxine: An approachable virtual machine for, and in, java
The Maxine VM, a metacircular Java VM implementation, has aggressively used these features since its inception and a co-designed companion tool, the Maxine Inspector, offers integrated debugging and visualization of all aspects of the VM’s runtime state. Expand
JNIF: Java native instrumentation framework
JNIF is introduced, the first complete bytecode rewriting framework implemented in native code, which can be used in a JVMTI agent to create isolated, full-coverage, in-process dynamic instrumentation tools. Expand
Selected tools for Java class and bytecode inspection in the educational environment
This paper presents some behind-the-scene details about the Java Virtual Machine and shows how these details could be used in the educational process to demonstrate the differences and to emphasise the advantages of the dynamic programming approach when compared to the static one. Expand
From CIL to Java bytecode: Semantics-based translation for static analysis leveraging
Java reflection API: revealing the dark side of the mirror
A technique to detect underdetermined specifications and non-conformances between the Javadoc and the implementations of the Java Reflection API is proposed and evaluated. Expand
Exceptionization: A Java VM Optimization for Non-Java Languages
This article introduces a simple and novel technique for the JVM JIT compiler called exceptionization to improve the performance of JVM-based language runtimes and finds that exceptionization is more effective to apply to the branch bytecode of the language runtime itself than the bytecode corresponding to the application code or the bytecodes of the Java class libraries. Expand
A Proposal for Native Java Language Support for Handling Asynchronous Events
This work proposes an extension to the Java language to allow for both executing asynchronous methods and handling asynchronous events occurring during normal execution, as a straightforward, class coupling-free and native alternative. Expand
Java-to-JavaScript translation via structured control flow reconstruction of compiler IR
This work presents an approach to cross-compile Java bytecodes to Java-Script, building on existing Java optimizing compiler technology, based on Graal, an open-source optimizing compiler for the Java HotSpot VM and other VMs. Expand
Inside the Java Virtual Machine
This is an individual practical exercise which requires you to submit some files electronically. A system which measures software similarity will be used to compare all of the submissions in order to … Expand
128 Citations
Securing Sensitive Data in Java Virtual Machines
This paper presents a prototype of a secure Java API, implemented using direct Byte buffer so that sensitive data are not managed by JVM garbage collection and implemented using obfuscation so that data are encrypted. Expand
The Delft-Java Engine
The DELFT-JAVA engine — a 32-bit RISC-based architecture that provides high performance JAVA program execution is described and the concept of J AVA dynamic instruction translation, a new approach to JAVa hardware acceleration is introduced. Expand
Distributed object invocation in OBIWAN
OBIWAN provides hooks for the application programmer to implement a set of application specific properties such as transactional support, for example, and allows the programmer to easily replace, in run-time, remote by local invocations, thus improving the performance of his application and its adaptability. Expand
Ravenscar-Java: Java Technology for High-Integrity Real-Time Systems
The Ravenscar-Java profile is motivated by the assessment and overcomes most of the shortcomings revealed in the assessment, yet still maintaining the advantages of Java and RTSJ, and its potential as a base development language for high integrity applications is shown. Expand
Remote Policy Enforcement Using Java Virtual Machine
This work was carried out in the ASCI graduate school and the former colleagues at BT: who hosted me and provided great work environments and welcome break from Ph.D. work are thanked. Expand
Approaches to Make the Decompiled Java Programs Uncompilable
Several techniques are proposed to introduce syntax and semantic errors into the decompiled program while keeping the original behaviors of the bytecode. Expand
A Virtual Machine for Multi-Language Execution
The architecture of a virtual machine designed specifically for the execution of multiple languages, which is to provide both for ample reuse and simple language implementation, concerning both compilers and runtime components, and to be a platform for language interoperation. Expand
Partial Fulfillment of the Requirements for the Degree of by Transparent Remote Execution of Java Threads
Modifications to the Java virtual machine are discussed so that it can, transparently to the user, migrate threads to remote hosts, thereby maintaining Java’s full 100% portability. Expand
Jato: a compact binary file format for Java class
It is shown that the Jato file format is effective and promising, while still keeping the cross-platform features of Java. Expand
Native JCSP – the CSP for Java Library with a Low-Overhead CSP Kernel
The paper looks at the problem of maintaining backward compatibility by preserving the functionality of the existing threads mechanism on which much legacy code depends, and the performance displayed by the current prototype JVM and contrasting it with the performance of both Green and Native Java Threads. Expand