next up previous contents index
Next: Java Programme und Java Up: Java: Überblick und Vergleich Previous: Ursprünge

Was ist interessant an Java?

Java ist eine Sprache wie viele andere und seine APIs   (application programming interfaces) sind Klassenbibliotheken wie viele andere. Einige Spracheigenschaften von Java machen es jedoch sehr gut geeignet für die vernetzte, heterogene Rechnerlandschaft der späten 90er.

Sun hat Java mit der folgenden Schlagwort-Orgie beschrieben:

Was heißt das im Einzelnen?

Einfach?

Falsch. Java ist nicht einfach!

Im Vergleich zu C++ gibt es jedoch Vereinfachungen:

 

Objekt-orientiert?

Anders als C++ wurde Java als rein objekt-orientierte Sprache entworfen:

Dynamisch und verteilt?

   

Interpretiert?

Der Java Übersetzer erzeugt den sogenannten ``byte code'', der von der virtuellen Java Maschine (JVM) interpretiert wird.    

Robust?

Natürlich kann man in Java fehlerhafte Programme schreiben. Einige Spracheigenschaften erleichtern jedoch die Konstruktion zuverlässiger Software:

 

Sicher?

Wichtig wegen der Verteilung der Anwendungen über Netze.

 

Architekturneutral und portabel?

Der Byte-Code ist maschinenunabhängig und kann überall dort ausgeführt werden, wo ein Java-Interpretierer existiert (``Write Once, Run Anywhere''(Sun)).

High-performance?

Falsch. Java 1.0 Programme sind wegen der Interpretation etwa 20mal langsamer als C Programme. Der Java 1.1 Interpretierer ist doppelt so schnell, so daß der Faktor nun etwa 10 beträgt!

Für Netzwerk-basierte Programme, GUIs u.ä. OK.

Abhilfe: ``Just in time compilation'' von   Byte-Code in Maschinen-Code zur Laufzeit vor. Außerdem ist es möglich, C- oder C++-Methoden zu Java-Anwendungen dazuzubinden (native Methoden-Kennzeichnung).

Multi-threaded?

Java unterstützt Multi-Threading (Thread-Klasse, Schlüsselwort synchronized ). Um unabhängige Ausführungs-Stränge zu synchronisieren, benutzt Java Monitore als Mechanismus, geschützte Bereiche des Codes nur einem Prozess gleichzeitig zur Verfügung zu stellen.


next up previous contents index
Next: Java Programme und Java Up: Java: Überblick und Vergleich Previous: Ursprünge

Peter Pfahler, 1997