Doubts on Garbage Collection in Java

Ich weiß, dass viele Fragen zu Garbage Collection gestellt wurden und ich habe sie durchgesehen, aber ich habe immer noch einige Zweifel.

Wenn wir die JVM for Garbage-Sammlung nicht erzwingen können, was ist dann die Notwendigkeit vonSystem.gc()? In welchem Szenario ist es sinnvoll?

Ich weiß über die junge Generation [eden, SO, S1] und die alte Generation Bescheid und wie Objekte von der jungen Generation zur alten Generation bewegt werden. Wann wird ein Objekt auf permanente Generierung verschoben? Zum Beispiel habe ichmycar -Objekt, das einen Verweis hat und nicht für die Garbage Collection geeignet ist, also wann wirdmycar Objekt wird in permanenter Erzeugung verschoben?

Ich habe gelesen, dass statische Variablen permanent erzeugt werden. Wann wird Müll gesammelt und welche Art von anderen Objekten werden in permanenter Erzeugung aufbewahrt? Warum werden statische Variablen in der permanenten Generierung gespeichert und wofür wird die permanente Generierung verwendet?

Ich weiß, dass Objekte im Heap-Speicher gespeichert sind. Stimmt das, dass jede Anwendung einen eigenen Heapspeicher hat?

Ist es wahr, dass CallingSystem.gc() reduziert die Anwendungsleistung und verlangsamt unsere Anwendung? Oder wenn die Garbage Collection von JVM durchgeführt wird, verringert dies die Anwendungsleistung und kann dazu führen, dass unsere Anwendung langsam arbeitet?

In welchen Fällen wird eine teilweise Garbage Collection durchgeführt und wann wird die Major Garbage Collection durchgeführt?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage