Sie sind hier: Wissen

Was ist Java ?

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 ist erschienen am 19.03.2024
  • Java 23 ist erschienen am 17.09.2024
  • Java 24 wird erscheinen im Jahr 2025

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.

Weitere Ressoucen auf dieser Website

 Technische Einführung in die AJAX-Erweiterungen für ASP.NET 2.0
 Marktstudien Softwarekomponenten und Komponentenmodelle

Beratung & Support

Schulungen zu diesem Thema

 Java Server Faces (JSF)
 Java 7-Update (Neuerungen in Java 7)
 Java Servlets und Java Server Pages (JSP)
 Jakarta EE / Java Enterprise Edition (JEE) Patterns und Best Practices
 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) von Java-Anwendungen mit JUnit und Co
 Java Swing-Programmierung: Entwicklung grafischer Benutzeroberflächen mit Swing
 Java 21-Update (Neuerungen in Java 21 gegenüber Version 20)
 Java 8-Update (Neuerungen in Java 8 gegenüber Version 7)
 Java-GUI-Programmierung mit dem SWT und JFace
 Java für Anwendungsentwickler
 Event Driven Design (mit .NET/C# oder Java)
 Java 23-Update (Neuerungen in Java 23 gegenüber Version 22)
 Refactoring von Java-Programmcode
 Android-App-Entwicklung mit Java (Android-Programmierung mit Java)
 Java 18-Update (Neuerungen in Java 18 gegenüber Version 17)
 Java 17-Update (Neuerungen in Java 17 gegenüber Version 16)
 Java EE 6 Patterns und Best Practices
 JavaFX-Programmierung
 Jakarta RESTful Web Services / Java API for RESTful Web Services (JAX-RS) - REST und Microservices mit Java
 Java 10-Update (Neuerungen in Java 10 gegenüber Version 9)
 Java-.NET-Kopplung
 Java-Basiswissen (Grundlagen der Java-Programmiersprache)
 Java Enterprise (JEE) Frameworks
 Objektorientierte Programmierung (OOP) mit C#, Java, C++, Visual Basic.NET o.ä.
 Java-Programmierung mit Lambdas und Streams
 Java 11-Update (Neuerungen in Java 11 gegenüber Version 10)
 Java Persistence API (JPA) mit Hibernate
 Java 9-Update (Neuerungen in Java 9 gegenüber Version 8)
 Java-Datenbankzugriff mit Java Database Connectivity (JDBC)
 Moderne JavaSript-Programmierung mit MEAN: MongoDB, Express, Angular und Node.js
 Anfrage für eine individuelle Schulung zum Thema Java  Gesamter Schulungsthemenkatalog