Java 虚拟机一览表

免费和开源的 Java 虚拟机

  • AegisVM (inactive since 2004).
  • Apache Harmony — supports several architectures and systems. Discontinued November 2011. Apache License 2.0.
  • Avian — A small, easily embeddable Java VM and classpath using just-in-time compilation.
  • Azul Zulu — is an OpenJDK build supported by Azul Systems. It is open source and free to download. The initial release ran on Windows Server 2008 R2 and 2012 on the Windows Azure Cloud. Release in January 21, 2014 supports multiple versions of Linux as well as Amazon Web Services, Rackspace and various hypervisors. Also added an Enterprise version with subscription support available. In June 2014 Mac OS X support was added. [1]
  • Bck2Brwsr — small JVM capable to boot fast and run in 100% of modern browsers including those that have no special support for Java. Last release in September, 2013.
  • CACAO — uses GNU Classpath, supports multiple architectures. GPL. 1.6.0 released September 4, 2012.
  • GCJ the GCC Java compiler, that compiles either to bytecode or to native machine code. The product is currently in maintenance mode.
  • HaikuVM, for Atmel AVRs (Arduino) and other micros using the leJOS runtime.

HotSpot, the primary reference Java VM implementation.

  • IcedTea — has the only working free software Java Web browser plugin. GPL+linking exception.
  • IKVM.NET — Java for Mono and the Microsoft .NET Framework. Uses OpenJDK. Zlib License.
  • Jamiga — for the Amiga platform. Depends on GNU Classpath. GPL.
  • JamVM — Developed to be an extremely small virtual machine compared to others. Designed to use GNU Classpath. Supports several architectures. GPL.
  • Jaos — Java on Active Object System. Uses GNU Classpath as a standard library. Unmaintained.
  • Jato VM — uses GNU Classpath. GPL.
  • JC — Converts class files from byte-code into C. Uses Soot and GNU Classpath. GNU Library or LGPL licenses.
  • Jelatine JVM
  • JESSICA (Java-Enabled Single-System-Image Computing Architecture).
  • Jikes RVM (Jikes Research Virtual Machine) — Research project. PPC and IA-32. Supports Apache Harmony and GNU Classpath libraries. Eclipse Public License.
  • JNode — operating system. Version 0.2.8 released on January 29, 2009. LGPL.
  • JOP — Hardware implementation of the JVM. GPL 3.
  • Juice — JavaME experimental JVM developed to run on the NUXI operating system.
  • Jupiter — Uses Boehm garbage collector and GNU Classpath. GPL. Unmaintained.
  • JwiK Open Source Java VM for 8bit micro for wireless applications.
  • JX (operating system) — GPL. Version 0.1.1 released on October 10, 2007.
  • Kaffe — Uses GNU Classpath. GPL. 1.1.9 released on February 26, 2008.
  • leDos real-mode x86 JVM running on MS-DOS. MPL.
  • leJOS — Robotics suite, a firmware replacement for Lego Mindstorms programmable bricks, provides a Java programming environment for the Lego Mindstorms RCX and NXT robots.
  • MateVM — An experimental JIT implemented in Haskell. GPL.
  • Maxine — meta-circular open source research VM from Oracle Labs.
  • Mika VM — intended for use in embedded devices. Cross-platform. BSD-style licence.
  • miniMV (from UABC-Tij for embedded systems and Wireless Sensor network devices)[citation needed].
  • Mysaifu (Windows CE/Windows Mobile) — the only open source Java SE-compatible JVM still in development for PocketPC devices. GPL 2.
  • NanoVM — developed to run on the Atmel AVR ATmega8 used in the Asuro Robot, can be ported to other AVR-based systems.
  • RoboVM — AOT compiler and runtime which targets iOS, Mac OS X and Linux. Largely based on Android's runtime.
  • SableVM — First free software JVM to support JVDMI and JDWP. Makes use of GNU Classpath. LGPL. Version 1.13 released on March 30, 2007.
  • Squawk virtual machine — A Java ME VM for embedded systems and small devices. Cross-Platform. GPL.
  • SuperWaba — Java-like virtual machine for portable devices. GPL. Discontinued, succeeded by TotalCross.
  • TakaTuka — for wireless sensor network devices. GPL.
  • TinyVM.
  • VM02 a Java-compatible environment for the Apple II series of computers.
  • VMkit of LLVM.
  • Wonka VM — Developed to run on Acunia's ARM-based hardware. Some code drawn from GNU Classpath. BSD-style licence. No longer under active development, superseded by Mika VM.

