![](http://image.absoluteastronomy.com/images//topicimages/noimage.gif)
Avian JVM
Encyclopedia
Avian is an open-source
, lightweight Java
virtual machine
(JVM) and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
The VM is implemented from scratch and designed to be small and fast, featuring:
The class library is designed to be as loosely-coupled as possible, allowing optimization tools like ProGuard to aggressively isolate the minimum code needed for an application; this can possibly result in smaller downloads and faster application startup times. Linkage against the OpenJDK
classpath is supported for applications that require a more comprehensive standard library
.
The virtual machine is designed to be embedded along with application classes into a single executable file, which can be run on systems where the Oracle
Java platform isn't installed.
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
, lightweight Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
virtual machine
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...
(JVM) and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
The VM is implemented from scratch and designed to be small and fast, featuring:
- Just-in-time compilationJust-in-time compilationIn computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...
for fast program execution - Generational, copying garbage collectionGarbage collection (computer science)In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program...
to ensure short pause times and good spatial locality - Thread-localThread-local storageThread-local storage is a computer programming method that uses static or global memory local to a thread.This is sometimes needed because normally all threads in a process share the same address space, which is sometimes undesirable...
heaps providing O(1)Big O notationIn mathematics, big O notation is used to describe the limiting behavior of a function when the argument tends towards a particular value or infinity, usually in terms of simpler functions. It is a member of a larger family of notations that is called Landau notation, Bachmann-Landau notation, or...
memory allocation with no synchronization overhead - Null pointer dereferencingReference (computer science)In computer science, a reference is a value that enables a program to indirectly access a particular data item, such as a variable or a record, in the computer's memory or in some other storage device. The reference is said to refer to the data item, and accessing those data is called...
handled via operating system signals to avoid unnecessary branches
The class library is designed to be as loosely-coupled as possible, allowing optimization tools like ProGuard to aggressively isolate the minimum code needed for an application; this can possibly result in smaller downloads and faster application startup times. Linkage against the OpenJDK
OpenJDK
OpenJDK is a free and open source implementation of the Java programming language. It is the result of an effort Sun Microsystems began in 2006...
classpath is supported for applications that require a more comprehensive standard library
Standard library
A standard library for a programming language is the library that is conventionally made available in every implementation of that language. In some cases, the library is described directly in the programming language specification; in other cases, the contents of the standard library are...
.
The virtual machine is designed to be embedded along with application classes into a single executable file, which can be run on systems where the Oracle
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...
Java platform isn't installed.
See also
- Java (programming language)Java (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
- Java Virtual MachineJava Virtual MachineA Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...
- List of Java virtual machines
- Open sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...