Java
Eintrag zuletzt aktualisiert am: 01.03.2021
Java ist sehr weit verbreitete
Programmiersprache der Firma Oracle (früher: Sun). Java wurde im Jahr 1995 von der Firma Sun erstmals angekündigt wurde. Der ursprüngliche Name war
Oak. Federführender Entwickler war Dr. James Gosling.
Java ist eine objektorientierte, plattformunabhängige Sprache, die für zahlreiche Betriebssystem- und Prozessor-Plattformen verfügbar ist [Szy02, S. 393]. Java erreicht die Plattformunabhängigkeit, indem der Compiler keinen Prozessorspezifischen Maschinensprachecode erzeugt, sondern einen Prozessorunabhängigen Java-Bytecode, der zur Laufzeit der Anwendung von einem
Just-in-Time-Compiler zur Laufzeit in Maschinencode übersetzt wird [Szy02, Seite 262]. Als
Java Virtual Machine (
JVM) wird die Laufzeitumgebung für Java-bezeichnet; der
Just-in-Time-Compiler ist Teil der
JVM. Es gibt einige andere Sprachimplementierungen, die Bytecode für die
JVM erzeugen können (
http://www.robert-tolksdorf.de/vmlanguages.html)., wobei Szyperski feststellt, dass die Nutzung anderer Sprachen auf Basis der
JVM nicht sehr populär ist [Szy02, S. 393].
Varianten
Java Standard Edition (Java SE)
Java Enterprise Edition (
Java EE), früher: Java 2 Platform Enterprise Edition (J2EE)
Java Micro Edition (Java ME)
Versionen der Java Standard Edition (SE)
- Java 1.0 ist erschienen am 23.01.1996
- Java 1.1 ist erschienen am 19.02.1997
- Java 1.2 ist erschienen am 08.12.1998. Codename: Playground
- Java 1.3 ist erschienen am 08.05.2000. Codename: Kestrel
- Java 1.4 ist erschienen am 06.02.2002. Codename: Merlin
- Java 5.0 ist erschienen am 30.09.2004. Codename: Tiger
- Java 6 ist erschienen am 11.12.2006. Codename: Mustang
- Java 7 ist erschienen am 28.07.2011. Codename: Dolphin
- Java 8 ist erschienen am 18.03.2014. Codename: Spider
- Java 9 ist erschienen am 21.09.2017
- Java 10 ist erschienen am 20.03.2018
- Java 11 ist erschienen am 25.09.2018 (LTS-Version)
- Java 12 ist erschienen am 19.03.2019
- Java 13 ist erschienen am 01.09.2019
- Java 14 ist erschienen am 01.03.2020
- Java 15 ist erschienen am 01.09.2020
- Java 16 ist erschienen am 01.03.2021
- Java 17 ist erschienen am 14.09.2021 (LTS-Version)
- Java 18 ist erschienen am 22.03.2022
- Java 19 ist erschienen am 20.09.2022
- Java 20 ist erschienen am 21.03.2023
- Java 21 ist erschienen am 19.09.2023
- Java 22 wird erscheinen im Jahr 2024
Seit September 2017 (Java 10) erscheint 2x im Jahr eine neue Hauptversion (März und September). Alle drei Jahren ist dies eine
Long-term-Support-Version (
LTS) mit 5 Jahren "Premier Stpport" und 8 Jahren "Extended Support", siehe
https://www.oracle.com/java/technologies/java-se-support-roadmap.html
[VERSIONEN#3754]
Java und Microsoft, die erste: J++
J++ war eine Java-Implementierung der Firma Microsoft mit der man sowohl auf
COM-Komponenten als auch auf Java-Komponenten zugreifen kann und die sich daher zur Erstellung von COM-Java-Component-Bridges und COM-
CORBA-Component-Bridges eignet. Es gibt in J++ aber einige Abweichungen vom Java-Standard, die zu einer rechtliche Auseinandersetzung zwischen Sun und Microsoft geführt haben.
J++ ist ein Java-Derivat von Microsoft, das im Zuge von
Visual Studio 6.0 ausgeliefert wurde. Im Gegensatz zum Original-Java kann J++
COM-Komponenten erzeugen und nutzen. Aufgrund von Auseinandersetzungen mit Sun hat Microsoft das J++ eingestellt.
Java und Microsoft, die zweite: J#
Microsoft stellte ursprünglich für das
.NET Framework die Sprache J#, ein Java-Derivat, zur Verfügung. Diese Sprache wurde aber mit
.NET 2.0 (Jahr 2005) letztmals aktualisiert und wird seitdem nicht weiterentwickelt.
Die Sprache J# ist eine Java-Variante, die keinen Java-Bytecode, sondern die in
DOTNET verwendete Common Interme-diate Language (
CIL) erzeugt und dazu dient, bestehenden Java-Quellcode auf der
DOTNET-Plattform weiterverwenden zu können. Für J# existieren sowohl ein kostenloser Kommando-zeilen-Compiler als auch eine Integration in
Visual Studio .NET. Die bei J# mitgelieferte vjslib ist
Wrapper für die Klassenbibliotheken des JDK 1.1.4.
Die in Redmond bevorzugte Lösung des Interoperabilitätsproblems ist jedoch die Migration nach
DOTNET. Microsoft stellt im Rahmen seiner Strategie Java User Migration Path (
JUMP) Vorgehensempfehlungen, J# und den
JLCA bereit
Das zweite Werkzeug, der Java Language Conversion Assistant (
JLCA), dient der Konvertierung von Java-Code nach C#-Code. Sie ermöglicht auch die Migration von
AWT-, Swing- und
JSP- als auch von J2EE-Anwendungen zu .NET. Sowohl J# als auch der
JLCA ermöglichen auch die Weiterverwendung von für das frühere Redmonder Java-Derivat J++ entwi-ckeltem Code.
Java und Microsoft, die dritte: Reines Java
Mittlerweile hat Microsoft sich stark für andere Betriebssysteme, Plattformen und
Programmiersprachen geöffnet. Daher unterstützt Microsoft nun das Original-Java, z.B. in der
Entwicklungsumgebung Visual Studio.