收费虚拟机实现

  • Azul Zing JVM a fully compliant Java Virtual Machine based on HotSpot that uses the Azul C4 (Continuously Concurrent Compacting Collector) garbage collector. Supports memory heaps of 100s of GB without GC pauses and is able to grow and shrink the heap based on load.
  • CEE-J is a clean room implementation of Sun's Java technology, Skelmir is not a licensee of Oracle.
  • Excelsior JET is a licensed Java SE implementation with AOT compiler
  • Hewlett-Packard, Java for HP-UX, OpenVMS, Tru64 and Reliant (Tandem) UNIX platforms
  • J9 (IBM), for Windows, AIX, Linux (x86 and PPC), MVS, OS/400, Pocket PC, z/OS
  • "Classic JVM" for IBM OS/400 (superseded by J9)
  • Imsys AB provides their SNAP (Simple Network Application Platform) JVM running on their proprietary IM1000 and IM3000 microprocessors that feature microcode execution of Java byte codes.
  • Apogee provides embedded Java using IBM J9 and Apache Harmony Class Library for X86, ARM, MIPS, PowerPC running on Linux, LynxOS, WinCE.
  • JBed, (Esmertec) is an embedded Java with multimedia capabilities
  • JamaicaVM, (aicas) is a hard real-time Java VM for embedded systems
  • JBlend, (Aplix) is a Java ME implementation
  • Jinitiator, developed by Oracle before they purchased Sun. Designed to improve support for Oracle Forms in web sites.
  • JRockit (originally from Appeal Virtual Machines) acquired by Oracle for Linux, Windows and Solaris
  • Mac OS Runtime for Java (MRJ)
  • MicroJvm (IS2T - Industrial Smart Software Technology) Wide range of virtual machines dedicated to embedded systems (including hard real-time constrained systems), ARM7, ARM9, AVR, AVR32, PPC, MIPS, ...
  • Microsoft Java Virtual Machine (discontinued in 2001)
  • OJVM (also known as "JServer") from Oracle Corporation
  • PERC (Aonix/Atego) is a real time Java for embedded. Aonix is not a licensee of Oracle.
  • SAPJVM (SAP) is a licensed and modified SUN JVM ported to all supported platforms of SAP NetWeaver, started as Java 5, in the meantime Java 6 compatible (Windows i386, x64, IA-64; Linux x86, IA-64, PowerPC; AIX PowerPC; HP-UX SPARC IA-64; Solaris SPARC x86-64; i5/OS PowerPC)
  • Waratek CloudVM for Java A multitenant JVM that allows per-tenant isolation, metering and resource control

比较偏门的专有虚拟机实现

  • Blackdown Java was a licensed port to Linux of the reference SunSoft implementation. It was discontinued in 2007, after OpenJDK became available.
  • C virtual machine (CVM, from Sun), supports C
  • Gemstone - modified for Java EE features (application DBMS)
  • Golden Code Development (EComStation and OS/2 port of Java RTE and SDK for Java SE v1.4.1_07)
  • HP ChaiVM and MicrochaiVM
  • Intent (Tao Group)
  • Novell, India.
  • NSIcom CrE-ME
  • PreonVM (Virtenio) A VM for embedded systems and small devices.
时间: 2024-10-28 19:04:40

Java 虚拟机一览表的相关文章

java-《深入理解Java虚拟机》有关methodHandle的代码问题?

