Developer Cafe

3장 자바 플랫폼 본문

자료 구조/자바로 배우는 쉬운 자료구조

3장 자바 플랫폼

개발자 카페 2021. 2. 27. 22:38
728x90

자바 플랫폼은 자바 프로그램을 실행할 수 있게 하는 '하드웨어적 프로그램'으로, 자바 API(Java Application Programming Interface)와 자바 가상 머신으로 구성되어 있다.

 

● 자바API

- 자바 응용프로그램을 만드는 데 필요한 유용한 클래스들과 사용 방법을 문서화하여 제공한다.

 

● 자바 가상 머신

- 클래스 파일을 실행할 수 있는 기계어 파일로 번역해준다.

- 클래스, 자바 스택, 힙, 네이티브 메소드 영역으로 구성되어 있다.

 

① 클래스 영역

- 실행에 필요한 클래스들을 로드하여 저장하는 공간이다. 로드된 클래스의 멤버 메소드들은 메소드 영역에 저장되고, 상수들은 상수 영역에 저장된다. 또한 사용자가 작성한 클래스 코드를 저장하는 영역이다.

 

자바 스택 영역

- 자바 프로그램을 수행하면서 발생하는 메소드 호출과 복귀에 대한 정보를 생성하여 저장하고 관리하는 공간이다.

 

힙 영역

- 객체를 생성할 때 동적으로 공간을 할당하여 객체를 저장하는 공간이다. 자바의 가비지 컬렉션 기능으로 사용이 끝난 객체의 공간이 관리되는 공간이다.

 

네이티브 메소드 영역

- 자바에는 하드웨어를 직접 제어하는 기능이 없다. 그래서 하드웨어를 제어해야 할 경우에는 C 언어와 같은 다른 언어의 기능을 잠시 빌려 사용하는데, 이때 사용하는 것이 JNI(Java Native IInterface) 기술이다. 네이티브 메소드들이 바이트 코드로 변환되면서 사용되고 기록하는 영역이 네이티브 메소드 스택 영역이다.

 

※ 자바가 운영체제에 상관없이 프로그램을 수정하지 않고 사용할 수 있는것은 JDK에 포함되어 있는 자바 가상 머신 때문이다. 클래스 파일 이라고 하는 가상 기계어로 된 코드 파일을 만들어내면, 자바 가상 머신이 가상 기계어 파일인 클래스 파일을 진짜 기계어로 번역하여 실행하게 된다.

728x90

'자료 구조 > 자바로 배우는 쉬운 자료구조' 카테고리의 다른 글

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
Comments