Middle
Kas on linke, mis näitavad, kuidas prügikorjaja töötab?
sobes.tech AI
Vastus AI-lt
Jah, võimalik on luua näiteid, mis näitavad prügikoristaja mõju:
// Näide 1: Suurte objektide loomine
public class GarbageCollectionDemo1 {
public static void main(String[] args) {
List<DummyObject> objects = new ArrayList<>();
for (int i = 0; i < 1000000; i++) {
objects.add(new DummyObject(i)); // Loome palju objekte
}
// Sel hetkel võib prügikoristaja kutsuda, et vabastada mälu
// kui nimekirja objektid ei kasutata mujal:
// Isegi kui seda otseselt ei kutsuta, töötab see vajadusel:
// Nimekirja puhastamine võib potentsiaalselt vabastada mälu
objects.clear();
System.gc(); // Selge prügikoristaja kutsumine (ei garanteeri täitmist)
}
static class DummyObject {
private int id;
public DummyObject(int id) {
this.id = id;
}
@Override
protected void finalize() throws Throwable {
// finalize meetod kutsutakse enne prügikoristust (ei garanteeri ja ei soovitata)
// System.out.println("Objekt kogutakse, id: " + id);
}
}
}