2025/08/11 2

[JAVA] 2. 스레드의 생성과 실행

Java 메모리 구조 Java 메모리는 3가지 영역으로 구성되어 있다 - 메서드 영역 Method Area 프로그램을 실행하는데 필요한 공통 데이터를 관리한다 그러므로 프로그램의 모든 영역에서 공유 안에 있는 3가지는 각각 클래스 정보 : 클래스 실행 코드, 필드, 메서드, 생성자등 모든 실행코드 static 영역 : static 변수 보관 런타임 상수 풀 : 공통 리터럴 상수 - 스택 영역 Stack Area 스레드 별 하나의 실행 스택이 생성된다 (스레드 수 만큼 스택이 생성된다) 네모칸 하나가 스택 프레임이고 지역 변수, 중간 연산 결과, 메서드 호출 정보를 포함한다 메서드를 호출할 때 마다 하나의 스택 프레임이 쌓이고, 메서드가 종료되면 해..

SUMMARY/JAVA 2025.08.11

[JAVA] 1. 프로세스와 스레드

자바 멀티 스레드를 이해하기 위해 OS 수준의 프로세스와 스레드 환경을 이해해야 한다학교 운영체제 시간에 다 배우기는 했지만 맨날 헷갈리니 다시 정리 멀티 태스킹 멀티 태스킹과 프로세싱을 이해하기 위해 단일 CPU라고 가정하자 (하나의 CPU 코어) 하나의 코어가 하나의 일만 할 수 있다면?즉 하나의 프로그램만 실행할 수 있다면 A프로그램이 다 돌아가고 B프로그램이 돌아가게 될 것이다.밑에 그림처럼 이를 해결하기 위한 것이 멀티 태스킹이다. 멀티 태스킹이 가능하다면 위 사진처럼프로그램 A, B를 짧은 시간동안 번갈아가며 실행한다그리고 사용하는 입장에서는 A와 B가 동시에 실행되는 것 처럼 느껴질 것이다. (현대 CPU는 1초에 수십억번의 연산이 가능하기 때문에 우리는 이렇게 번갈아 가며 수행하는 ..

SUMMARY/JAVA 2025.08.11