일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 트리
- 인터페이스
- WebClient
- query
- @RequiredArgsConstructor
- code
- 코드
- 쿼리메소드
- java
- 리스트
- CleanCode
- 클린코드
- 자료구조
- 계산 검색 방식
- @NoArgsConstructor
- 연결 리스트
- 클래스
- 마크다운 테이블
- 클린
- JsonNode
- 배열
- 선형 리스트
- mysql
- 빅 오 표기법
- @ComponentScan
- 쿠키
- 정렬
- 스택 큐 차이
- 마크다운
- 내부 정렬
- Today
- Total
Developer Cafe
3장 자바 플랫폼 본문
자바 플랫폼은 자바 프로그램을 실행할 수 있게 하는 '하드웨어적 프로그램'으로, 자바 API(Java Application Programming Interface)와 자바 가상 머신으로 구성되어 있다.
● 자바API
- 자바 응용프로그램을 만드는 데 필요한 유용한 클래스들과 사용 방법을 문서화하여 제공한다.
● 자바 가상 머신
- 클래스 파일을 실행할 수 있는 기계어 파일로 번역해준다.
- 클래스, 자바 스택, 힙, 네이티브 메소드 영역으로 구성되어 있다.
① 클래스 영역
- 실행에 필요한 클래스들을 로드하여 저장하는 공간이다. 로드된 클래스의 멤버 메소드들은 메소드 영역에 저장되고, 상수들은 상수 영역에 저장된다. 또한 사용자가 작성한 클래스 코드를 저장하는 영역이다.
② 자바 스택 영역
- 자바 프로그램을 수행하면서 발생하는 메소드 호출과 복귀에 대한 정보를 생성하여 저장하고 관리하는 공간이다.
③ 힙 영역
- 객체를 생성할 때 동적으로 공간을 할당하여 객체를 저장하는 공간이다. 자바의 가비지 컬렉션 기능으로 사용이 끝난 객체의 공간이 관리되는 공간이다.
④ 네이티브 메소드 영역
- 자바에는 하드웨어를 직접 제어하는 기능이 없다. 그래서 하드웨어를 제어해야 할 경우에는 C 언어와 같은 다른 언어의 기능을 잠시 빌려 사용하는데, 이때 사용하는 것이 JNI(Java Native IInterface) 기술이다. 네이티브 메소드들이 바이트 코드로 변환되면서 사용되고 기록하는 영역이 네이티브 메소드 스택 영역이다.
※ 자바가 운영체제에 상관없이 프로그램을 수정하지 않고 사용할 수 있는것은 JDK에 포함되어 있는 자바 가상 머신 때문이다. 클래스 파일 이라고 하는 가상 기계어로 된 코드 파일을 만들어내면, 자바 가상 머신이 가상 기계어 파일인 클래스 파일을 진짜 기계어로 번역하여 실행하게 된다.
'자료 구조 > 자바로 배우는 쉬운 자료구조' 카테고리의 다른 글
4장 객체 (0) | 2021.02.27 |
---|---|
3장 참조타입 (0) | 2021.02.27 |
2장 소프트웨어 생명주기 (0) | 2021.02.27 |
1장 10진수의 표현 (0) | 2021.02.27 |
1장 2진수 정수 표현 (0) | 2021.02.27 |