static, 인스턴스
static
static이 붙으면 객체가 생성되기 전에도 호출이 가능하다. 클래스 이름으로 접근한다
static모든객체가 공유하는 변수 new하기전에 사용가능
인스턴스는 new 이후에나 사용 가능합니다.
메소드 영역 -> 지역변수
클래스 영역 -> 인스턴스변수. 클래스 변수 static 변수, 공유변수
★
JVM 메모리구조
Method (메서드) 프로그램 시작시 생기고 종료시 사라짐 cv
메소드(method) 영역
메소드(method) 영역은 자바 프로그램에서 사용되는 클래스에 대한 정보와 함께 클래스 변수(static variable)가 저장되는 영역입니다.
JVM은 자바 프로그램에서 특정 클래스가 사용되면 해당 클래스의 클래스 파일(*.class)를 읽어들여, 해당 클래스에 대한 정보를 메소드 영역에 저장합니다.
Stack(스택) 메소드 호출할때 생성 호출후 사라짐 lv
스택(stack) 영역
스택(stack) 영역은 자바 프로그램에서 메소드가 호출될 때 메소드의 스택 프레임이 저장되는 영역입니다.
JVM은 자바 프로그램에서 메소드가 호출되면, 메소드의 호출과 관계되는 지역 변수와 매개변수를 스택 영역에 저장합니다.
이렇게 스택 영역은 메소드의 호출과 함께 할당되며, 메소드의 호출이 완료되면 소멸합니다.
이렇게 스택 영역에 저장되는 메소드의 호출 정보를 스택 프레임(stack frame)이라고 합니다.
스택 영역은 푸시(push) 동작으로 데이터를 저장하고, 팝(pop) 동작으로 데이터를 인출합니다.
Heap(힙) 객체 생성시 생기고 종료시 사라짐 iv
힙(heap) 영역은 자바 프로그램에서 사용되는 모든 인스턴스 변수가 저장되는 영역입니다.
JVM은 자바 프로그램에서 new 키워드를 사용하여 인스턴스가 생성되면, 해당 인스턴스의 정보를 힙 영역에 저장합니다.
힙 영역은 메모리의 낮은 주소에서 높은 주소의 방향으로 할당됩니다.

JVM 메모리 구조
긁지않은 개발자
실행 결과
// 긁지않은 개발자
실행 결과
'JAVA > JAVA 이용하기' 카테고리의 다른 글
[JAVA] [JAVA] JAVA 배열(array)이란? 다차원 배열 설명 (0) | 2023.06.12 |
---|---|
[JAVA] 접근 지정자 (public, private, protected, default ) (0) | 2023.06.12 |
[JAVA] A-Z까지 알파벳 거꾸로 출력하기 (0) | 2023.06.11 |
[JAVA] JAVA로 구구단 출력하기 (0) | 2023.06.11 |
[JAVA] 1 부터 100까지 각각의 수의 모든 약수와 약수의 개수를 출력 (0) | 2023.06.11 |