Java에서 데이터를 저장하는 방법: 1. 가장 빠른 저장 영역인 레지스터를 사용합니다. 2. 새 메모리를 생성하는 스택을 사용합니다. 3. 언제든지 호출을 기다리는 정적 저장소를 사용합니다. . 상수 저장소를 사용하며 프로그램 코드 내부에 직접 배치됩니다.
Java 데이터 저장 방법:
(1) 등록합니다.
다른 모든 저장 방법과는 다른 위치, 즉 프로세서 내부에 위치하기 때문에 가장 빠른 저장 영역입니다. 그러나 레지스터 수는 매우 제한되어 있으므로 필요에 따라 컴파일러에서 레지스터를 할당합니다. 우리는 이에 대해 직접적인 통제권을 갖고 있지 않으며 우리 프로그램에서 레지스터의 존재에 대한 흔적을 찾는 것도 불가능합니다.
(2) 스택.
일반 RAM(Random Access Memory) 영역에 있지만 "스택 포인터"를 통한 처리를 직접 지원합니다. 스택 포인터를 아래로 이동하면 새 메모리가 생성되고 위로 이동하면 해당 메모리가 해제됩니다. 이는 레지스터 다음으로 데이터를 저장하는 매우 빠르고 효율적인 방법입니다. 프로그램을 생성할 때 Java 컴파일러는 스택에 보관된 모든 데이터의 "길이"와 "얼마나 오래"를 정확히 알아야 합니다. 이는 포인터를 위아래로 이동하려면 적절한 코드를 생성해야 하기 때문입니다. 이러한 제한은 의심할 여지없이 프로그램의 유연성에 영향을 미치므로 일부 Java 데이터(특히 객체 핸들)가 스택에 저장되더라도 Java 객체는 스택에 저장되지 않습니다.
(3) 힙.
Java 객체를 보유하는 범용 메모리 풀(RAM 영역에도 있음)입니다. 스택과 달리 "메모리 힙" 또는 "힙"의 가장 매력적인 점은 컴파일러가 힙에서 할당할 저장 공간의 양을 알 필요가 없으며 저장된 데이터가 얼마나 오래 유지되는지 알 필요가 없다는 것입니다. 힙에. 따라서 힙을 사용하여 데이터를 저장할 때 더 큰 유연성을 얻을 수 있습니다. 객체를 생성해야 하는 경우 new 명령을 사용하여 관련 코드를 컴파일하기만 하면 됩니다. 이 코드가 실행되면 데이터가 자동으로 힙에 저장됩니다. 물론 이러한 유연성에는 대가가 따릅니다. 힙에 저장 공간을 할당하는 데 시간이 더 오래 걸립니다!
(4) 정적 저장.
여기서 "정적"이란 "고정된 위치에 위치함"을 의미합니다(RAM에도 있음). 프로그램이 실행되는 동안 정적으로 저장된 데이터는 언제든지 호출을 기다리고 있습니다. static 키워드를 사용하여 개체의 특정 요소가 정적임을 나타낼 수 있습니다. 그러나 Java 객체 자체는 정적 저장소에 배치되지 않습니다.
(5) 지속적인 저장.
상수 값은 일반적으로 프로그램 코드 내부에 직접 배치됩니다. 절대 변하지 않기 때문에 안전합니다. 일부 상수는 엄격하게 보호해야 하므로 읽기 전용 메모리(ROM)에 배치하는 것이 좋습니다.
(6) RAM이 아닌 저장소.
데이터가 프로그램과 완전히 독립적인 경우 프로그램이 실행되지 않고 프로그램의 제어 범위를 벗어났을 때에도 여전히 존재할 수 있습니다. 가장 중요한 두 가지 예는 "스트리밍 개체"와 "고정 개체"입니다. 스트리밍 개체의 경우 개체는 일반적으로 다른 시스템으로 전송되는 바이트 스트림으로 변환됩니다. 고정된 개체의 경우 개체는 디스크에 저장됩니다. 프로그램이 종료되더라도 상태는 그대로 유지됩니다. 이러한 유형의 데이터 저장에 특히 유용한 요령은 해당 데이터가 다른 미디어에 존재할 수 있다는 것입니다. 필요한 경우 일반 RAM 기반 개체로 복원할 수도 있습니다. Java 1.1은 경량 지속성을 지원합니다. 향후 버전에서는 더욱 완벽한 솔루션을 제공할 수도 있습니다.
관련 학습 권장사항: Java 기본 튜토리얼
위 내용은 자바에서 데이터를 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!