1. Speicheranalyse
Die Array-Referenzvariable ist nur eine Referenz. Diese Referenzvariable kann auf einen gültigen Speicher verweisen. Nur wenn die Referenz auf einen gültigen Speicher verweist, kann über die Array-Variable auf das Array-Element zugegriffen werden.
Referenzvariablen sind wie alle Referenzvariablen die grundlegende Möglichkeit, auf reale Objekte zuzugreifen. Das heißt, wenn Sie im Programm auf das Array-Objekt selbst zugreifen möchten, können Sie nur über die Referenzvariable dieses Arrays darauf zugreifen.
Das eigentliche Array-Objekt wird im Heap-Speicher gespeichert. Wenn die Array-Referenzvariable, die auf das Array-Objekt verweist, eine lokale Variable ist, wird sie im Stapelspeicher gespeichert.
2. Beispiel
Wenn das Array im Heap-Speicher keine Referenzvariablen mehr hat, die auf sich selbst verweisen, wird dieses Array zu Müll und der belegte Speicher wird vom Garbage-Collection-Mechanismus des Systems zurückgewonnen. Um daher den Garbage-Collection-Mechanismus zu verwenden, um den von einem Array belegten Speicherplatz zurückzugewinnen, können Sie „diese Array-Variable auf Null“ zuweisen, wodurch die Referenzbeziehung zwischen der Array-Referenzvariablen und dem tatsächlichen Array unterbrochen wird und so das tatsächliche Array erstellt wird werden Müll. Unter der Voraussetzung der gegenseitigen Kompatibilität darf eine Array-Variable auf ein anderes tatsächliches Array verweisen. Diese Operation erzeugt die Illusion, dass die Länge des Arrays variabel ist. Unten: public class ArrayInRam {
public static void main(String[] args) {
//静态初始化a
int []a= {
5,7,20};
//动态初始化b
int []b=new int[4];
//输出b的长度
System.out.println(b.length);
//循环遍历输出a
for(int aa:a) {
System.out.print(aa+"\t");
}
//b引用a
b=a;
//输出b的长度
System.out.println("\n"+b.length);
}
}
Das obige ist der detaillierte Inhalt vonSo recyceln Sie Speicher im Java-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!