Der Garbage Collector

fastjack

Top Contributor
Du kannst der VM höchstens einen Tip geben, aber verlassen darauf kannst und sollst Du Dich nicht.

Java:
System.gc();
 

Der Müde Joe

Top Contributor
So wie eine WC-Spülung ??????? :D

Kurz: ja (System.gc() zB)

Lang: Nein
Der GC läuft wann er will. System.gc() ist lediglich eine Hint: Bitte lieber GC, könnest du nicht bitte den Müll runter bringen. Ob er dann auch wirklich läuft, ist nicht garantiert. Garantiert ist nur, dass der GC vor einer OutOfMemoryException läuft.
 
Zuletzt bearbeitet:

FArt

Top Contributor
???:L

Warum passiert das im Forum immer wieder?

Man wirft dem Fragenden das Antipattern vor, er frißt es ohne nachzudenken und bedankt sich dafür. Warum war mir das von Anfang an klar?

Den GC zu triggern ist ein Anitpattern. Diskussionen dazu wurden schon häufig geführt (siehe Google und hier im Forum).

Nur ein Beispiel:
Der manuelle Aufruf von flush() sollte durch ein sauberes Design der Anwendung immer vermieden werden können und ist ähnlich zu bewerten wie ein manueller Aufruf von System. gc(), der eine manuelle Garbage Collection anfordert. In beiden Fällen verhindert man ein normales, optimiertes Arbeiten der Technologien.
Performance Anti-Patterns Teil 2: Flush und Clear Mapping Anti-Patterns

Hier wird der System.gc zwar nur als Beispiel aufgezählt (es geht um ähnliche Tricks im Umgang mit Hibernate), aber Google ist ja bekannt und es lässt sich noch mehr dazu finden.

Glaubst du wirklich die VM fährt gegen die Wand ohne zu bremsen?
 

fastjack

Top Contributor
@L-ectron-X das war ja auch ironisch gemeint ;) Leider fehlt im Editor noch das Ironie-tag.

@FArt Also ich kann nicht erkennen das Joe oder ich ihm (dem Fragenden) das jetzt vorgeworfen hätten. Wir haben nur gesagt, das es diese Möglichkeit gibt, man sich aber darauf nicht verlassen kann und sollte.

@Stickman Du sollst bei Speicherproblemen eher Deine Programmierung betrachten, weil sich viele Speicherprobleme durch achtsames programmieren von vornherein nicht ergeben. Beispiel:

* Ist Dein Modell überhaupt geeignet für Deine Aufgabe?
* Verbrätst Du viele teure Objekte, statt sie zu leeren/resetten etc.?
* Werden erzeugte Objekte überhaupt genutzt?
* Schließt Du Buffer und Co. nach dem Benutzen?
* Strings richtig behandeln: (Nicht so) -> String s = new String("hallo welt!");

uns so weiter und so fort.

Ansonsten gibt es noch weitere Infos in Google, speziell zum Thema Speicher in Generation (young/old etc.) und Garbage Collection.
 
M

maki

Gast
Man wirft dem Fragenden das Antipattern vor, er frißt es ohne nachzudenken und bedankt sich dafür. Warum war mir das von Anfang an klar?
Hehe... das alte Spiel:
- Auf keinen Fall den roten Knopf drücken!
- Jawohl, roter Knopf wird gedrückt...
 

FArt

Top Contributor
@fastjack & der müde joe

Ihr habt euch schon deutlich ausgedrückt... aber "Tipp" und "Antwort: nein" werden (wie so oft) konsequent ignoriert, wenn es "Alternativen" gibt.

Du kannst wetten: bei den Antworten "richtig Lösung.... (+50 Zeilen)" und "Workaround: (+3 Zeilen)" kommt die Reaktion "super, diese Lösung (Workaround) habe ich gesucht. Das andere ist mir zu kompliziert und zu aufwendig. (Der letzte Zusatz wird meist nicht geschrieben sondern nur gedacht).

Ach, was solls... ich gehe lieber zum baden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Garbage collector Allgemeine Java-Themen 3
D Garbage Collector Allgemeine Java-Themen 3
A Garbage Collector Allgemeine Java-Themen 3
A Garbage Collector in NetBeans vs. exe Anwendung Allgemeine Java-Themen 33
L Garbage Collector lässt Programm kurz hängen Allgemeine Java-Themen 10
H2SO3- SCJP garbage collector frage Allgemeine Java-Themen 13
R Garbage Collector löscht anscheinend nichts Allgemeine Java-Themen 22
S Garbage Collector entlasten Allgemeine Java-Themen 2
P Threads ohne Referenz & der Garbage Collector Allgemeine Java-Themen 2
S garbage collector prog Allgemeine Java-Themen 4
S Threads <-> Garbage Collector Allgemeine Java-Themen 2
M Java Garbage Collector Frage (Singleton Pattern) Allgemeine Java-Themen 13
P Garbage Collector funktioniert nicht richtig? Allgemeine Java-Themen 12
M Problem mit garbage collector Allgemeine Java-Themen 19
R Garbage Collector rennt die ganze Zeit Allgemeine Java-Themen 7
M Garbage Collector Allgemeine Java-Themen 5
T Garbage Collection Frage Allgemeine Java-Themen 15
B Garbage Collection Logfile: Binary File Allgemeine Java-Themen 2
hdi Garbage Collection Allgemeine Java-Themen 12
T Objekt der Garbage Collection zugaenglich machen? Allgemeine Java-Themen 7
F Frage zu Memory Leak, Garbage Collection und Profiler-Tools Allgemeine Java-Themen 6
M Wie lange dauert ein garbage collection Allgemeine Java-Themen 7
R Garbage Collection bei gegenseitiger Objektreferenz Allgemeine Java-Themen 2
M Garbage manuell loswerden Allgemeine Java-Themen 29
M garbage collection Allgemeine Java-Themen 14
G Frage zur Garbage Collection Allgemeine Java-Themen 5
H Collector Generics Problem (incl. Stream & Lambda) Allgemeine Java-Themen 4
P Grabage Collector Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben