|
JavaMit Java hat SUN Microsystems etwasNeues geschaffen. Es können nun mit einer WWW-Seite nicht nurText, Bilder, Sounds oder Animationen an den eigenen Rechnergeliefert werden, sondern Programme, die lokal ablaufen. Stattbeispielsweise ein Diagramm als Grafik zu senden, wird nun einDiagramm-Zeichenprogramm mit den Daten geschickt. Um dann dieÄnderung der Daten kontinuierlich zu zeigen, müssennun nur noch wenige Daten gesendet werden. Java ist eine richtigeProgrammiersprache, die an die Sprache C++ angelehnt ist. Wennman im Browser eine Seite mit einem Java-Programm wählt, wirddieses Programm übertragen und dann von lokalen Browserausgeführt. Der Ansatz für Java entstand nochunter der Prämisse, Java auf intelligenten Peripheriegeräten,z. B. beim interaktiven Fernsehen, einzusetzen. Eine logischeKonsequenz daraus war der Wunsch nach Vereinfachung gegenüberexistierenden Technologien und nach geringem Ressourcenverbrauch. C++wurde daher schon recht früh als Programmiersprache verworfen.Um aber den Aufwand des Umstiegs für C-, Smalltalk- undEiffel-Programmierer gering zu halten, entlehnt Java zum Teil derenKonzepte und legt die C++-Syntax zugrunde. Wichtige Unterschiedezwischen Java und C++ sind die Eliminierung der 'herkömmlichen'Zeiger, der zusammengesetzten und der vorzeichenlosenDatentypen. Neu (zumindest gegenüber C++) sind 'sichere' Arraysund vor allem ein Garbage Collector, der Speicherbereiche, die nichtmehr referenziert werden, automatisch freigibt. Die Java-Programmewerden in ein kompaktes Format übersetzt, den Bytecode. Das ist
an sich nichts neues, prinzipiell gab es das schon seit ca. 20 Jahren
bei den BASIC-Interpretern der Heimcomputer. Im Java-fähigen
Browser ist dann ein Interpreter für diesen Bytecode enthalten.
Der Interpreter überprüft
den Bytecode vor der Ausführung auf unerlaube Zugriffe auf
Ressourcen. Auf diese Weise sind zwei Ausführungsmodi
möglich: Einem lokal gestarteten Java-Applet (so nennt man die
Java-Programme) kann der Benutzer den Zugriff auf den Rechner
erlauben. Aus dem Netz geladene Applets behandelt Java dagegen
äußerst mißtrauisch. Sie sind quasi in den
Interpreter eingesperrt und verwenden genau definierte und vom
Benutzer kontrollierte Möglichkeiten, beispielsweise auf die
Festplatte zu schreiben. Zusätzlich wird jedes Applet vor und
während der Ausführung auf korrekte Benutzung der Methoden
und Instanzvariablen, mißbräuchliche Benutzung von
Objektreferenzen, Stack-Überläufe und
Zugriffsbeschränkungen getestet. Auch das Überschreiben
von als sicher akzeptierten Klassen aus der lokalen Klassenbibliothek
durch potentiell gefährliche Klassen aus dem Netz ist nicht ohne
Erlaubnis des Benutzers möglich. Dies kann soweit gehen, daß
der Benutzer jedes Laden einer externen Klasse bestätigen muß.
Für grafische Oberflächen,
Ein-/Ausgabe, mathematische Operationen und Netzwerkfunktionen
existieren vordefinierte Klassen. Ein Java-Programmierer muß
nicht gleich alles wissen, die Einarbeitungszeit ist unter Java
viel kürzer als unter C++. Ein Beschränkung der
Programmiersprache auf spezielle Anwendungsgebiete ist (theoretisch)
nicht vorgegeben. Was die Entwicklung vollwertiger
Stand-alone-Programme angeht, gilt für Java jedoch das gleiche
wie für andere plattformübergreifende Bibliotheken: es ist
nur der 'kleinste gemeinsame Nenner' implementiert.
Für Java-Code, der in einem
Web-Browser ablaufen soll, dient die Klasse 'Applet' als
Ausgangspunkt. Im HTML-Code werden die Java-Klassen durch das
<applet>-Tag eingebettet. 'Applet' definiert als Superklasse
für alle Applikationen, die in Browser eingebettet werden
sollen, auch einen Eventhandler für Benutzereingaben. Die
wichtigsten Methoden für ein Applets sind die Initialisierung,
Aktivierung der Anzeige, Deaktivierung der Anzeige und das
Terminieren. Der Programmierer definiert in diesen Methoden das
Verhalten des Applets auf der Seite. Gemäß dem
'Java-Knigge' sind Applets so zu programmieren, daß sie nur
dann Rechenzeit beanspruchen, wenn die umgebende HTML-Seite angezeigt
wird. Mit Java lassen sich auch komplette Bedienoberflächen
programmieren. Die Möglichkeit, mit einem Mausklick ein Applet
zu stoppen und wieder anzustarten, runden die Vorschriften ab. Um
nicht den Browser mit der Interpretation des Applets zu blockieren
und auch mehrere Applets simultan in einer HTML-Seite animieren
zu können, sind Threads bereits Grundausstattung der
Java-Laufzeitumgebung.
Wer sich für Java interessiert, findet Java-Seiten mit vielen Demos,
den HotJava-Browser (für SUNs) und Java-Entwicklersoftware auf
dem Server von SUN Microsystems unter https://java.sun.com/.
Die Entwicklertools für Java-Applikationen stecken noch in den
Kinderschuhen und sind zwar mächtig in der Leistung, aber noch
recht unkomfortabel in der Bedienung.
|
|
|