Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- buffer
- 알기쉬운 알고리즘
- C 언어 코딩 도장
- 윤성우의 열혈 자료구조
- 이스케이프 문자
- insertion sort
- stream
- Graph
- datastructure
- s
- list 컬렉션
- Selection Sorting
- R
- 혼자 공부하는 C언어
- 윤성우 열혈자료구조
- C programming
- JSON
- coding test
- Algorithm
- 메모리구조
- 이것이 자바다
- Serialization
- Stack
Archives
- Today
- Total
Engineering Note
[Java] 메모리 사용 영역 본문
5.2 메모리 사용 영역
Java 명령어로 JVM이 구동되면 JVM은 운영체제에서 할당받은 메모리 영역을 다음과 같이 구분해서 사용한다.
메소드 영역
바이트코드 파일을 읽은 내용이 저장되는 영역으로 클래스별로 상수, 정적 필드, 메소드 코드, 생성자 코드 등이 저장된다. ⇒ 바이트 코드 파일의 내용이 저장되는 영역.
힙 영역
- 객체가 생성되는 영역.
- 객체의 번지는 메소드 영역과 스택 영역의 상수와 변수에서 참조할 수 있다.
스택 영역
- 메소드를 호출할 때마다 생성되는 프레임이 저장되는 영역.
- 메소드 호출이 끝나면 프레임은 자동제거 된다.
- 프레임 내부에는 로컬 변수 스택이 있다.
Java의 문자열은 String 객체로 생성된다. String 변수 name과 hobby 변수에 “홍길동”, “여행” 문자열을 생성하여 저장하면 문자열 리터럴은 String 객체로 생성돼서 heap 영역에 저장되고 name 변수와, hobby 변수는 stack 영역에 생성된고 문자열 객체의 주소가 저장한다.
변수들은 모두 스택이라는 메모리 영역에 생성된다.
참조: 이것이 자바다(저자 신용권, 임경균)
'Programming Language > Java' 카테고리의 다른 글
[Java] char 숫자 문자를 숫자로 변환하기(getNumericValue, 아스키 코드 활용) (2) | 2025.06.19 |
---|---|
[Java] 자바의 문자열 공백 제거 및 공백 기준 문자열 나누기 (0) | 2025.06.18 |
[Java] String, StringBuilder 그리고 문자열 뒤집기(StringBuilder.reverse()) (1) | 2025.06.17 |
[Java] BOJ 입력받기, Scanner 객체 사용 (0) | 2025.06.17 |
[Java] Generic(제네릭) (0) | 2025.06.03 |
Comments