Löschen von Objekt erzwingen

Status
Nicht offen für weitere Antworten.

Streen

Mitglied
Hallo,

Und zwar habe ich folgendes Problem, ich möchte ein Objekt in meinem Projekt löschen.
Klar mit obj = null, lösche ich den Pointer auf dieses Objekt, und wenn es der letzte Pointer war sammelt der Garbage Collector das Ding ein und löscht es.

Das Problem ist, dass ich relativ viele Pointer an unterschiedlichen Stellen im Programm habe die alle auf das Objekt zeigen. Wie kann ich es anstellen, dass ich sagen kann delete(obj) und alle Pointer drauf werden automatisch null gesetzt, sprich das Ding wird gelöscht?

Grüsse, Streen
 
S

SlaterB

Gast
hoho, nein sowas geht in einer geordneten Programmierwelt nicht,

eine Spielerei in der Richtung:
alle unterschiedlichen Stellen im Programm haben keine Referenz auf das Objekt direkt sondern auf ein spezielles Objekt der Klasse MyReference,

dann hat nur dieses eine MyReference eine Referenz, diese kannst du leicht(er) auf null setzen,
alle Stellen im Programm behalten weiter ihre Referenz auf das eine MyReference-Objekt und müssen halt immer damit rechnen,
dass dieses auf null weiterleitet
 

Streen

Mitglied
Hmm, okay...

Das Problem war, das ich am Anfang bei meiner Planung leider nicht dran gedacht hatte dass ich das Objekt mit dem ganzen Rattenschwanz der dran hängt wieder löschen muss, da es ein Konsolenprogramm war, das einfach nur druchlief. Jetzt hab ich ne GUI für implementiert.

Da mit den Null Pointern währe nicht so schlimm (hab dafür schließlcih die Exceptions drin ^^)

Hmm mal schaun ob sich das mit dem Referenz-objekt lösen lässt...

*Grübel*


Danke,
Streen

Edit: Ne andere Idee, gibt es eine Möglichkeit nachzusehen wieviele Referenzen noch auf einem Objekt zeigen?
Edit2: Und gibt es eine Möglichkeit den Garbage Collector dazu zu zwingen, dass er gleich aufräumt? Sprich was in der Art GB.freeNow() ?
 

exi

Mitglied
Hallo,

hast du das was du suchst nicht schon längst gegeben?
Du legst das Objekt genau 1mal mit
myObj = new Objekt()
an. Die rechte Hälfte der Gleichung legt in einem Speicherbereich die Instanz physikalisch an. Die linke Hälfte der Gleichung nennt eine 2Byte-Adresse mit der Adresse der Instanz. An Methoden und Klassen übergibst du diese Adresse. Und wenn du an einer Stelle den Inhalt der Adresse auf Null gesetzt hast und an einer anderen Stelle zugreifst, dann findest du NULL vor. -- Das ist ein häufiger Grund für die Null-Pointer-Exception.
Was du natürlich nicht machen darfst ist es den Wert der Adresse erst einmal zwischenzuspeichern.
Pointer puffer = myObj
wird nicht zusammen mit myObj verändert. Sondern erst dann, wenn puffer neu überschrieben wird.
 
S

SlaterB

Gast
> Was du natürlich nicht machen darfst ist es den Wert der Adresse erst einmal zwischenzuspeichern.

eine einzelne Referenz auf null setzen ist keine Kunst,
im ersten Posting ist doch sehr deutlich gegeben, dass es um mehrere Referenzen geht:

