Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

Frage zu recycle()

(1/3) > >>

Sebastianh:
Hallo,

folgender Code:

--- Code: ---lotus.domino.Document sDoc = docCollection.getFirstDocument();
while(sDoc != null){
docVector.add(sDoc);
sDoc = docCollection.getNextDocument();
}

--- Ende Code ---
sDoc ist hier ja jetzt zwangsweise irgendwann gleich null. Wenn ich jetzt im Schleifenrumpf, bevor ich sDoc ein neues Dokument zuweise,
--- Code: ---sDoc.recycle()
--- Ende Code ---
aufrufe, ist dann das entsprechende Dokument im Vektor auch "recycled"? Also, muss ich mich im Endeffekt hier überhaupt um sDoc kümmern, oder reicht es an späterer Stelle, wenn der Vector nicht mehr gebraucht wird, die Objekte in diesem zu recyclen?

Grüße,
Sebastian

Sebastianh:
ok, mit sDoc.recycle() werden auch die Objekte im Vector recycled, bzw. das, worauf Sie verweisen. Was mache ich denn dann mit meinem sDoc-Objekt? Wenn es null ist, kann ich es doch nicht mehr recyclen?!

jBubbleBoy:
Hä was willst du denn mit den Objekt-Referenzen in dem Vector machen?

Du kannst am Ende deines Codes ein Session.recycle(Vector) aufrufen. Vorher macht das ja keinen Sinn.

Sebastianh:
Das sind halt Dokumente die ich im weiteren Programmverlauf noch brauche.  Ich frage mich halt nur, wenn ich sDoc auf das erste Dokument der Collection zeigen lasse, dann entsprechend durchiteriere, und am Ende auf null setze, belegt sDoc dann noch in irgendeiner Art und Weise speicher, den ich, wie auch immer, wieder freigeben muss?
(oder reicht es, ganz am Ende des Codes lediglich meine Session zu recyclen (weil ja alle Objekte die ich im Verlaufe meines Code anlege irgendwie davon abhängen)).

jBubbleBoy:
Ich finde es verwirrend was du schreibst ;)

Wenn du sDoc auf null setzt, dann leerst du die Refrenzvariable, also nicht das Object sonder den Ort zum Speicher. Um das Object aus dem Speicher zu entfernen musst du ein recycle machen, macht natürlich nur Sinn wenn du es nicht mehr brauchst.

Das "recycle" entfernt auch nicht wirklich das Objekt, das macht dann eigentlich der GarbageCollector von Java.

Deine Refrenzvariable sDoc belegt sowenig Speicher das du das getrost ignorieren kannst.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln