JAVA
[JAVA 공부] day 1
Potato potage
2023. 8. 2. 00:20
반응형
<< 스프링 입문을 위한 자바 객체지향의 원리와 이해 >> 를 읽고 정리합니다.
1. 자바 프로그램의 개발과 구동
JDK (Java Development Kit) | 자바 개발 도구, 자바 소스 컴파일러 | JVM용 소프트웨어 개발 도구 | javac.exe |
JRE (Java Runtime Environment) | 자바 실행 환경, 자바 프로그램 실행기 | JVM용 OS | java.exe |
JVM (JAva Virtual Machine) | 자바 가상 기계 | 가상의 컴퓨터 |
자바 개발 도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상의 컴퓨터인 JVM 상에서 구동된다.
2. 프로그램의 메모리
- 프로그램이 메모리를 사용하는 방식
코드 실행 영역 | 데이터 저장 영역 |
- 객체 지향 프로그램의 메모리 사용 방식
코드 실행 영역 | 스태틱 (static)영역 - 클래스 | ||
스택(stack)영역 - 메서드 | 힙(heap) 영역 - 객체 |
지역 변수: 스택 영역
클래스 멤버 변수: 스태틱 영역
객체 변수: 힙
* 메서드를 호출하면서 인자로 전달되는 것은 변수 자체가 아니라 변수가 저장한 값만을 복제해서 전달한다. 이를 Call By Value라 한다.
3. 멀티 스레드 / 멀티 프로세스의 이해
멀티 스레드의 T 메모리 모델은 스택 영역을 스레드 개수만큼 분할해서 사용한다.
스태틱 영역 | |||
스택 영역 | 힙 영역 | ||
스레드 | 스레드 |
멀티 프로세스는 다수의 데이터 저장 영역, 즉 다수의 T 메모리 구조를 갖는다.
스태틱 영역 | |
스택 영역 | 힙 영역 |
스태틱 영역 | |
스택 영역 | 힙 영역 |
반응형