- Freie Java-Implementierung
-
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
- ↑ Frei, aber gefesselt – Die Java-Falle
- ↑ Änderungsprotokoll des guavac-Compilers
- ↑ Announcing: guavac 0.2.5 – Ankündigung der Veröffentlichung von Version 0.2.5 von guavac
Kategorien:- Freie Systemsoftware
- Programmiersprache Java
Wikimedia Foundation.