> Das Problem ist, dass ich relativ viele Pointer an unterschiedlichen Stellen im Programm habe
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
V Objekt löschen Allgemeine Java-Themen 7
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
A LinkedList Auslesen und Objekt Löschen Allgemeine Java-Themen 4
7 Inhalt eines Objekts leeren aber Objekt nicht löschen Allgemeine Java-Themen 17
M löschen in Rot Schwarz Bäumen Allgemeine Java-Themen 6
M lineare Sondierung löschen Allgemeine Java-Themen 2
A Sicheres Löschen von Dateien Allgemeine Java-Themen 7
E Varialbe komplett Löschen Allgemeine Java-Themen 26
O Warum kann ich so keine Elemente löschen und erhalte einen IllegalStateException? Allgemeine Java-Themen 4
J ArrayList, ganze Zeilen löschen oder überspringen Allgemeine Java-Themen 4
glamdring273 Discord JDA, Kanal löschen Allgemeine Java-Themen 0
G Java Editor Löschen doppelter Zahlen einer Liste Allgemeine Java-Themen 2
J RotSchwarzBaum: Löschen mittels insert-Methode Allgemeine Java-Themen 20
X Größten Werte in meinem Array löschen? Allgemeine Java-Themen 16
P Erste Schritte Dateien löschen Allgemeine Java-Themen 4
S Einzigartigen String in Datenbank finden und löschen Allgemeine Java-Themen 23
J Datei löschen, die Leerzeichen im Pfad hat Allgemeine Java-Themen 5
R Index in einem Array löschen Allgemeine Java-Themen 10
R Index in einem Array löschen Allgemeine Java-Themen 2
A Referenzen von Bildobjekten löschen Allgemeine Java-Themen 0
I PDF freigeben zum löschen Allgemeine Java-Themen 4
P Löschen eines keys in einer SortedMap Allgemeine Java-Themen 5
P JDK installieren Kann man die Ordner in C:\Users\*\AppData\LocalLow\Sun\Java\.... löschen? Allgemeine Java-Themen 3
X Löschen von einer Zeile in einer Text Datei. Klappt nicht. Allgemeine Java-Themen 4
J Java - Zeile aus Text datei löschen Allgemeine Java-Themen 13
W Arraylist Text Suchen und Datei löschen Allgemeine Java-Themen 5
G Datei löschen Allgemeine Java-Themen 8
R LinkedList und Threads: Strukturprobleme bez. löschen von Elementen Allgemeine Java-Themen 3
Bluedaishi Dateien löschen die älter als das aktuelle Datum sind Allgemeine Java-Themen 9
L Doppelte eintraege im Stringbuffer löschen Allgemeine Java-Themen 4
J Doppelte Buchstaben löschen - letztes Wort macht er nicht Allgemeine Java-Themen 2
M lucene suchen/löschen/hinzufügen Allgemeine Java-Themen 4
R Leere Verzeichnisse löschen Allgemeine Java-Themen 11
S Speichern/Laden/Hinzufügen/Löschen der Array-Wörter; unerwartete Ausgabe Allgemeine Java-Themen 6
V System.out.println an jeder Stelle im Projekt löschen Allgemeine Java-Themen 4
M Batch zum Java Cache löschen Allgemeine Java-Themen 3
R Löschen von Files nicht möglich Allgemeine Java-Themen 11
KrokoDiehl Verzeichnisse via FileVisitor löschen Allgemeine Java-Themen 3
127.0.0.1 StringBuffer leere Zeile löschen Allgemeine Java-Themen 8
J char-Array löschen Allgemeine Java-Themen 5
W n:m Beziehung Referenzen löschen Allgemeine Java-Themen 5
127.0.0.1 Zeilen in .txt Datei löschen Allgemeine Java-Themen 11
D Löschen-Methode im Stapelverarbeitungsprogramm Allgemeine Java-Themen 4
S JTable und Spalten löschen Frage Allgemeine Java-Themen 5
EnHancEd[] ArrayList gezielt löschen Allgemeine Java-Themen 9
S Nullen aus Array löschen Allgemeine Java-Themen 10
N Java lässt sich nicht löschen! Allgemeine Java-Themen 7
U Wie kann mit einen Java Applet Dateien erstellen,verschieben und löschen? Allgemeine Java-Themen 9
P Input/Output Ordner löschen --> geht nicht Datei --> Ja Allgemeine Java-Themen 6
K Leerzeiilen aus ArrayList löschen?! Allgemeine Java-Themen 7
S Singleton Instanz löschen Allgemeine Java-Themen 5
Z Ausschneiden, Kopieren, Einfügen, Löschen in JTextArea Allgemeine Java-Themen 5
K Java Feld Duplikate löschen Allgemeine Java-Themen 5
F SAXBuilder blockiert löschen von Dateien Allgemeine Java-Themen 2
L Datei sicher löschen/mehrfach überschreiben? Allgemeine Java-Themen 2
S Java komplett löschen und neu installieren Allgemeine Java-Themen 4
N Java geht nicht mehr zu löschen Allgemeine Java-Themen 5
E Regex alles nach ? löschen Allgemeine Java-Themen 4
I Über eine Liste iterieren und Objekte löschen. Wie löst man das sauber? Allgemeine Java-Themen 5
W 2D-Grafik nach getthumbnail läst sich Quellbild nicht mehr löschen Allgemeine Java-Themen 3
E Regex HTML Tag und Inhalt löschen Allgemeine Java-Themen 4
S Zeilen in einer Datei löschen Allgemeine Java-Themen 3
Z aus private List<???> list eintrag löschen Allgemeine Java-Themen 4
C Zeile aus einer CSV-Datei löschen Allgemeine Java-Themen 3
J Element aus HashSet löschen Allgemeine Java-Themen 2
S Element aus ArrayListe löschen --> Thread hängt sich auf Allgemeine Java-Themen 2
G Mit Batch-Datei verzeichnisse löschen Allgemeine Java-Themen 9
K von List getSelected auf ResultSet Datenbank löschen Allgemeine Java-Themen 2
S Reihen aus einem 2-dim. Array 'löschen' Allgemeine Java-Themen 2
K Threading - schreiben auf Hashmap/löschen - ConcurrentModificationException Allgemeine Java-Themen 3
A Zeilen aus einer Textdatei löschen Allgemeine Java-Themen 6
M Arraylist - Inhalte in Textferldern anzeigen, verändern und löschen. Allgemeine Java-Themen 18
S Liste Object Löschen Allgemeine Java-Themen 7
G Log4J - Logs älter als 3 Tage löschen Allgemeine Java-Themen 5
Quaxli Files massenhaft löschen Allgemeine Java-Themen 3
J Mit POI Zeile in Excel löschen Allgemeine Java-Themen 5
D Kann Tiff Datei nicht löschen Allgemeine Java-Themen 12
0x7F800000 Regex zum löschen vom unnötigen whitespace Allgemeine Java-Themen 4
Daniel_L Best Practice zum Löschen von Log-Files? Allgemeine Java-Themen 8
S Problem beim Löschen des Inhalts des Fensters Allgemeine Java-Themen 4
O Zeile eines Textfiles löschen Allgemeine Java-Themen 2
O File zum löschen "schließen" Allgemeine Java-Themen 2
G JTree Node löschen Allgemeine Java-Themen 2
C String to hex und hex-Werte löschen Allgemeine Java-Themen 2
H Benutzerkonto löschen Allgemeine Java-Themen 4
G Dateien löschen Allgemeine Java-Themen 3
G Datei löschen nach kopieren geht nicht Allgemeine Java-Themen 5
G List- Einträge löschen Allgemeine Java-Themen 3
T probleme mit file löschen Allgemeine Java-Themen 9
F Aus einer XML Datei löschen Allgemeine Java-Themen 3
M Endgültiges Löschen von Objekten Allgemeine Java-Themen 7
H JTable Löschen [Alle Zeilen aufeinmal Löschen] Allgemeine Java-Themen 6
Z Letztes zeichen eines strings löschen Allgemeine Java-Themen 3
T LDAP - Eintrag löschen Allgemeine Java-Themen 6
J Alte Log Files löschen mit log4j Allgemeine Java-Themen 3
C StyledDocument: SimpleAttributeSets löschen? Allgemeine Java-Themen 2
P löschen Allgemeine Java-Themen 5
M JLabels löschen (sollen nicht mehr gezeichnet werden) Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben