커피와 개발자

기본 개념 본문

웹개발/Java

기본 개념

광박이 2017. 12. 15. 17:33
728x90

자바 프로그램의 실행 구조와 자바 가상 머신

자바 가상 머신(Java Virtual Machine : JVM)은 자바 바이트코드를 실행할 수 있는 주체이다.

자바 바이트코드는 플랫폼에 독립적이며 모든 자바 가상 머신은 자바 가상 머신 규격에 정의된 대로 자바 바이트코드를 실행한다.

따라서 표준 자바 API까지 동일한 동작을 하도록 구현한 상태에서는 이론적으로 모든 자바 프로그램은 CPU나 운영 체제의 종류와 무관하게 동일하게 동작할 것을 보장한다.

자바 프로그램은 OS에 따라서 서로 다른 JVM를 설치함으로써 운영체제에 독립적이고 가바 가상 머신은 운영체제에 의존적이다.

따라서 자바 프로그램은 어느 OS에서 구동을 하더라도 같은 소스 같은 컴파일 소스를 이용하여 동일한 동작을 보장한다.


자바 플랫폼 (Java Platform)

자바 플랫폼은 자바 프로그램이 실행되는 특정 환경에 따라 각 영역별로 특화된 자바 플랫폼이 존재한다.

  • 자바 플랫폼, 마이크로 에디션(Java Platform, Micro Edition)은 Java 2 Platform, Micro Edition라고도 불리며, 자바 ME(Java ME) 혹은 J2ME 등으로도 널리 알려져 있다. 제한된 자원을 가진 휴대전화, PDA, 세트톱박스 등에서 Java 프로그래밍 언어를 지원하기 위해 만들어진 플랫폼 중 하나를 가리킨다.
  • 자바 플랫폼, 스탠더드 에디션(Java Platform, Standard Edition, 약자 Java SE)은 데스크톱 및 서버, 최근의 고사양 임베디드 시스템을 위한 표준 자바 플랫폼으로 표준적인 컴퓨팅 환경을 지원하기 위한 자바 가상 머신 규격 및 API 집합을 포함한다. 따라서 자바 EE, 자바 ME 등 다른 플랫폼은 구체적인 목적에 따라 자바 SE를 기반으로 API를 추가하거나 자바 가상 머신 규격 및 API의 일부를 택해서 정의된다.
  • 자바 플랫폼, 엔터프라이즈 에디션(Java Platform, Enterprise Edition; Java EE)은 자바를 이용한 서버 측 개발을 위한 플랫폼이다. Java EE 플랫폼은 PC에서 동작하는 표준 플랫폼인 Java SE에 부가하여, 웹 애플리케이션 서버에서 동작하는 장애 복구 및 분산 멀티티어를 제공하는 자바 소프트웨어의 기능을 추가한 서버를 위한 플랫폼이다. 이전에는 J2EE라 불리었으나 버전 5.0 이후로 Java EE로 개칭되었다.
  • JDK(Java Development Kit): 자바 프로그램 개발에 필요한 구성 요소
  • JRE(Java Runtime Environment): 자바 프로그램 실행에 필요한 구성 요소
  • API(Application Programming Interface): 자바 응용 프로그램 개발에 사용하는 라이브러리

 

728x90
Comments