Каковы хорошие реализации с открытым исходным кодом виртуальной машины Java? [закрытый]

Другие ответы на правильном пути с mod_userdir, но использование, которое даст Вашему веб-сайту базовый URL http://www.yourdomain.com/~username/ - например, файл /home/username/public_html/index.html, было бы доступно как http://www.yourdomain.com/~username/index.html. Если Вы захотите, чтобы Ваши файлы были доступны под доменным корнем, как http://www.yourdomain.com/index.html, например, то необходимо будет поместить директиву

DocumentRoot /home/username/public_html

в конфигурационный файл Apache.

Между прочим, этот вид вопроса больше подходит для Форумов Slicehost.

5
задан euphoria83 25 October 2009 в 19:54
поделиться

6 ответов

Hotspot (GPL, by Sun)

Harmony (Apache, also the basis for Android's Dalvik VM)

JamVM

CLDC - Connected Limited Device Configuration(Sun again) This one is not really open source, but the source code is available.

6
ответ дан 18 December 2019 в 07:30
поделиться

Definitely use the sources provided by rq, but if you are going to write a JVM consider using a register based implementation. As the paper describes, register based machines do incur instruction bloat but should be faster. And as there doesn't seem to be any register based JVM implementations out there, it would be an added bonus for writing one from scratch yourself.

0
ответ дан 18 December 2019 в 07:30
поделиться

Если вам нравится что-то более экзотическое и высокоуровневое, IKVM - это JVM с открытым исходным кодом, построенная на моно / .NET CLR.

0
ответ дан 18 December 2019 в 07:30
поделиться

Check out the Alternative Java Implementations or the links page of the Kaffe VM for which you'll find an extract below (check the original site for the links):

Kaffe-based JVMs

  • Latte

    An open source JVM based on Kaffe.

  • JanosVM

    Current Utah work on multi-process JVMs.

  • KaffeOS

    KaffeOS is a Java virtual machine that allows the execution of multiple process within Kaffe. It separates the resource consumed by those processes, allows them to be safely terminated, and provides for direct sharing between processes.

    Patrick Tullman says:

    (Kaffe Core Team member Godmar Back's Ph.D. thesis) Source isn't available yet, but I think that's just because Godmar is decompressing after finishing his thesis.

  • The JESSICA Project

    Project JESSICA (Java Enabled Single-System-Image Computing Architecture) and the new JESSICA2 project are all based on Kaffe to create a distributed JVM for running multithreaded Java applications on PC clusters.

  • Gilgul

    • Gilgul is a compatible extension of Java. * It introduces a new view on the concept of object-identity. * It allows for dynamic object replacement by simultaneously rerouting a set of references as an atomic operation. * It thus provides means for unanticipated software evolution
  • Alta

    The Alta Virtual Machine is a Java-compatible Virtual Machine designed to provide nested process services to Java applications. Alta is based on Kaffe.

  • Guaraná

    Guaraná is a reflective architecture that aims at simplicity, flexibility, security and reuse of meta-level code. It uses Kaffe as its base. Guaraná is available for download under the GPL.

  • kangaroo

    kangaroo is a J2ME/CLDC alike Virtual Machine.

Free Software JVMs

  • Red Hat Sourceware Project for the Java Language (gcj).

    Red Hat (who bought Cygnus) is developing a complete free software toolkit for developing in the Java Language. gcj is part of the egcs project and provide as Java front-end and a set of run-time libraries to egcs. Also includes the gij interpreter.

  • jRate

    An extension of the GNU GCJ compiler front-end and runtime system which adds support for most of the features required by the Real-Time Specification for Java (RTSJ).

  • ORP (Open Runtime Platform)

    From Intel.

  • Jikes Research Virtual Machine (RVM)

    A free, self-hosting virtual machine (written in Java!)

  • JC

    A virtual machine written in Java that converts Java bytecode to C before running it. (from Kaffe project alumni Archie Cobbs)

  • Japhar

    Japhar is the Hungry Programmers' Java VM. It has been built from the ground up without consulting Sun's sources. Japhar is LGPLed and available for download.

  • ElectricalFire

    ElectricalFire is an open source project that came from a cancelled commercial project at Netscape and is now sponsored by Netscape under the Mozilla umbrella.

    ElectricalFire is a Java Virtual Machine that uses JIT (Just In Time) compilation techniques to accelerate Java code execution. ElectricalFire был разработан с самого начала до генерировать высокопроизводительный машинный код и быть переносимым на многие разные архитектуры процессоров.

  • Waba

    Маленькая виртуальная машина Java, предназначенная для портативных устройств.

    Также, Wabasoft и SuperWaba.

  • Виртуальная машина joeq

  • Виртуальная машина kissme

  • SableVM

  • Вонка

    ] Виртуальная машина для чистых помещений для языка Java (tm), изначально разработан специалистами по телематике ACUNIA .Это чрезвычайно портативный и автономный, и может быть используется с собственным руководителем в реальном времени (OSwald (tm)), чтобы предоставить полный решение для встроенных устройств.

    Кроме того, главный архитектор WonkaVM Крис Грей финансирует компанию предоставить встроенные java-решения named as Mi|k|a(TM).

  • JamVM

  • Jupiter

  • IKVM

    A Java Virtual Machine for .Net!.

  • Java Pathfinder

    A runtime Java program verification / model checker tool from NASA that is actually a state matching, backtracking JVM that is a model checker that is written in and runs on top of Java! It can (with Kaffe project alumni Peter Mehlitz)

  • Aegis VM

    The Aegis VM Projects is an on-going effort to develop a lightweight, secure virtual machine for executing Java bytecode. The VM is intended to be an extension framework for applications or devices that dynamically load and execute untrusted extensions.

  • JAOS (Java on Active Object System)

    A Java virtual machine for the AOS system and a case study in interoperability between the Oberon and Java languages.

  • CACAO

    A research Java Virtual Machine developed at the Vienna University of Technology and released under the GPL. The VM uses a compile-only approach, which means there is no interpreter available. The optimizing JIT compiler is available for a number of architectures.

  • Ovm Project

    An open source framework for building programming language runtime systems. Ovm is a DARPA funded collaborative effort between Purdue University, SUNY Oswego, University of Maryland, and DLTech. The current emphasis for Ovm is to produce a Java VM compliant with the Real-Time Specification for Java.

  • Mysaifu JVM

    A Java VM which runs on Windows Mobile 2003 software for Pocket PC (Pocket PC 2003) licensed under the GPLv2 (GNU Public License Version 2).

  • DynamicJava

    A Java source interpreter, written in Java.

  • Ghost Machine

    For the Palm.

  • JNode

    A LGPL JVM and operating system written in Java, with a JIT-like native code compiler and bytecode interpreter. No C code - just Java and assembly!

  • JX-OS

    A GPL'd system architecture consists of a set of Java components executing on the JX core that is responsible for system initialization, CPU context switching and low-level domain management. The Java code is organized in components which are loaded into domains, verified, and translated to native code.

  • JAmiga

    A GPL'd JVM for the Amiga.

  • Kabavm System

    A tiny Java Runtime targeted in small hardware devices. See Japanese webpage for details.

  • NanoVM

    A tiny java virtual machine for the Atmel AVR ATmega8 CPU, the member of the AVR CPU family used e.g. in the DLR Asuro robot.

  • Hormony (wiki)

    Apache Foundation's effort to create a new cleanroom J2SE-compatible environment, and Geir Magnusson Jr. wrote a proposal and this wiki page for details.

Ports of Sun's JDK

  • Sun Microsystems - java.sun.com

    Where Java comes from in the first place. They also have a list of official ports.

  • Java for FreeBSD

    This is an unsupported version of Sun's Java Development Kit ported to FreeBSD. It is being tested for any problems that might exist. No known significant bugs exist at this time, but there are no guarantees of usability.

  • Blackdown JDK for Linux

    The Blackdown JDK is a port of Sun's Java Developer's Toolkit to Linux.

Both lists aren't up-to-date and initiatives like OpenJDK or Apache Harmony are missing.

That said, I don't know what you mean exactly by "good open source implementations". Good doesn't mean the same thing for everyone and may depend on the context. Kaffe is a great choice as a base for virtual machine education and/or research, IBM's Jikes has a very fast compiler, OpenJDK may be very mature but might not be the best choice for educational purposes, etc. They are all good implementations but I don't know which one is the "better" for you. Actually, I'll let you decide.

10
ответ дан 18 December 2019 в 07:30
поделиться

Я не думаю, что исходники openjdk - хорошая отправная точка для изучения написания ВМ. Он слишком большой и слишком специфичен для платформы. Существуют альтернативы, например:

  1. Говорят, Parrot VM может запускать байт-код Java . Parrot VM уже основан на регистрах.
  2. Projekt shark (в openjdk это нулевой проект) - это переносимая «вилка» OpenJDK без исходных текстов ассемблера. Насколько мне известно, он использует LLVM. На http://gbenson.net/ есть информация о том, как создать его отладку.
  3. Проект LLVM имеет незавершенный интерфейс JAVA.
  4. Sun is переписывание JVM в самой JAVA. Он называется Максин и подлежит исследованию. См. http: //wikis.sun. com / display / MaxineVM / Home для получения дополнительной информации.

Есть хорошая статья в Википедии об альтернативных реализациях JVM. Некоторые из них уже упомянуты здесь, некоторые нет.

3
ответ дан 18 December 2019 в 07:30
поделиться

Вот две игрушечные JVM:

2
ответ дан 18 December 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: