Dokumentation in Java
Die Operation »java.lang.Thread.dumpStack()« gibt einen Stapelbericht aus. Hier dient sie nur als einfaches Beispiel einer Operation—es geht nicht darum, sich ausführlicher mit Stapelberichten zu beschäftigen.
- Die Operation »dumpStack« [Dokumentation]
java.lang
Class Thread
static void dumpStack()
Prints a stack trace of the current thread.
(Übersetzung der letzten Zeile der Dokumentation: „Druckt einen Bericht über den Stapel des aktuellen Verlauf.“)
Namen von Operationen werden in Java bestimmten „Klassen“ zugeordnet und die Klassen wiederum bestimmten „Paketen“.
Die obige Dokumentation sagt, daß diese Operation zur Klasse »Thread« und diese Klasse zum Paket »java.lang« gehört. Die beiden Schlüsselwörter »static void« sagen hier nur, daß es sich um eine „normale Operation“ handelt. (Später werden andere Typen von Operationen behandelt werden. Die Bedeutung diese Schlüsselwörter wird dann ausführlicher erläutert werden.) Es folgt ein Muster der Operationsangabe »yield()« und schließlich eine kurze englischsprachige Beschreibung der Wirkung der Operation.
Die Beschreibung ist hier in englischer Sprache notiert, da sie üblicherweise auf Englisch geschrieben wird. Zur Erleichterung der Lektüre ist oben unter dieser Beschreibung aber eine deutschsprachige Übersetzung angegeben worden.
Ein Programm, das diese Operation aufruft, sieht folgendermaßen aus.
Main.javapublic class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.Thread.dumpStack(); }}- Konsole
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:1206)
at Main.main(Main.java:3)
Ein Programmierer muß Dokumentationen von Operationen verstehen, um dann die daraus gewonnenen Informationen zum Schreiben von Programmen verwenden zu können. Ein häufiger Fehler von Anfängern, welche die Dokumentationen noch nicht richtig verstehen, ist es die Dokumentation in ihr Programm zu kopieren. Das wäre aber in etwas so, als würde man Seiten aus einem Kochbuch in den Kochtopf legen, um das dort beschriebene Gericht zu kochen: Es ist also in der Regel verkehrt. Der Programmierer selber soll die Dokumentation lesen und verstehen.
Das Schreiben eines Programms an Hand einer Operationsdokumentation soll nun an einer weiteren Dokumentation geübt werden.
- Die Operation »java.lang.Thread.yield()« [Dokumentation]
java.lang
Class Thread
static void yield()
Causes the currently executing thread object to
temporarily pause and allow other threads to execute.
(Übersetzung der beiden letzten Zeilen der Dokumentation: „Veranlaßt das gerade ausgeführte Verlaufsobjekt vorübergehend zu pausieren und die Ausführung anderer Verläufe zu erlauben.“)
- ? Fragen zum Verständnis der obigen Dokumentation
- Zu welcher Klasse gehört die Operation »java.lang.Thread.yield()«?
- Zu welchem Paket gehört diese Klasse?
- / Ausgabe eines Ergebnisses
- Schreiben Sie ein Java -Programm, das die Operation »java.lang.Thread.yield()« verwendet, um vorübergehend zu pausieren, indem Sie das vorherige Beispielprogramm an einer Stelle ändern.
- Hinweise zur Lösung
- Die Operation »java.lang.Thread.yield()« selber ist nicht besonders nützlich oder wichtig. Sie dient hier nur als Beispiel, weil sie besonders einfach verwendet werden kann.
- Das weiter oben gezeigte Beispielprogramm mit »java.lang.Thread.dumpStack()« kann als Vorlage verwendet werden. Nur soll diesmal die Operation »java.lang.Thread.yield« an Stelle der Operation »java.lang.Thread.dumpStack()« aktiviert werden.
- Die Beschreibung sollte nicht in das Programm kopiert werden.
- Wenn die Aufgabe richtig gelöst wurde, dann hat der Start des Programms keine erkennbare Wirkung, und der Übersetzer und die Java-Maschine geben auch keine Fehlermeldungen aus.