Einzelnen Beitrag anzeigen
Alt 15.06.2008, 17:34   #34 (permalink)
BenniG.
Overclocker
 

Registriert seit: 24.05.2002
Beiträge: 200

BenniG. wird schon bald berühmt werdenBenniG. wird schon bald berühmt werden

Standard AW: Warum eine Endlosschleife?

Zitat:
Jetz habe ich es mal auspobiert und dort hört er dann wohl einfach auf das Programm zu compilieren etc.
Nein, mit dem compilen hat das nix zu tun. An der Stelle stoppt er die Ausführung des Programms.
Compilen: Übersetzen des Programms in Maschinensprache (bzw. bei Java in den Java Byte Code) => Erzeugen der .class Datei.

Bei einem Breakpoint kannst du die Aufrührung des Programms anhalten und dann über die verschiedenen Funktionen das Programm langsam weiter laufen lassen. Step over, Step Into, Step return sollten über verschiedene Buttons in der Debuger-Perspektive verfügbar sein. Beim angehaltenen Programmzustand kannst du dir dann die Inhalte von Variablen anschauen etc. Bei deinem Mini-Beispiel ist das aber wahrscheinlich zu trivial

Zitat:
So stellt sich zum Beispiel auch jetzt die Frage: flushen?
Java benutzt bei vielen Sachen Streams. Streams sind, wie der Name schon sagt, Datenströme. Aus Performancegründen wird nicht alles, was im Stream verfügbar ist sofort geschrieben (auf den Bildschirm, die Festplatte, etc) sondern zum Teil gepuffert. Wenn man bei einer Datei jedes einzelne Byte einzeln schreiben würde, wäre das sehr langsam.
Anscheinend wird auch bei System.out (was einen Ausgabestrom darstellt) in manchen Fällen (bei mir z.B. nicht) ein Puffer benutzt. D.h. die Ausgabe erfolgt nicht zwingend sofort, sondern evtl. etwas verzögert, zusammen mit einer anderen Ausgabe..
Das Flushen des Puffers erzwingt eine Leerung des Puffers. Der Puffer wird dann auf das Ausgabemedium (Festplatte, Bildschirm) geschrieben.

Daher einfach mal ausprobieren, ob das in deinem Fall hilft..

Geändert von BenniG. (15.06.2008 um 17:40 Uhr)
BenniG. ist offline   Mit Zitat antworten
Für diesen Beitrag bedankt sich:
Greeven (15.06.2008)