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.
2909
Views
ALV: Dynamischer Typkonflikt bei Zuweisung von Referenzen
von ABAP_User » 06.12.2011 20:39 • Verfasst in ABAP Objects®
1
Antw.
1264
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.
2035
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.
1784
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

Dialog-Container mit Toolbar/Status
vor einer Stunde von black_adept gelöst 23 / 3496
User Exit EXIT_RQCPRM10_001
vor 2 Stunden von a-dead-trousers 2 / 161
Trennen Strasse und Hausnummer
vor 8 Stunden von payten 13 / 10464
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1220

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

Dialog-Container mit Toolbar/Status
vor einer Stunde von black_adept gelöst 23 / 3496
User Exit EXIT_RQCPRM10_001
vor 2 Stunden von a-dead-trousers 2 / 161
Trennen Strasse und Hausnummer
vor 8 Stunden von payten 13 / 10464
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1220

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2772
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9350