Garbage Collector und löschen von Referenzen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Garbage Collector und löschen von Referenzen

Beitrag von cut1 (Specialist / 121 / 0 / 0 ) »
Hallo,

Im folgenden Code wird für jedes Feld eine eigene generische selectionstabelle
erstellt und im Perform befüllt. Danach wird eine "Pointertabelle" erstellt, damit ich später für das entsprechende Feld die Referent auf die entsprechende Selectionstabelle wieder finde.vorm Endloop lösche ich die referenz auf die erstellte Selektionstabelle.

An diesem Punkt meine Frage:

durch das löschen der Referenz bekommt dann irgenwann der Garbage Collector auf die Idee diesen Speicherbereich zu löschen (was schlecht wäre, da mir dann die Selektionstabellen unterm Hintern weggezogen würden, oder erreiche ich durch das zwischenspeichern der referenz in die interne tabelle pointertab, das der Garbage Collector den allokierten speicher nicht löscht).


Wo finde ich hinweise zum Garbage Collector ??

gruss und danke ..

Code: Alles auswählen.


data rf_tab            TYPE REF TO DATA.
FIELD-SYMBOLS <fs_tab> TYPE tt_range1.

   loop at it_felder into ab_felder.

      CREATE DATA rf_tab    type STANDARD TABLE of ty_range1.
      ASSIGN rf_tab->* to <fs_tab>.

      loop at it_buffer ASSIGNING <fs_bedingung> where feldname = ab_felder.
*        In diese generische Selektionstabelle stellen wir die Bedingungen.
         Perform pausch_tbl_fill_pointertab using <fs_bedingung> rf_tab 
      endloop.

      ab_pointertab-referenz = rf_tab.
      ab_pointertab-feldname = ab_felder     
     
      APPEND ab_pointertab to it_pointertab.

      clear rf_tab.

    ENDLOOP.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo cut1,

der Garbage Collector darf natürlich erst dann einen Speicherbereich freigeben, wenn es _keine_ Referenzen mehr auf ihn gibt. Wenn Du also die Referenzen in einer Tabelle speicherst, ist diese Bedingung nicht erfüllt. Ergo, Die Bereiche können nicht freigegeben werden.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von cut1 (Specialist / 121 / 0 / 0 ) »
Hi Ereglam,

sehe ich eigentlich genauso, wollte mich nur vergewissern das ich da richtig liege.

@ll:

Gibts möglichkeiten dem Garbage Collector über die Schulter zu schauen, bzw Einstellungen usw. ???? Oder werkelt dieser fröhlich vor sich Sinn (in den Untiefen von SAP bzw in den Händen der Basis-Leute) ??

Beitrag von Flo (Specialist / 161 / 0 / 0 ) »
Hi,
soweit ich weiß kann man da relativ wenig machen der werkelt halt vor sich hin und leert Speicherbereiche.
Ich hab mal in der Klasse CL_ABAP_MEMORY_UTILITIES die Methode do_garbage_collection gefunden die klingt zumindest so als könnte man damit den Garbage Collector anstoßen wirklich ausprobiert hab ichs aber nicht.

Gruß,
Flo

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2910
Views
ALV: Dynamischer Typkonflikt bei Zuweisung von Referenzen
von ABAP_User » 06.12.2011 20:39 • Verfasst in ABAP Objects®
1
Antw.
1267
Views
Typkonflikt bei Zuweisung von Referenzen cl_abap_typedescr
von autohandel7 » 17.09.2018 10:09 • Verfasst in ABAP® für Anfänger
1
Antw.
4391
Views
Include kann nicht gelöscht werden, da Referenzen existieren
von kbit100 » 09.03.2016 16:39 • Verfasst in ABAP® für Anfänger
2
Antw.
2052
Views
Wie ~150.000.000 DS löschen
von c0lt.seavers » 17.07.2007 08:03 • Verfasst in ABAP® für Anfänger
0
Antw.
1808
Views
MEAN - Anlieferadresse löschen
von Carol » 11.11.2005 11:47 • Verfasst in Material Management & Produktionsplanung

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
vor 2 Stunden von edwin 7 / 162
Daten an Tabelle binden
vor 15 Stunden von Bright4.5 3 / 1485

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 2 Stunden von edwin 7 / 162
Daten an Tabelle binden
vor 15 Stunden von Bright4.5 3 / 1485

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821