일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Mac
- selenium
- Operator
- Physical Scheme
- Unity
- Binary Search
- spring
- X윈도우
- python
- descriptive statistics
- BFS
- literal
- External Scheme
- 자바
- 리눅스 마스터 1급
- X.org
- Polymolphism
- 리눅스
- Java
- Inheritance
- 백준
- 셀레니움
- Reference Type
- Class
- OOP
- Entity Set
- dbms
- Entity
- preprocessing
- systemd
- Today
- Total
목록JVM (2)
Byeol Lo
데이터 타입에는 크게 기본 타입, 참조 타입이 있는데, 서로간의 선언된 변수들은 차이가 있다. primitive 타입으로 선언된 변수는 실제값을 변수 안에 저장하지만, 참조 타입인 배열, 열거, 클래스, 인터페이스를 이용해서 선언된 변수는 메모리의 번지를 값으로 갖는다. 번지를 통해 객체를 참조한다는 뜻에서 참조 타입이라고 부른다. 변수들은 스택영역에 생성되고 객체는 힙 영역에 생성되는데, 참조 타입 변수가 100번지 주소를 가지고 있는것 자체는 스택 영역에 있는 것이고 스택 영역의 값을 읽어서 힙영역의 객체에 접근하게 된다. 참조타입을 알아보기 전에 우선 JVM이 사용하는 메모리 영역을 알아보자. java.exe로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역(Runtime Data Ar..
Method Area 프로그램이 실행되면 *.class 파일을 읽어 분석한 다음 클래스에 대한 정보를 메서드 영역에 저장한다. 이때 클래스 변수나 메서드도 이 영역에 함께 생성된다. main에서 클래스에 선언된 변수에 접근할 수 없는 것도 이런 이유이다. Heap Area 프로그램 실행 중에 생성되는 모든 인스턴스는 여기에서 생성된다. Call Stack / Execution Stack 호출스택은 메서드 실행에 필요한 메모리 공간을 말한다. 메서드가 호출될때 호출스택에는 호출된 메서드를 위한 메모리가 할당되며 이 메모리는 메서드가 작업을 수행하는 동안 지역변수 및 매개변수 들의 연산 중간결과 등을 저장하는데 사용된다. 메서드가 작업을 마치면 할당되었던 메모리 공간은 반환되어 정리된다. 이는 지역변수들의 ..