Speicherverwaltung

Status
Nicht offen für weitere Antworten.

consch

Mitglied
Hallo,

ich muss eine Speicherverwaltung in Java implementieren, dabei hab ich irgendwie ein Problem mit der Umsetzung :(

Ich weiss, dass allocate und error mit rein müssen, aber wie mach ich das in Java, ich hab ja keine Pointer wie in C.
Kann mir da vielleicht jem. nen Tipp geben?
Vielen Dank schonmal,
 

akira

Bekanntes Mitglied
In Java ist die "Speicherverwaltung" ein integraler Bestandteil der Sprache, einen weitern darüber hinaus zu entwickeln macht eigentlich keinen Sinn.
 

consch

Mitglied
also Speicherverwaltung ist in dem Sinne:
Speicher verwaltet BooleanWerte-Liste, der n-te Wert sagt, ob n-te Speicherblock frei ist oder reserviert.

Da dachte ich dann, wenn man Wert reservieren möchte macht man das mit allocate, und bekommt 'nen error oder Bereich der angeforderten Länge wird reserviert.
Dann muss man vielleicht irgendwie noch Speicherplatz freigeben, aber das hab ich mir noch nicht überlegt ...
 

akira

Bekanntes Mitglied
Sowas wie alloc gibt es in Java nicht. Neue Objekte werden mit dem Operator new erzeugt und vom GarbageCollector automatisch aufgeräumt. Eine eigene Speicherverwaltung ist eigentlich unmöglich!
 

consch

Mitglied
aber man könnte doch einzelne Klassen schreiben, oder?
Also bsp. class Memory, class allocate
ist sowas möglich? Ich denke das ist dann einfacher mit ner anderen Programmiersprache zu vergleichen, oder?
 

akira

Bekanntes Mitglied
Bei Java nimmt Dir die JVM die ganze Arbeit bezüglich des Allokierens von Speicher ab.

Du erzeugst einfach eine neue Instanz mit new. Die JVM ermittelt alleine, wieviele Bytes sie allokieren muß und "merkt" sich, wieviele Referenzen auf ein solches Objekt existieren. Der GarbageCollector ist ein eigener Thread, der zyklich die Speicherauslastung testet und ggf. Objekte die nicht mehr referenziert werden freigibt.

Man muß sich darüber aber eigentlich keine allzu großen Gedanken machen, Du erzeugst einfach die Objekte die Du brauchst mit new und das wars.
 

Grizzly

Top Contributor
Ähh, ich denke consch meint das etwas anders. Hier geht es wohl eher um eine Implementation um die Funktionsweise einer Speicherverwaltung zu verdeutlichen und nicht darum, wirklich eine alternative Speicherverwaltung für Java zu schreiben.



Am besten schreibst Du Dir einfach eine eigene Klasse Memory. Diese Klasse muss dann Methoden nach außen haben, um den Speicherplatz an einer bestimmten Stelle zu lesen und zu schreiben.

Danach schreibst Du Dir die Klasse für die Speicherverwaltung. Aber um die Abstraktion nicht zu brechen, müssten die Speicherverwaltung die Tabelle, ob ein Speicherplatz belegt ist oder nicht, auch in einem Teil des Speichers sprich des Memory-Objektes ablegen. Hmmmm....
 

consch

Mitglied
Okay, Danke, ich versuch's mal. Habe es leider heut nicht eher geschafft hierher zu kommen, aber danke für Eure Antworten :)
 

akira

Bekanntes Mitglied
Ähh, ich denke consch meint das etwas anders. Hier geht es wohl eher um eine Implementation um die Funktionsweise einer Speicherverwaltung zu verdeutlichen und nicht darum, wirklich eine alternative Speicherverwaltung für Java zu schreiben.

Hm.., ich kann trotzdem den Sinn bei der Sache so nicht ganz erkennen. Wer denkt sich denn solche Aufgaben aus oder willst Du ein "reales" Problem lösen?
 

Grizzly

Top Contributor
akira hat gesagt.:
Ähh, ich denke consch meint das etwas anders. Hier geht es wohl eher um eine Implementation um die Funktionsweise einer Speicherverwaltung zu verdeutlichen und nicht darum, wirklich eine alternative Speicherverwaltung für Java zu schreiben.

Hm.., ich kann trotzdem den Sinn bei der Sache so nicht ganz erkennen. Wer denkt sich denn solche Aufgaben aus oder willst Du ein "reales" Problem lösen?

Lehrer, Professoren, Dozenten, usw. ;)
 

consch

Mitglied
Grizzly hat gesagt.:
akira hat gesagt.:
Ähh, ich denke consch meint das etwas anders. Hier geht es wohl eher um eine Implementation um die Funktionsweise einer Speicherverwaltung zu verdeutlichen und nicht darum, wirklich eine alternative Speicherverwaltung für Java zu schreiben.

Hm.., ich kann trotzdem den Sinn bei der Sache so nicht ganz erkennen. Wer denkt sich denn solche Aufgaben aus oder willst Du ein "reales" Problem lösen?

Lehrer, Professoren, Dozenten, usw. ;)
Ja genau so 'ne Leute ...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben