Verständnis Java Memory Management

Java-Programmierer wissen, dass die JVM läuft, ein Garbage Collector und System.gc() würde nur eine Anregung sein, um die JVM zum ausführen einer Garbage Collector. Es ist nicht unbedingt dass, wenn wir-System.gc(), würde er sofort laufen die GC.

Bitte korrigieren Sie mich, wenn ich falsch verstehen Java ' s Garbage Collector.

Ist/sind es andere/s Speicher-management andere, als sich auf Java Garbage Collector?
Wenn Sie beabsichtigen, die Frage zu beantworten, durch eine Art Programmierung der Praxis, die helfen würde, die Verwaltung der Speicher, so tun Sie dies bitte.

Für System.gc () - Hasser, bitte erklären, warum würden Sie hassen Aufruf von GC.
Haben Sie Lesen Sie diese Frage?
Sie sollten verlassen Sie sich nie auf dem System.gc() wie in einigen Umgebungen kann es nie aufgerufen werden. Sie können verhindern, dass software von außerhalb der vm zu tun.
Ich denke, es läuft darauf hinaus, das System.gc() aufrufen, nicht zuverlässig und nicht (immer) freigeben von Ressourcen, die freigegeben werden müssen, wenn Sie aufgerufen. Also, wenn Sie ein tool haben, Sie können sich nicht wirklich verlassen, es gibt nicht allzu viele Gründe für Sie, um es tatsächlich zu verwenden.
JVM hat malloc()'d eine bestimmte Menge an Speicherplatz im heap. Das Betriebssystem ist verpflichtet zu haben, die viel Arbeitsspeicher für die JVM. GC ist nicht von der Regel immer zu reduzieren, dass die Menge. Je nachdem, wie JVM konfiguriert ist, dass die Zahl nicht unter einen bestimmten Betrag, egal, wie wenig die tatsächlichen Objekte sind im Speicher. Moderne OS ist smart genug, um andere Prozesse zu benutzen, die realen physikalischen Speicher und gehören swap-space in der Berechnung der Summe vorbehalten für die JVM, aber wenn Sie in einer position, wo das Zeug ist ein Problem in den ersten place, es kann von Bedeutung sein.

InformationsquelleAutor Michael Ardan | 2012-12-13

Schreibe einen Kommentar