Java에서 힙 및 스택이란 무엇입니까?
자바는 주로 웹 페이지와 브라우저를 표시하는 브라우저의 기능을 보완하기 위해 작은 프로그램을 제공하는 데 사용되는 프로그래밍 언어입니다. "힙"과 "스택"은 컴퓨터에서 메모리를 구성하는 두 가지 방법이며 Java 프로그래밍 언어는 둘 다 사용합니다.
더미
메모리는 액세스 순서에 따라 구성됩니다. 힙 메모리에는 순서가 없습니다. 그것은 순서가없는 비둘기 홀과 같습니다. 중간에있는 슬롯은 처음 또는 마지막 슬롯 이전에 값을 얻을 수 있습니다. 데이터가 다른 슬롯에 쓰여지거나 다른 슬롯에서 삭제 될 때, 점유 된 메모리는 갭으로 나뉘어집니다. 힙 메모리의 각 슬롯에는 주소가 있으며이 주소에 대한 다른 색인 작성 방법을 통해서만 액세스 할 수 있습니다.
스택
스택 및 대기열에는 정확한 순서가 있습니다. 대기열에서 입력 할 첫 번째 데이터는 슈퍼마켓 결제의 대기열과 마찬가지로 첫 번째 출력입니다. 스택 방법은 서비스를 기다리는 사람들에게 적용되는 것이 가장 불공평하다고 간주 될 것입니다. 스택은 Last In, First Out의 약자 인 LIFO로 알려져 있습니다. 사무실의 입력 용지함을 상상해보십시오. 누군가가 파일의 상단에 파일을 넣고 회사 직원이 그 파일을 입력 용지함 상단에서 가져 와서 먼저 처리합니다. 트레이에 놓을 마지막 파일입니다. 이것이 스택이 작동하는 방식입니다.
컴퓨터 메모리
프로그램을 실행하는 데 사용되는 컴퓨터 메모리를 RAM (Random Access Memory)이라고합니다. 이것은 컴퓨터의 사고 공간이며 세 부분으로 나뉩니다. 메모리의 "대기열"섹션은 없지만 컴퓨터 프로그램이 저장되는 코드 세그먼트가 있습니다. 컴퓨터는 프로그램을 한 줄씩 처리하므로 큐처럼 작동합니다. 다른 두 영역은 스택 및 힙입니다.
변수
다른 프로그래밍 언어와 마찬가지로 Java는 데이터를 보유하고 어떤 방식 으로든 조작해야합니다. 데이터를 보유하는 프로그램에 사용되는 차량을 변수라고합니다. 변수는 이름과 유형을 가지며 값을 가져옵니다. Java 프로그램은 포함 된 데이터에 액세스하기 위해 변수의 이름을 참조합니다.
관계
프로그래머가 데이터 유형이있는 변수를 선언하면 해당 정보는 메모리의 스택 섹션에 저장됩니다. 변수에 값이 입력되면 값은 힙 메모리에 저장됩니다. 스택 메모리는 해당 값이 보관되는 힙 메모리 섹션의 주소를 보유합니다. 스택 메모리는 프로그램이 실행되는 동안 그 값을 유지합니다. 변수 이름과 유형뿐만 아니라 힙 위치에 대한 포인터를 유지합니다. 프로그램 운영자가 변수 값을 변경하면 힙 메모리의 값이 Java 프로그램 진행 중에 여러 번 삭제되고 다시 작성됩니다.