1. メモリ分析
配列参照変数は単なる参照です。この参照変数は、任意の有効なメモリを指すことができます。参照が有効なメモリを指している場合にのみ、配列を参照できます。配列要素にアクセスするために変数を渡す必要があります。
すべての参照変数と同様、参照変数は実際のオブジェクトにアクセスするための基本的な方法です。つまり、プログラム内で配列オブジェクト自体にアクセスしたい場合は、この配列の参照変数を介してのみアクセスできます。
実際の配列オブジェクトはヒープ メモリに格納されます。配列オブジェクトを参照する配列参照変数がローカル変数の場合は、スタック メモリに格納されます。
2. 例
ヒープ メモリ内の配列にそれ自体を指す参照変数がなくなった場合、この配列はガベージになります , 占有されたメモリは、システムのガベージ コレクション メカニズムによって再利用されます。したがって、ガベージ コレクション メカニズムを使用して配列によって占有されているメモリ領域を再利用するには、 配列変数を null に代入して、配列参照変数と実際の配列の間の参照関係を切断します。実際の配列はゴミになってしまいます。
相互互換性を前提に、配列変数が別の実配列を指すことを許可するため、この操作により配列の長さが可変であるかのように錯覚します。以下:
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); } }
以上がJava配列のメモリをリサイクルする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。