Artikel

Java – objektorientiert und plattformunabhängig programmieren

Wer heute in einem Café sitzt und mit seinem Smartphone interaktive Webinhalte aufruft, der stößt zwangsläufig auf den Begriff Java. Neben C++, C# oder Delphi gehört Java zu den wichtigsten objektorientierten Programmiersprachen unserer Zeit. Desktop-Anwendungen für den PC, Webanwendungen oder Software für mobile Endgeräte – die Möglichkeiten von Java sind zahlreich.

Die Ursprünge von Java

Die heutige Programmiersprache Java stammt aus einem Projekt von Sun Microsystems aus dem Jahre 1991/1992. Ziel war die Entwicklung einer kompletten Laufzeitumgebung zum Einsatz der neuen Technologie zur Steuerung von Mikrosystemen. Eingesetzt wurde dieses in der Fernbedienung *7, über die das Projekt bekannt wurde. Die erste Version der Programmiersprache Java entstand 1996. Seit damals sind eine Vielzahl neuer Komponenten und Sprachelemente dazu gekommen. Mittlerweile befindet sich Java in der Version 6, Sun Microsystems ist heute Teil von Oracle. Seinen Namen hat Java jedoch stets beibehalten; er stammt übrigens von der Lieblingskaffeesorte der Programmierer.

Funktionsweise

Java unterscheidet sich vor allem in der Plattformunabhängigkeit von anderen Programmiersprachen. Wie aber wird diese technisch gewährleistet? Üblicherweise wird der Quelltext einer Programmiersprache von einem Compiler direkt in maschinenlesbaren Code umgesetzt. Die so entstehenden Anwendungen sind aber nur auf gleich funktionierenden Maschinen ausführbar. So können beispielsweise exe-Dateien unter Windows, jedoch nicht unter Linux ausgeführt werden. Der Java-Compiler übersetzt den Quelltext nicht in Maschinencode, sondern in einen sogenannten Bytecode. Dieser wird bei der Ausführung des Programms von der Java Runtime Environment (JRE) in Maschinencode übersetzt. Java Programme sind somit auf jedem System ausführbar, für das eine JRE existiert. Die JREs selbst sind plattformabhängig. Allerdings bedeutet dieses Verfahren, dass ein Programm bei jeder Ausführung neu übersetzt werden muss. Dies kostet Rechenaufwand und Zeit. Besonders umfangreiche und komplexe Anwendungen wie 3D-Spiele werden deshalb meist nicht mit Java realisiert.

Abstrakte Modelle

Wie alle objektorientierten Programmiersprachen setzt Java Klassen als abstrakte Modelle zur Erstellung von Objekten ein. Diesen liegen Prinzipien der OOP (ObjektOrientierte Programmierung) wie Wiederverwertbarkeit und Datenkapselung zugrunde. Darüber hinaus unterscheidet Java explizit zwischen Klassen (class) und Schnittstellen (interface). Zu den Funktionen der Sprache gehört weiterhin auch das parallele Ausführen von Aufgaben, sogenanntes Multithreading. Im Rahmen der Wiederverwertbarkeit unterstützt Java auch das Erben einer Klasse von einer anderen Klasse. Das Erben von mehreren Klassen gleichzeitig (Mehrfachvererbung) wird jedoch nicht unterstützt. Eine Besonderheit von Java ist der sogenannte Garbage-Collector. Dieser kümmert sich um die Freisetzung von nicht weiter benötigtem Speicherplatz. Deklariert und definiert man eine Variable, ein Array oder eine Klasse wird dafür Arbeitsspeicher reserviert. In anderen Programmiersprachen wie beispielsweise C++ muss dieser Arbeitsspeicher auch explizit wieder freigegeben werden. Dieser Mehraufwand ist in Java somit nicht nötig.

Vielfältige Anwendungsmöglichkeiten

Die Einsatzmöglichkeiten von Java sind vielfältig. Desktopanwendungen mit und ohne grafische Benutzeroberfläche (GUI) sind ebenso denkbar wie serverseitige Webanwendungen. Auf mobilen Endgeräten gibt es eine Vielzahl von Minigames, die mit Java umgesetzt wurden. Eine besondere Fähigkeit zeigt Java mit dem Feature WebStart. Dies ermöglicht eine Desktop-Anwendung mit einem Klick aus dem Browser heraus zu starten – ohne Installation.
Die Zukunft für Java sieht sehr gut aus. Der Fortschritt des Cloud-Computing macht Anwendungen, die Internet und Desktop verschmelzen lassen, immer wertvoller. Auch der Einsatz von Software auf mobilen Endgeräten ermöglicht mehr Flexibilität und gerade dieser Sektor ist im Bereich der Smartphones in den letzten Jahren massiv gewachsen.

Foto: Nikolai Sorokin – Fotolia.com

Similar Posts:

Tags: