2016-10-09 5 views
1

Wenn wir gleichen Code mit denselben Eingaben ausführen, erwarten wir, Ausgaben innerhalb der gleichen Zeit zu geben. Aber meine Java-Desktop-Anwendung erzeugt Ausgaben mit einer kleinen Änderung, wie 51, 49, 48, 50, 47 Sekunden. Außerdem ist die Laufzeitänderung nicht nur absteigend. Das obige Beispiel ist ein echtes Ergebnis, das ich aus 5 verschiedenen Läufen gemacht habe. Ich konnte keine rationalen Gründe für diese Änderung finden.Laufzeit eines Java-Desktop-Programms ist instabil

Gibt es jemanden, der mir erklären kann, warum jede Laufzeit unterschiedlich lang ist?

+0

Verwenden Sie Threads? Ohne den Code zu sehen, ist es schwierig zu beantworten. –

+2

Schwer zu helfen, ohne Code-Snippet und keine Ahnung, was Ihre App macht –

+0

Ich benutze keine Threads, aber ich verwende ArrayLists intensiv. Aber das sollte die Laufzeit nicht ändern, liege ich falsch? –

Antwort

0

Die JVM, mit der Java-Programme ausgeführt werden können, muss den Computer zum Ausführen des Programms bereit machen. Die Zeit, die benötigt wird, um dies zu berechnen, ist jedes Mal anders, aufgrund von ein paar Gründen, wie zum Beispiel die Belastung des Computers in diesem Moment.

Die Unterschiede treten auf, weil die JVM jedes Mal länger benötigt, um diese Aufgabe zu erfüllen. Jedes Mal, wenn die Gründe etwas anders sind, wird jedes Mal die Dauer etwas anders sein.

Ich hoffe, dies beantwortet Ihre Frage.

+0

Bedeutet dies, dass es praktisch unmöglich ist, die gleichen Laufzeit-Ergebnisse für ein Java-Programm zu erhalten? Weil, selbst wenn ich alle Benutzerprogramme und -dienste schließe, die Laufzeit variiert. –

+0

Es tut. Sie können nicht alle Programme und Prozesse schließen, und diejenigen, die Sie nicht schließen können, nehmen normalerweise die meiste Zeit in Anspruch. – ItamarG3

+0

Gibt es eine Möglichkeit, Java wie MATLAB zu stabilisieren? Weil MATLAB Ressourcen in gieriger Weise verwendet und sich die Laufzeit nicht ändert. –

Verwandte Themen