Garbage Collection Frage

tanechka

Bekanntes Mitglied
Hallo,

brauche Hilfe die Antwort auf die Frage nachzuvollziehen:


Java:
class Beta{}
class Alpha{
  static Beta b1;
  Beta b2;
}

public class Tester{
 public static void main(String[] args){

  Beta b1 = new Beta(); Beta b2 = new Beta();
  Alpha a1 = new Alpha(); Alpha a2 = new Alpha();
  a1.b1=b1;
  a1.b2 = b1;
  a2.b2=b2;
  a1=null; b1=null; b2=null;

//do stuff        //line16
}
}

When line 16 is reached, how many objects will be eligble for g.c.?

A.0
B.1
C.2
D.3
E.4
D.5

Ich verstehehe so:
a1->a1.b1->b1 (a1, b1 ist null)
a1->a1.b2->b1 (a1,b1,b2 ist null)
a2->a2.b2->b2 (b2 ist null)
Also, wenn gefragt wird "will be eligible for g.c." heißt das die Objekte die zu Null gemacht wurden oder die die bleiben? Es bleibt also 1 Objekt: a1, die anderen a1,b1,b2 sind null.
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
> Also, wenn gefragt wird "will be eligible for g.c." heißt das die Objekte die zu Null gemacht wurden oder die die bleiben?

die, die nicht mehr greifbar sind, siehe auch (*)


> Es bleibt also 1 Objekt: a1, die anderen a1,b1,b2 sind null.

da ist schon ein sprachlicher Fehler, a1 hast du 2x aufgeführt, a2 gar nicht

(*) wichtig ist nicht nur, wie die ursprünglichen Variablen aussehen, sondern auch sonstige Referenzen im Programm

das Alpha-Objekt, welches ursprünglich in der Variablen a2 stand, bleibt dort die ganze Zeit, steht am wenigsten in Frage,
'a2' ist garantiert noch da,

in a2.b2 wurde das Beta-Objekt b2 abgelegt,
auch wenn b2 dann auf null gesetzt wird, ist diese Objekt in Zeile 16 noch bekannt, über a2.b2 verwendbar, zugreifbar, also ist auch 'b2' noch erhalten

so, die anderen beiden bitte selber überlegen
 

hasso

Mitglied
Der GC räumt in dem Fall gar nix weg, darf er gar nicht.

Im übrigen "eligible" bedeutet geeignet/annehmbar, d.h. die Frage ist, wenn in Zeile 16 der GC losläuft, was wird er wegräumen.
 
S

SlaterB

Gast
@hasso
meinst du damit irgendeine (technische) Spitzfindigkeit?
die Aufgabe ist offensichtlich, herauszufinden, welche der Objekt erzeugt wurden und nicht mehr erreichbar sind,
da gibt es mindestens eins, dafür garantiere ich ;)
 

hasso

Mitglied
Dafür hab ich doppelt gedacht, das zählt auch :D

Hab das jetzt mal probiert weil mir irgendwie die Vorstellung dafür fehlt. B1 ist wirklich noch erreichbar, hätte ich gewusst das der Debugger statische Variablen nicht im Objekt anzeigt wären wir schneller fertig gewesen ;)
 
S

Spacerat

Gast
Ich denke er wird genau nur 1 Objekt wegräumen: Und zwar a1.

b1 wird in Zeile 12 der statichen Variable b1 der Klasse Alpha zugewiesen und dürfte in Zeile 16 noch per Alpha.b1 erreichbar sein. In Eclipse ergeben solche Zuweisungen 'ne Warnung (object access on static member).

a2.b2 hat den Wert von b2 und da a2 selbst nicht null wird, ist b2 immer noch über a2.b2 erreichbar.
 
S

SlaterB

Gast
man kann sogar mit a1.b1 zugreifen, jedenfalls bei mir, empfehlenswert ist es sicher nicht

Eclipse meckert dann zwar 'Null pointer access: The variable a1 can only be null at this location' aber es kommt doch das Beta-Objekt raus..
 
S

Spacerat

