> Java > java지도 시간 > 본문

Java 배열에서 메모리를 재활용하는 방법

WBOY
풀어 주다: 2023-05-02 18:46:07
앞으로
844명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