back to top   1 Was ist Java

 

Vom Quellcode zum ausführbaren Programm


Portierbarkeit durch virutelle Maschine

back to top   2 Ein wenig Geschichte...

 

Das Java Maskottchen Duke

back to top   3 Die Architektur der Java-Plattform

 

Prinzipiell kann, wie erwähnt, eine Java-Applikation auf jeder beliebigen Plattform zur Ausführung gebracht werden --- unabhängig davon welches Gerät die notwendige virtuelle Maschine implementiert.
So existieren Visionen und erste Umsetzungen von JVMs für Elektrogeräte wie Kaffeemaschinen, Kühlschränke, Radios etc. (Stichwort: Jini).
Zur Erinnerung: die Intention der ursprünglichen Java-Entwicklung zielte nicht auf Desktop Rechner oder gar das Internet.

Aufbau der Java Plattform

Die Abbildung 4 schematisiert den Aufbau der Java-Plattform. Von der konkreten Plattform der physischen Hardware (Prozessor, etc. und des darauf ausgeführten Betriebsystems) wird durch die plattformspezifische virtuelle Maschine abstrahiert.
In diese eingebettet ist das Java-Application Programmers Interface (Abk. API) --- die sog. Klassenbibliothek. Sie ist vollständig in Java realisiert. Sie ist bereits als plattformunabhängiges Java-Programm ausgelegt. Das API liefert die wesentlichen Grundprimitven zur Erstellung leistungsfähiger Programme.
Auf dieser virtuellen Plattform läuft das (Benutzer) Java-Programm --- in Form des Bytecodes --- ab.


Hinweis: Beachten Sie die Unterscheidung zwischen Java-Plattform und Ausführungsplattform (=Betriebsystem und Hardware) einer Java-Applikation

Das Java Development Kit Unseren Betrachtungen liegt die Sprache Java in der Implementierung von SunSoft zugrunde. Dies bedeutet: Proprietäre Spracherweiterungen (besser: Verwässerungen) einzelner Hersteller bleiben außen vor!
Das Java Development Kit ist die Sun-Engineeringsumgebung zum Erstellen von Java-Applikationen, -Applets und -Komponenten. Es ist Kern sämtlicher Java-Engineeringswerkzeuge. Die Vorlesung bezieht sich auf das JDK in Version 1.2 --- dem Kern der Java 2 Plattform.
Das Entwicklungspaket steht für folgende Plattformen kostenfrei zur Verfügung:

Die JDK-Tools im (Kurz-)Überblick der wichtigsten Werkzeuge

Compiler und Interpreter

Ein Java-Compilat (das ausführbare Programm) wird von der JVM interpretiert.

Def. Compiler: Ein C. ist ein Programm, welches Code einer konkreten Programmiersprache als Eingabe verwendet und daraus Maschinencode erzeugt, der von der jeweiligen Zielmaschine (dem Prozessor) "verstanden" wird. Die Ausgabe kann gebunden werden und als ausführbare Applikation abgelegt werden.

Def. Interpreter: Ein I. ist ein Programm, welches Code einer konkreten Programmiersprache als Eingabe verwendet, diese zur Ausführungszeit interpretiert und so das Quellprogramm ausführt.

Des Hauptunterschied (für unsere Zwecke) ist die maschinenspezifische Auslegung --- und daraus resultierende Festlegung (aber auch Optimierung!) auf diesen Prozessor --- eines durch einen Compiler erzeugten Programms gegenüber der Allgemeinheit des Interpreter-Ansatzes, der "nur" die Verfügbarkeit des Interpreters auf der gewünschten Zielplattform erfordert.
Hingegen ist die (alte) Diskussion der Vor- und Nachteile complierter vs. interpretierter Ausführung nicht grundsätzlich zugunsten eines Ansatzes entscheidbar (Stichworte hier: Ausführungszeit, Entwicklungszeit der Applikation, Portierungsaufwand).

Vom Quellcode zum ausführbaren Programm




separator line
Service provided by Mario Jeckle
Generated: 2004-06-07T12:31:57+01:00
Feedback Feedback       SiteMap SiteMap
This page's original location This page's original location: http://www.jeckle.de/vorlesung/sei/kI.html
RDF metadata describing this page RDF description for this page