CodeGym
CodeGym University
Lernen
Kurs
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan für einen Tritt in den Hintern
Community
Benutzer
Forum
Chat
Artikel
Erfolgsstorys
Aktivität
Rezensionen
Abonnements
Helles Design
Jetzt lernen
  • Alle Fragen
y-meyer2
Level 28
Germany
  • 02.11.2021
  • 133Aufrufe
  • 2Kommentare

Die finalize Methode wird bei mir erst ab 570000 aufgerufen. Kann mir jemand evtl. erklären woran das liegt?

Frage zur Aufgabe Katze- und Hund-Objekte: je 50.000
Java Syntax,  Level 6,  Lektion 5
In der Diskussion
0
Kommentare (2)
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Guadalupe Gagnon
Level 37 , Tampa, United States
2 November 2021, 13:09
What Lisa said is true. Also see my comment here
0
Lisa
Level 41
2 November 2021, 13:05
Das sieht doch ganz normal aus. 1. Es gibt keine Garantie, dass finalize überhaupt aufgerufen wird. 2. Objekte werden erst zerstört, wenn die garbage collection läuft. Solange die JVM keine Notwendigkeit sieht, die gc laufen zu lassen, wird auch kein referenzloses Objekt zerstört und demzufolge auch kein finalize aufgerufen. Man könnte der JVM nahelegen, die gc auszuführen (wiederum keine Garantie, dass das auch gemacht wird) und dann siehst du, dass (normalerweise) schon einige Male (bei mir so ~35%) finalize aufgerufen wird. Das machst du mit System.gc(); hier hab ich mal ne main Methode mit einer Schleife über 100 Iterationen die in jeder Iteration einen Hund und eine Katze erstellt. Danach wird ersucht, die gc auszuführen. Wie gesagt, ich habe hier einiges an output (70 Zeilen).
public static void main(String[] args) {
    for (int i = 0; i < 100; i++) {
        new Katze();
        new Hund();
    }

    System.gc();
}
Edit: Mittlerweile ist finalize auch als deprecated markiert worden.
+1
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe zu Aufgaben
  • Preise
  • Spieleprojekte
  • Java Syntax
Community
  • Benutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsstorys
  • Aktivität
  • Affiliate Program
Unternehmen
  • Über uns
  • Kontakt
  • Rezensionen
  • Medien
  • CodeGym im Bildungsbereich
  • FAQ
  • Support
CodeGym CodeGym ist ein Java-Tutorial zum Lernen von Java von Grund auf. Dieser Kurs ist perfekt dafür geeignet, Java von Beginn an zu meistern. Er enthält über 1200 Aufgaben mit Sofortüberprüfung und grundlegende Theorie zu den Java-Grundlagen. Damit auch du bei deinem Kurs erfolgreich bist, haben wir eine ganze Reihe motivierender Inhalte: Quizfragen, Programmierprojekte, Inhalte zu effizientem Lernen und zum Berufseinstieg als Java-Entwickler.
Folgen
Sprache der Oberfläche
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
MastercardVisa
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.