Sie sind hier

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 der Java Enterprise Edition (EE)

[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.