자바 플랫폼 (Java Platform)
2024. 11. 27. 17:20ㆍJava/Java
자바 플랫폼 (Java Platform)
- 자바 플랫폼은 자바 프로그램이 실행될 수 있는 환경을 의미하는데, JVM(Java Virtual Machine), 자바 API, 자바 실행 환경(JRE) 등으로 구성됩니다. 즉, 자바 플랫폼은 자바 애플리케이션이 실행될 수 있도록 지원하는 모든 요소들이 모여 있는 시스템을 말합니다.
- 플랫폼 독립성: 자바는 "한 번 작성, 어디서나 실행"이라는 원칙을 가지고 있습니다. 즉, 자바 프로그램을 개발할 때 운영 체제나 하드웨어와 관계없이 동일하게 실행될 수 있습니다. 이는 자바 바이트 코드가 JVM을 통해 실행되기 때문에 가능합니다.
- JVM의 역할: JVM은 각 운영 체제에 맞는 구현체가 존재하여, 자바 바이트 코드를 해당 운영 체제에 맞는 기계어로 변환합니다. 이렇게 하면 동일한 자바 코드가 윈도우, 리눅스, macOS 등 다양한 플랫폼에서 실행될 수 있습니다.
자바 플랫폼의 구성
1.JVM (Java Virtual Machine)
- 자바 플랫폼에서 핵심적인 역할을 하는 것이 바로 JVM입니다. JVM은 자바 바이트 코드를 실행할 수 있는 가상 머신으로, 다양한 운영 체제에서 자바 프로그램이 동일하게 실행되도록 도와줍니다.
- 자바 프로그램은 운영 체제에 종속되지 않고 JVM에서 실행되기 때문에 플랫폼 독립성을 제공합니다.
2. JRE (Java Runtime Environment)
- JRE는 자바 애플리케이션을 실행할 수 있는 환경을 제공합니다. 여기에는 JVM뿐만 아니라, 자바 API(애플리케이션 프로그래밍 인터페이스)와 필요한 라이브러리들이 포함되어 있습니다. 즉, JRE는 자바 프로그램이 실행되는 데 필요한 모든 도구를 제공합니다.
3. JDK (Java Development Kit)
- JDK는 자바 개발을 위한 도구입니다. JDK는 JRE를 포함하고 있으며, 자바 컴파일러 (javac.exe) 와 같은 개발 도구도 포함되어 있어 자바 프로그램을 개발하고 실행할 수 있습니다. 개발자는 JDK를 사용하여 자바 코드를 작성하고 컴파일합니다.
4. 자바 API: 자바 프로그래밍을 위해 필요한 기본 클래스들을 포함한 라이브러리입니다. 예를 들어, 파일 입출력, 네트워킹, 데이터베이스 접근 등을 위한 클래스들이 포함됩니다.
자바 플랫폼의 종류
각 자바 플랫폼은 특정 용도에 맞게 설계되어 있기 때문에, 사용하는 환경에 맞는 자바 플랫폼을 선택하는 것이 중요합니다.
- 자바 SE (Standard Edition): 일반적인 애플리케이션 개발용, 가장 기본적인 자바 플랫폼
- 자바 EE (Enterprise Edition): 대규모 기업용 애플리케이션 개발용, 웹 애플리케이션 및 서버 애플리케이션 개발 지원
- 자바 ME (Micro Edition): 자원이 제한된 모바일 기기 및 임베디드 시스템용
- 자바 FX: 그래픽 및 멀티미디어 애플리케이션 개발용
1. 자바 SE (Java Standard Edition)
- 자바 SE는 자바의 가장 기본적인 플랫폼으로, 일반적인 데스크톱 애플리케이션, 명령어 기반의 프로그램, 서버 애플리케이션 등 다양한 용도로 사용됩니다.
- 자바 SE에는 JVM, 자바 API, JDK가 포함되어 있으며, 자바 프로그램을 작성하고 실행하는 데 필요한 모든 도구가 제공됩니다.
- 자바 SE는 기본적인 기능에 집중하기 때문에, 복잡한 대규모 기업용 애플리케이션을 개발하기 위한 추가적인 기능이나 툴은 포함되지 않습니다.
- 주요 특징
- 기본적인 자바 라이브러리 제공
- 데스크톱 애플리케이션 및 간단한 서버 애플리케이션 개발 가능
- 가장 범용적인 자바 플랫폼
2. 자바 EE (Java Enterprise Edition)
- 자바 EE는 대규모 기업용 애플리케이션을 개발하기 위해 확장된 자바 플랫폼입니다. 자바 SE의 기능을 기반으로, 웹 애플리케이션, 엔터프라이즈 시스템(예: 은행 시스템, 대형 기업용 소프트웨어) 등의 복잡한 요구 사항을 지원하는 기능들이 추가됩니다.
- 자바 EE는 서블릿, JSP (Java Server Pages), EJB (Enterprise JavaBeans), JPA (Java Persistence API) 등 다양한 기술을 포함하고 있어, 복잡한 분산 애플리케이션 개발에 유용합니다.
- 자바 EE는 보통 웹 서버나 애플리케이션 서버(예: Apache Tomcat, WildFly, GlassFish)에서 실행됩니다.
- 주요 특징
- 대규모 엔터프라이즈 애플리케이션에 적합
- 멀티쓰레딩, 분산 시스템, 데이터베이스 연동 등 고급 기능 제공
- 웹 애플리케이션 및 서비스 지향 아키텍처(SOA) 지원
3. 자바 ME (Java Micro Edition)
- 자바 ME는 자원이 제한된 장치에서 실행될 수 있도록 최적화된 자바 플랫폼입니다. 주로 임베디드 시스템, 모바일 기기, IoT 장치(사물인터넷) 등에 사용됩니다.
- 자바 ME는 하드웨어 자원이 제한된 환경에서도 실행될 수 있도록 기능이 간소화되어 있습니다. 클래스 라이브러리도 상대적으로 적고, 적은 메모리와 처리 능력을 가진 장치에서 동작하도록 설계되었습니다.
- 자바 ME는 J2ME(Java 2 Micro Edition)로 알려져 있었으며, 모바일 애플리케이션 및 임베디드 시스템 개발에 사용됩니다.
- 주요 특징
- 모바일 장치 및 임베디드 시스템에 최적화
- 제한된 자원 환경에서 실행 가능
- 메모리 및 처리 성능이 낮은 디바이스에서도 사용됨
4. 자바 FX (JavaFX)
- 자바 FX는 그래픽 및 멀티미디어 애플리케이션을 개발하기 위한 자바 플랫폼입니다. 주로 데스크톱 애플리케이션과 웹 애플리케이션에서 그래픽 사용자 인터페이스(GUI)를 만들 때 사용됩니다.
- 자바 FX는 **Rich Internet Application(RIA)**을 만들 수 있도록 도와주며, HTML, CSS, JavaScript와 결합하여 더 강력한 사용자 경험을 제공합니다.
- 주요 특징
- 그래픽과 애니메이션을 지원하는 GUI 개발
- 데스크톱 애플리케이션 및 RIA 개발