Gast
@SlaterB: Das ist Einstellungssache... Im Gegensatz zu Eclipses Einstellungen kann der Compiler die Klasse trotzdem erstellen und dabei den Access korregieren. Ich denke das tut er auch und zwar ohne das Eclipse davon was mitbekommt. Das Programm kann dann trotz Warnungen und sogar Fehlern problemlos ausgeführt werden. Aber dafür in Eclipse Einstellungen ändern, die an anderer Stelle hilfreich sein könnten? näääääh.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Frage zu Memory Leak, Garbage Collection und Profiler-Tools Allgemeine Java-Themen 6
G Frage zur Garbage Collection Allgemeine Java-Themen 5
B Garbage Collection Logfile: Binary File Allgemeine Java-Themen 2
hdi Garbage Collection Allgemeine Java-Themen 12
T Objekt der Garbage Collection zugaenglich machen? Allgemeine Java-Themen 7
M Wie lange dauert ein garbage collection Allgemeine Java-Themen 7
R Garbage Collection bei gegenseitiger Objektreferenz Allgemeine Java-Themen 2
M garbage collection Allgemeine Java-Themen 14
J Garbage collector Allgemeine Java-Themen 3
D Garbage Collector Allgemeine Java-Themen 3
A Garbage Collector Allgemeine Java-Themen 3
A Garbage Collector in NetBeans vs. exe Anwendung Allgemeine Java-Themen 33
L Garbage Collector lässt Programm kurz hängen Allgemeine Java-Themen 10
H2SO3- SCJP garbage collector frage Allgemeine Java-Themen 13
R Garbage Collector löscht anscheinend nichts Allgemeine Java-Themen 22
S Garbage Collector entlasten Allgemeine Java-Themen 2
JStickman Der Garbage Collector Allgemeine Java-Themen 13
P Threads ohne Referenz & der Garbage Collector Allgemeine Java-Themen 2
S garbage collector prog Allgemeine Java-Themen 4
S Threads <-> Garbage Collector Allgemeine Java-Themen 2
M Java Garbage Collector Frage (Singleton Pattern) Allgemeine Java-Themen 13
P Garbage Collector funktioniert nicht richtig? Allgemeine Java-Themen 12
M Problem mit garbage collector Allgemeine Java-Themen 19
M Garbage manuell loswerden Allgemeine Java-Themen 29
R Garbage Collector rennt die ganze Zeit Allgemeine Java-Themen 7
M Garbage Collector Allgemeine Java-Themen 5
Rakshan Generic reading of XML document from the root tag into an Collection Allgemeine Java-Themen 0
JavaJüngling beliebige Collection die Comperable Elemente enthält als Parameter Allgemeine Java-Themen 37
W Collections Suche Collection, um Strings mit Indizees versehen Allgemeine Java-Themen 47
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
Y String-Collection: längste gemeinsame Strings / Prefixe Allgemeine Java-Themen 3
S Probleme mit Collection Allgemeine Java-Themen 7
S Passende Java Collection Allgemeine Java-Themen 5
D Eigene/r Collection/Container Allgemeine Java-Themen 3
K Collections Collection<> mit List<String> abgleichen? Allgemeine Java-Themen 10
D Beste Collection für Integer Allgemeine Java-Themen 4
H JPA (EclipseLink) Neuer Eintrag in Collection speichern (unidirektional) Allgemeine Java-Themen 3
M Collections Typ Variable einer generischen Collection ? Allgemeine Java-Themen 4
H Datentypen Collection für SQL-Datentypen Allgemeine Java-Themen 2
M collection persistence system Allgemeine Java-Themen 4
K associate collection with two open sessions Allgemeine Java-Themen 12
T Liste mit GregorianCalendar-Objekten in List einlesen, mit Collection sortieren und ausgeben Allgemeine Java-Themen 3
S Stilfrage bezüglich Beans mit Collection-Properties Allgemeine Java-Themen 2
B iText Portable Collection Acrobat X Allgemeine Java-Themen 2
S Eine Collection von Objekten mit LDAP Syntax filtern Allgemeine Java-Themen 5
Rudolf Aus Collection<Integer> eine Zahl machen Allgemeine Java-Themen 2
R Dateigestützte Collection für große Datenmengen Allgemeine Java-Themen 5
P Collection Tree Allgemeine Java-Themen 19
C Die schnellste Collection-Klasse ? Allgemeine Java-Themen 37
K Collection.contains()/retainAll() mit Referenzgleichheit statt equals()? Allgemeine Java-Themen 2
W return Collection mit schleife durchsuchen Allgemeine Java-Themen 10
E Collection Problem Allgemeine Java-Themen 2
B Geordnete, begrenzte Collection Allgemeine Java-Themen 3
D [SOLVED] Collection wird nicht richtig per Konstruktor übernommen Allgemeine Java-Themen 8
S Wahl der Collection, unspezifizierte Elementtypen Allgemeine Java-Themen 4
D Map mit Collection Eigenschaften Allgemeine Java-Themen 9
S Innerer Type einer generischen Collection herausfinden? Allgemeine Java-Themen 13
B SBCC - Swing Better Components Collection - downloadlink ? Allgemeine Java-Themen 5
G Schnelligkeit einer Collection Allgemeine Java-Themen 12
V Collection in Collection Allgemeine Java-Themen 3
W [solved] Vector sortieren (Collection / Comparable?) Allgemeine Java-Themen 7
M Collection aufteilen Allgemeine Java-Themen 4
S Collection Type Allgemeine Java-Themen 8
S Probleme mit collection.containsAll Allgemeine Java-Themen 28
C Collection Multithreading? Allgemeine Java-Themen 33
vogella Überschreiben von equals und hashcode für Collection Allgemeine Java-Themen 7
T Hibernate Criteria Queries - Abfragen von Collection-Members Allgemeine Java-Themen 2
M Schnellste Collection/Liste Allgemeine Java-Themen 15
M Collection mit ArrayList Allgemeine Java-Themen 17
F mittels Collection<A> an A.class kommen? Allgemeine Java-Themen 7
L Welche Collection ist die richtige ? Listen mergen Allgemeine Java-Themen 3
B Collection Allgemeine Java-Themen 2
N Collection#retainAll(Collection<?> c) Allgemeine Java-Themen 3
R Objekttyp ermitteln das aus generischer Collection kommt Allgemeine Java-Themen 3
J Von Collection zu vector Allgemeine Java-Themen 5
P Welche Collection verwenden? Allgemeine Java-Themen 4
S Sortierung einer Collection nach dem Attribut "name&quo Allgemeine Java-Themen 3
C Collection Element ersetzen Allgemeine Java-Themen 5
C public boolean containsAll(Collection c) Allgemeine Java-Themen 2
C Collection, LinkedList, Elemente Allgemeine Java-Themen 4
KonradN Mal eine Frage zu Binary Serialization Allgemeine Java-Themen 15
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
8u3631984 Frage Performance bei Linked List und Array List Allgemeine Java-Themen 5
H Frage regex greater than less than Allgemeine Java-Themen 7
berserkerdq2 Frage zu IntelliJ und JavaFX Allgemeine Java-Themen 1
W Timer Konzept-Frage Allgemeine Java-Themen 16
T Eine Frage des Designs Allgemeine Java-Themen 2
C Frage zu eigenem TableCellRenderer Allgemeine Java-Themen 11
C Programmvorstellung & Frage zum Thema Geschäftsform Allgemeine Java-Themen 51
J Frage zu System.getproperties. Allgemeine Java-Themen 60
molat100 wie kann man die Frage beantworten Allgemeine Java-Themen 1
pkm Frage zur Präzision von Calendar.WEEK_OF_YEAR Allgemeine Java-Themen 12
J Eine Frage zu den Threads und Task Allgemeine Java-Themen 1
pkm Frage nach eventuellem syntaktischen Zucker bei der Konkatenation von ArrayLists Allgemeine Java-Themen 4
M Frage-Antwortspiel wie Wer wird Millionär Allgemeine Java-Themen 1
F Frage zu System.in Allgemeine Java-Themen 3
marcooooo Frage zum Beispiel im Anhang Allgemeine Java-Themen 16
T Meine Frage lautet wie ich 2 CSV Dateien miteinander in Java verbinde und Spalten die zueinander gehören durch den gleichen Key zusammen ausgebe? Allgemeine Java-Themen 5
S Noch eine Design-Frage zu Setter Allgemeine Java-Themen 6
B For-Loop Frage Allgemeine Java-Themen 21

Ähnliche Java Themen

Neue Themen


Oben