Junior — Middle
Wat gebeurt er wanneer de finalize-methode wordt aangeroepen op een object in Java en welke bronnen kan het vrijmaken?
sobes.tech AI
Antwoord van AI
In Java wordt de methode finalize() aangeroepen door de garbage collector voordat een object uit het geheugen wordt verwijderd. Deze methode is bedoeld om niet-beheerde bronnen vrij te maken die niet automatisch worden opgeruimd, bijvoorbeeld:
- Sluiten van bestandsdescriptoren
- Vrijmaken van netwerkverbindingen
- Opschonen van native bronnen
Het gebruik van finalize() wordt echter niet aanbevolen, omdat de oproep niet gegarandeerd is en kan leiden tot vertragingen in het vrijmaken van bronnen. Moderne benaderingen suggereren het gebruik van try-with-resources of expliciete vrijgave van bronnen.
Voorbeeld:
@Override
protected void finalize() throws Throwable {
try {
// bronnen vrijmaken
} finally {
super.finalize();
}
}