klein probleempje:
java kent zower ik weet geen destructors zoals C++. maar nu heb ik het probleem
dat ik een class heb die op een 'static class' (een global dus) iets (maakt niet uit) genereert. Wat ie genereert wordt bijgehouden en maintained door die globale (ok hij houd CachedXPathAPI's bij
) maar die objecten kunnen erg groot zijn en sommige kunnen 'delete' worden als het programma zeker weet dat ze niet meer nodig zijn. Mijn class creert dus zo'n Cache maar die mag weg nadat het object wordt 'gedelete' - zodoende kan ik de cache vrijlaten.
Ik heb ergens wel iets gevonden ivm finally maar niets over hoe je dit zou moeten implemteren op Class-niveau.
visueel:
dat ik voordat hij out of scope gaat kan ik natuurlijk dit manueel doen maar ik doe geen OOP om dat zelf bij te houden... iemand een ideetje?
java kent zower ik weet geen destructors zoals C++. maar nu heb ik het probleem
dat ik een class heb die op een 'static class' (een global dus) iets (maakt niet uit) genereert. Wat ie genereert wordt bijgehouden en maintained door die globale (ok hij houd CachedXPathAPI's bij
Ik heb ergens wel iets gevonden ivm finally maar niets over hoe je dit zou moeten implemteren op Class-niveau.
visueel:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| tClass = new myClass("some xml"); //de constructor doet dan public myClass(String xml) { gXMLCaches.addNewXPathCache(xml); //returned niets want maakt niet uit } //de rest van het programma kan dus nu aan die cache (is transparent) //op een bepaalt punt weet ik 100% zeker dat ik de cache niet meer nodig heb //dit is wanneer tClass wordt verwijderd (meestal gaat ie gewoon out-of-scope) //dan zou die dus ergens in de 'destructor': gXMLCaches.deleteXPathCache(aNode from my cache...) |
dat ik voordat hij out of scope gaat kan ik natuurlijk dit manueel doen maar ik doe geen OOP om dat zelf bij te houden... iemand een ideetje?