next up previous contents
Next: Eignung für Agentenarchitekturen Up: 3 Techniken zur Realisierung Previous: 3.3.6 Visibroker for Java

3.4 Java

  Java ist eine objektorientierte Programmiersprache, die von Sun Microsystems 1995 veröffentlicht wurde. Eines der Ziele der Entwicklung von Java war die Hardwareunabhängigkeit kompilierter Programme. Java definiert neben der Syntax und Semantik der Sprache, eine umfangreiche Bibliothek, die im weiteren Verlauf des Abschnitts vorgestellt wird.

Der Java Compiler erzeugt keinen Maschinencode sondern einen portablen Bytecode, welcher von der Java Virtual Machine (JVM) interpretiert wird. Damit kann ein einmal übersetztes Programm auf verschiedenen Plattformen ausgeführt werden, auf der eine JVM gestartet werden kann.

Adreßarithmetik ist in Java, im Gegensatz zu C oder C++, nicht möglich. Damit ist eine böswillige Manipulation von z. B. als 'private' gekennzeichneten Attributen einer Klasse, von außerhalb der Klasse, auf programmiersprachlicher Ebene nicht möglich. Auf der Ebene des zu interpretierenden Bytecode überprüft innerhalb der JVM der Bytecode Verifier jeden Speicherzugriff auf seine Korrektheit.

Ein Applet ist ein Javaprogramm, welches normalerweise von einem Webserver über das Rechnernetz auf eine Client-Maschine geladen wird. Das Applet wird innerhalb des Browsers in einer Sandbox[*] ausgeführt. Ein Applet ist vor allem als GUI geeignet.

Java unterstützt die Serialisierung von Klassen sehr komfortabel. Jede Klasse kann prinzipiell serialisiert werden, indem dies durch einen Indikator in der Signatur der Klasse anzeigt wird. Die Serialisierung erfolgt automatisch und rekursiv. Die aktuellen Werte der Attribute der Klasse werden dabei berücksichtigt. Nur einige Klassen, wie z. B. java.lang.Thread sind nicht serialisierbar und müssen deshalb gesondert bearbeitet werden.

Wichtige Klassen der standardisierten Bibliothek:

Abbildung 3.5 zeigt die Ausführungsumgebung einer Java-Applikation, wobei innerhalb des Programms drei voneinander unabhängige Threads ausgeführt werden.

  
Abbildung: Ausführungsumgebung für Java Bytecode
\begin{figure}
 \begin{center}
 
\epsfig {file=Bilder/jvm.eps,width=9cm}
 \end{center}\end{figure}



 
next up previous contents
Next: Eignung für Agentenarchitekturen Up: 3 Techniken zur Realisierung Previous: 3.3.6 Visibroker for Java
Copyright Munich Network Management Team