[ 메모리 ]
중요 : 호출스텍은 예외처리할 때 필요합니다. 기억해주세요
메소드 영역 (Method Area)
클래스 데이터
프로그램 실행 중 어떤 클래스가 사용되면 JVM은 해당 클래스 파일을 읽어서 이곳에 저장하며
동시에 클래스 변수도 이곳에 저장합니다.
= Class 정보, 전역변수 정보, Static 변수 정보가 저장되는 공간
= 상수
모든 스레드에서 정보가 공유
호출 스텍 (Stack)
지역변수, 메소드의 매개변수와 같이 잠시 사용되고 필요가 없어지는 데이터가 저장되는 공간
메소드 작업에 필요한 메모리 공간을 제공합니다.
메모리에서 메소드가 작업을 수행하는 동안 지역변수와 연산의 중간 결과값이 저장되는 공간입니다.
메소드가 작업을 마치면 할당되었던 메모리 공간은 반환 -> 비워짐
호출스택은 제일 상위에 있는 메소드가 지금 실행 중입니다.
나머지는 ? 모두 대기중입니다.
언제나 호출 스텍의 제일 상위에 있는 메소드가 작업중(실행중)입니다.
아래 있는 메소드가 바로 위에 있는 메소드를 호출해서 사용중입니다.
= Last In First Out, 나중에 들어온 데이터가 먼저 나간다.
스레드마다 하나씩 존재한다.
힙영역 (Heap)
인스턴스가 이곳에 생성됩니다. ===== 인스턴스 변수
new 연산자로 생성된 객체, Array와 같은 동적으로 생성된 데이터가 저장되는 공간
Heap에 저장된 데이터는 Garbage Collector가 처리하지 않는 한 소멸되지 않는다.
Reference Type 의 데이터가 저장되는 공간
리턴 타입이 있는 메소드는 종료되기 직전에 결과값을 반환합니다.
누구에게? 자신을 호출한 메소드에게 반환합니다.
하위 메소드에게 주고 소멸됩니다.
'국비과정 > JAVA' 카테고리의 다른 글
20230703 _[21일차]_01. VS code 설치 + HTML (0) | 2023.07.03 |
---|---|
20230630 _[21일차]_03. 로그인 구현2 (html+java)_미완 (0) | 2023.07.03 |
20230629 _[20일차]_03. JAVA + HTML + CSS (로그인 구현) (0) | 2023.06.29 |
20230629 _[20일차]_02. HeidiSQL _ 테이블생성 & 데이터입력 (0) | 2023.06.29 |
20230629 _[20일차]_01. 스레드 + 동기화 (0) | 2023.06.29 |