Java Schulung - Jens.Trapp@DLR.De - August 1996

Speicherverwaltung


Die Speicherverwaltung unterscheidet sich wesentlich von C! Zum Allokieren eines Speicherbereichs wird das Kommando new verwendet. Wegen Automatischer Garbage Collection wird kein free-Kommando benötigt!

Die Konstante null zeigt an, daß kein Speicherplatz zur Verfügung steht.

Felder:

		double werte[]=null;
			
		if (werte==null)
			werte = new double[10]; //Allokieren
		
		
		werte = null; // Gibt den Speicher wieder frei!
	
Indizes außerhalb des allokierten Bereichs erzeugen einen ArrayIndexOutOfBoundsException Fehler, der mit try und catch abgefangen werden kann.

Es besteht eine Ähnlichkeit zwischen Objekten und Feldern:

Objekte:

		java.awt.Button button= new java.awt.Button(); //Allokieren
		button = null; // Gibt den Speicher wieder frei!
	

Mehrdimensionale Arrays sind ebenfalls möglich:

	
	double matrix[][] = new double[3][3];
		
		for (i=0; i<3; i++)
		matrix [i][i]=1;
	
Achtung: matrix[i,i] ist falsch!!