Freie Java-Implementierung

Freie Java-Implementierung
QS-Informatik

Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen und beteilige dich an der Diskussion! (+)
Begründung: Struktur anpassen, gibt es eine nicht spezialisierte Form, richtigen Eingangssatz --Crazy1880 12:36, 27. Nov. 2009 (CET)

Eine Freie Java-Implementierung ist eine Implementierung der Java-Plattform im Sinne Freier Software.

Inhaltsverzeichnis

Geschichte

Mit der Java-Technik als wichtiger Software-Plattform (siehe Java-Plattform), auf der auch zahlreiche Freie Software aufbaut, wurden die lange Zeit zur Ausführung notwendigen unfreien Implementierungen der Programmiersprache Java als ethisch problematische Lücke im Freie-Software-Ökosystem gesehen – Richard Stallman und die Free Software Foundation (FSF) sprachen von der „Java-Falle“.[1] Daher bestand das Bedürfnis nach freien Java-Implementierungen, deren Umsetzung mit hoher Priorität von der FSF verfolgt wurde und Dinge wie die freie Implementierung der Standardklassenbibliotheken GNU Classpath und den GNU Compiler for Java (GCJ), der auch den GNU Interpreter for Java (GIJ) enthält, hervorbrachten. Als vielleicht erste freie Implementierung wesentlicher Teile der Java-Plattform ist der Java-Compiler guavac zu nennen, der noch vor November 1995 begonnen wurde.[2][3] 2005 sollte mit Harmony versucht werden, die Entwicklungsbemühungen um freie Java-Implementierungen in einem Projekt zu vereinigen. Trotzdem der große Schulterschluss nicht gelang, lebt das Projekt unter dem Dach der Apache Software Foundation weiter und hat eine vollständige Implementierung hervorgebracht. Mit der Veröffentlichung der offiziellen Implementierungen durch den Hersteller Sun Microsystems im Jahr 2006 löste sich diese Situation nach einigen kleineren Hürden endgültig auf und wurde die Familie freier Java-Implementierungen sowie die Freie-Software-Welt insgesamt durch ein großes und wichtiges Paket Software ergänzt. Als freie Java-Implementierungen sind daraus OpenJDK als Nachfolger des Java Development Kit (JDK) und viele weitere Bestandteile hervorgegangen. Wichtige Zweige der OpenJDK-Entwicklung waren bzw. sind auch immer noch die Versionen des IcedTea-Projektes. Außer diesen gibt es noch Kaffe, die nun als besonders schlanke, schnelle alternative Laufzeitumgebung weiterexistiert, die selber wiederum in Java geschriebene Jikes RVM, die extrem kleine JamVM, das für Mono entwickelte IKVM.NET und das für das Betriebssystem Bluebottle geschriebene Jaos.

Spezialisierte Implementierungen

Weiterhin gibt es noch eine Vielzahl spezialisierter Implementierungen: Für tragbare Geräte gibt es SuperWaba, Squawk und die Dalvik Virtual Machine von Android, Mysaifu JVM als die einzige aktiv weiterentwickelte freie Java-SE-kompatible JVM für PocketPC. Für spezielle Hardware-Plattformen gibt es für Atmel-AVR-ATmega8-Mikrocontroller die NanoVM, leJOS für Lego Mindstorms und Wonka VM und deren Nachfolgerin Mika VM für eingebettete Geräte. CACAO unterstützt etliche Plattformen, wobei es mit seinen durch JIT-Kompilierung schnellen Ausführungsgeschwindigkeiten wohl auf einigen die schnellste verfügbare Java-Implementierung darstellt.

Für spezielle Betriebssysteme: JAmiga für AmigaOS

Java-Betriebssysteme: JX (Betriebssystem), JNode

Die JC Virtual Machine wandelt Java-Bytecode in C-Code um.

Siehe auch

Eine weitere freie Implementierung einer virtuellen Maschine für Java-Bytecode ist SableVM. Weitere Java-Compiler sind der Eclipse Java Compiler (ECJ) der Eclipse Foundation, auf dem auch GCJ teilweise aufbaut, und der mittlerweile eingestellten Jikes.

  • JamaicaVM für Echtzeitanwendungen und eingebettete Geräte
  • Java Optimized Processor, eine Hardware-Implementierung
  • Jupiter JVM

Quellen

  1. Frei, aber gefesselt – Die Java-Falle
  2. Änderungsprotokoll des guavac-Compilers
  3. Announcing: guavac 0.2.5 – Ankündigung der Veröffentlichung von Version 0.2.5 von guavac

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Java VM — Java Logo Die Java Virtual Machine (abgekürzt Java VM oder JVM) ist der Teil der Java Laufzeitumgebung (JRE) für Java Programme, der für die Ausführung des Java Bytecodes verantwortlich ist. Hierbei wird im Normalfall jedes gestartete Java… …   Deutsch Wikipedia

  • Java Virtual Machine — Java Logo Die Java Virtual Machine (abgekürzt Java VM oder JVM) ist der Teil der Java Laufzeitumgebung (JRE) für Java Programme, der für die Ausführung des Java Bytecodes verantwortlich ist. Hierbei wird im Normalfall jedes gestartete Java… …   Deutsch Wikipedia

  • Java (Technik) — Java Logo Die Java Technik (englisch Java Technology) ist eine ursprünglich von Sun entwickelte Sammlung von Spezifikationen, die einerseits die Programmiersprache Java und andererseits verschiedene Laufzeitumgebungen für Computerprogramme… …   Deutsch Wikipedia

  • Java (Programmiersprache) — Java Basisdaten Paradigmen: Objektorientierte Programmiersprache Erscheinungsjahr …   Deutsch Wikipedia

  • Java Message Service — (JMS) ist eine Programmierschnittstelle (API) für die Ansteuerung einer Message Oriented Middleware (MOM) zum Senden und Empfangen von Nachrichten aus einem Client heraus, der in der Programmiersprache Java geschrieben ist. JMS hat das Ziel, lose …   Deutsch Wikipedia

  • Freie Software — (englisch free software) ist Software, die für jeden Zweck verwendet, studiert, bearbeitet und in ursprünglicher oder veränderter Form weiterverbreitet werden darf. Das schließt auch die kommerzielle Nutzung ein. Freie Software Lizenzen… …   Deutsch Wikipedia

  • Java-Laufzeitumgebung — Java Runtime Environment (kurz JRE) wird die Laufzeitumgebung für die Java Plattform des US Unternehmens Oracle genannt. Diese liefert unter anderem die Java Virtual Machine, welche benötigt wird um Java Anwendungen auszuführen.… …   Deutsch Wikipedia

  • Java Runtime Environment — (kurz JRE) wird die Laufzeitumgebung für die Java Plattform des US Unternehmens Sun Microsystems genannt. Diese liefert unter anderem die Java Virtual Machine und wird benötigt, um Java Anwendungen auszuführen. Allgemein besteht die… …   Deutsch Wikipedia

  • Java Data Objects — Die Java Data Objects (JDO) sind eine offizielle Sun Spezifikation für ein herstellerunabhängiges Framework zur persistenten Speicherung von Java Objekten. In der JDO Spezifikation wird eine einheitliche Schnittstelle für den Zugriff auf… …   Deutsch Wikipedia

  • Java Media Framework — JMF (Java Media Framework) ist eine Java Bibliothek zur Handhabung von Audio und Videodaten. Das API unterstützt das Aufnehmen von Mikrofon und Kamera und erlaubt das Einlesen und Speichern von Audio/Video Formaten. Inhaltsverzeichnis 1… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”