问题描述 <深入理解Java虚拟机>有关methodHandle的代码问题? 以下代码书上说是输出"i am grandfather",但远行实际输出为"i am father" class Test { class GrandFather { void thinking() { System.out.println("i am grandfather"); } } class Father extends GrandFather {

java虚拟机学习笔记

笔记 1.编译顺序:                 编译器                     虚拟机      虚拟机          java源文件*.java------->字节码*.class------>类装载器--->执行引擎 一个.class文件只能包含一个类或接口.因此.java文件中定义了多少类,编译时就会生成多少.class文件(内部类不算). 2.java程序可以选择两种方式访问底层系统,由程序员选择:(1).通过java程序调用javaapi调用本地方法,

虚拟机概论(六)——JAVA虚拟机模型

JAVA虚拟机模型 由于它的高度可移植性,JAVA已经成为Internet上的主要编程语言. "模拟机"的概念是计算机工业界经常使用的对虚拟机的解释之一.这种虚拟机概念和IBM版的虚拟机非常不同.在IBM的概念中,系统内存和资源被分割,成为当前机器的精确拷贝.而对于模拟机,系统并不被分割,而是有一台新的"机器"或者虚拟机加载到当前系统中,在不改变当前系统的前提下,向用户提供不同的功能.这种类型的虚拟机被证明是非常强大的,它允许软件开发人员在一台完全不同的机器上仿效另

java虚拟机学习笔记2

笔记 11.数组数组也是类的对象.具有相同类型和维数的数组属于同一个类(不管长度只看维数).数组的长度属于对象实例.多维数组也是一维数组.如二 维数组,即为一个一维数组,该一维数组的每个元素是一个数组的引用.数组和普通对象一样也存储在堆中.数组名为数组的引用,通过索引即数组标号来访问数组内容. 12.异常在java栈帧的帧数据区内保存有针对该方法的异常表的引用.异常表记载了该方法的字节码(*.class)受catch子句保护的范围(即try子句里的 字节码).当某个方法抛出异常时,虚拟机在对应的

Java基础:JVM(Java 虚拟机)的详细讲解

可能有很多学习Java的朋友还不知道Java的运行原理.Java虚拟机是怎么工作的,本文将为你详细讲解(JVM)Java 虚拟机. 在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器.这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口.编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行.在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,只面向虚拟机.每一种平台的

Grails1.1和Groovy1.6的Java虚拟机的内存设置和调整

在这篇文章中,我希望回答下列问题: .Grails1.1和Groovy1.6的Java虚拟机的内存设置和调整隐藏在哪里,以及我们如何来改变它们? .最新的版本和旧的版本之间有什么不同? .以上这些设置和调整在windows和linux之间的不同需要我们掌握吗? Grails1.1和Grails1.0.2的Java虚拟机的内存设置 如果你运行grails命令,在linux/unix平台,它是执行"$GRAILS_HOME/bin/startGrails"命令:而在windows平台,是执

Java虚拟机

一. 什么是Java虚拟机 Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现.Java虚拟机有自己想象中的硬件,如处理器.堆栈.寄存器等,还具有相应的指令系统. 1.为什么要使用Java虚拟机? Java语言的一个非常重要的特点就是与平台的无关性.而使用Java虚拟机是实现这一特点的关键.一般的高级语言如果要在不同的平台上运行, 至少需要编译成不同的目标代码.而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译. Java虚拟机屏蔽了与具体平台相关的信息,

JVM(Java虚拟机)详解

可能有很多学习Java的朋友还不知道Java的运行原理.Java虚拟机是怎么工作的,本文将为你详细讲解(JVM)Java虚拟机. 在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器.这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口.编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行.在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,只面向虚拟机.每一种平台的解

MIPS目标平台CLDC的Java虚拟机移植

1 Java虚拟机简介 Java ME(Java platform Micro Edition),以前称J2ME,是为机顶盒.移动电话和PDA等嵌入式消费电子设备提供的Java语言平台,它包括虚拟机和一系列标准化的Java API(Application Programming Interface).Java语言的平台无关性使其广泛应用于各行各业,而嵌入式领域Java ME技术的发展尤为迅猛.截至2008年底,JavaME技术已应用于全球26亿部移动手机.部署了60亿个Java Cards.4