Java

Java ist eine objektorientierte Programmiersprache für die dafür entwickelte Java-Plattform. Diese ermöglicht es, mithilfe der Java Virtual Machine (JVM) Anwendungen auf unterschiedlichster Hardware auszuführen, ohne diese explizit neu zu kompilieren. Es existieren mittlerweile JVMs für die verschiedensten Betriebssysteme wie Windows, Mac OS X, Linux, Solaris, aber auch für die verschiedensten Hardware-Spezifikationen wie die Intel-x86/64-Plattform, Mobiltelefone, DVD-Player, Speicherkarten und sogar eigene Java-Prozessoren.
Durch die Abstraktion der Speicherverwaltung und des gesamten Zugriffs auf die Hardware werden Java-Anwendungen nicht nur auf die verschiedensten Plattformen portierbar, sondern bieten auch ein hohes Maß an Sicherheit. Sicherheitslecks durch fehlerhafte Programmierung wie z. B. Pufferüberläufe können hier nicht mehr auftauchen. Durch den integrierten Garbage Collector, der ungenutzte Java-Objekte im Speicher findet und aufräumt, sind Memory Leaks wesentlich seltener geworden. Durch diese Eigenschaften hat sich die Java-Technologie stark im Enterprise-Umfeld für verteilte Anwendungen oder Server-Prozesse etablieren können.

Java Language

Die erste Version der Java-Technologie, bestehend aus der Programmiersprache Java, dem Java Runtime Environment (JRE) mit der JVM, dem Java Development Kit (JDK) mit dem Java Compiler und der Klassenbibliothek, wurde seit 1991 entwickelt und im September 1997 dann von Sun Microsystems veröffentlicht. Der Name Java stammt von der Kaffee-Sorte Java bzw. dem Straßen-Café „Java City“ in Palo Alto. Hier verbrachten die Entwickler der Java-Technologie oft ihre Pausen. Seit dieser ersten Version 1.1.4 wurden sowohl die Java-Technologie als auch die Programmiersprache und das JDK ständig erweitert, um aktuellen Anforderungen gerecht zu werden. Die aktuelle Version der Java Standard Edition ist JSE6, welche bereits Ende 2006 erschien. Nach 4,5 Jahren Entwicklungszeit ist nun für Mitte 2011 die nächste Version JSE 7 geplant. Neben der Java Standard Edition gibt es noch weitere Ableger bzw. Erweiterungen, um verschiedene Anwendungs-Aspekte abzudecken. Die Java Micro Edition (JME) besitzt eine vereinfachte API, aber auch Erweiterungen, um Java-Anwendungen auch auf mobilen Endgeräten, meist Mobiltelefonen, lauffähig zu machen. Noch weiter reduziert wurde die API für Java Card, eine Plattform für Java-Applets auf SmartCards. Im Gegensatz dazu existiert die Java Enterprise Edition (JEE), welche die JSE um Schnittstellen für Server-Anwendungen erweitert. Die aktuelle Version JEE6 wurde Ende 2009 veröffentlicht und bietet Unterstützung für Transaktions-Management, Verschlüsselung und Authentifizierung, Lifecycle-Management und Kommunikation von Java-Komponenten u. v. m. Diese Komponenten bilden zusammen einen Java Application Server. Neben der Referenz-Implementierung Glassfish von Oracle/Sun existieren weitere Application Server wie z. B. JBoss AS von RedHat, WebSphere von IBM oder Geronimo von Apache.

Java Editionen

Ursprünglich wurde Java als Produkt von Sun Microsystems kostenlos vertrieben, dessen Weiterentwicklung und Spezifizierung lag ebenfalls allein in der Hand von Sun. Im Jahre 1998 wurde dann der Java Community Process (JCP) eingeführt, wodurch der Entwicklungs-Prozess geöffnet wurde und nun auch anderen Firmen wie IBM, Oracle, Hewlett Packard oder der Apache Software Foundation ein Mitspracherecht eingeräumt wurde. Dadurch konnten sich nun auch andere Java-Implementierungen wie z. B. IBM Java, Apache Harmony, Kaffe, GNU Classpath und GCJ entwickeln. Im Jahre 2006 begann dann die Veröffentlichung des Sun-Java-Quelltexts, jedoch konnten aus lizenzrechtlichen Gründen nicht alle Teile von JSE6 offengelegt werden. Deshalb begann man, diese Teile neu zu entwickeln und als OpenJDK unter der GPL zu veröffentlichen. Nach der Übernahme von Sun Microsystems durch Oracle Corporation im Jahre 2010 wird die Java-Technologie nun unter dessen Dach als Open-Source-Produkt weiterentwickelt.

Ihr Ansprechpartner