heap 2

[백엔드 면접 질문 준비] (5) 프로세스와 스레드의 차이는 무엇인가요?

프로그램 → 프로세스 → 스레드 : 실행 단위의 흐름프로그램 : 아직 실행되지 않은 정적인 파일 (예: .exe, .jar 등)프로세스 : 프로그램이 실행되어 운영체제로부터 자원을 할당받은 단위스레드 : 프로세스가 할당받은 자원을 사용하여 실제로 작업을 수행하는 실행 흐름의 단위코드 덩어리인 프로그램이 실행되면 프로세스가 되고, 그 안에서 작업을 수행하는 흐름이 스레드입니다. 프로세스(Process)란?실행 중인 프로그램으로, OS로부터 독립된 메모리 공간을 할당받음각 프로세스는 Code, Data, Heap, Stack 등의 메모리 공간을 독립적으로 가짐하나의 프로세스는 다른 프로세스에 직접 접근할 수 없음 (보안상 격리됨)예시: 크롬과 카카오톡을 동시에 실행하면 각각 독립적인 프로세스입니다.스레드(T..

Interview Question 2025.04.04

[JAVA] Heap 메모리 구조와 Garbage Collection

자바 프로그램이 실행되면 JVM은 OS로부터 메모리를 할당받고, 그 메모리를 용도에 따라서 여러 영역으로 나누어 관리하한다. JVM의 메모리 공간은 크게 Static 영역, Stack영역, Heap 영역으로 구분되는데 Heap영역에 대해서 자세히 알아보도록 하자.1. Heap 영역JVM이 관리하는 프로그램 상에서 데이터를 저장하기 위해 런타임 시 동적으로 할당하여 사용하는 영역이다.참조형 데이터 타입을 갖는다 : 값이 저장되어 있는 곳의 주소값을 저장하는 공간이다.클래스인터페이스배열열거Heap 영역은 Stack 영역과 다르게 보관되는 메모리가 호출이 끝나더라도 삭제되지 않고 유지된다.stack은 스레드 갯수마다 각각 생성되지만, heap은 몇개의 스레드가 존재하든 상관없이 단 하나의 Heap 영역만 존재..

JAVA 2024.12.08