자바 플랫폼의 종류(SE, EE, ME)와 JDK의 종류와 JRE, JVM에 설명하고 자바 프레임워크에 대해 살펴보겠습니다.
자바 플랫폼
자바 플랫폼은 Java 프로그래밍 언어를 사용해 애플리케이션을 개발하고 실행하는 환경입니다.
Java SE (Java Standard Edition)
데스크탑 및 서버, 임베디드 시스템을 위한 표준 자바 플랫폼으로 자바의 표준을 규정한 '자바 표준안' 입니다.
기본적인 Java 플랫폼이며, Java Virtual Machine(JVM), Java API, 자바 언어 및 다양한 도구와 유틸리티가 포함되어 있습니다.
Java EE (Java Enterprise Edition)
PC에서 동작하는 표준 플랫폼인 Java SE를 확장해 웹 애플리케이션 서버에서 동작하는 플랫폼입니다.
명칭의 변화는 J2EE에서 버전5 이후 Java EE로 개칭, 2017년 이클립스 재단으로 이관됨에 따라 자카르카 EE로 변경되었습니다.
Java ME (Java Micro Edition)
자바 마이크로 에디션은 휴대 전화, PDA, 셋톱 박스, 센서 등 임베디드 시스템 환경에 적합한 경량 에디션입니다.
JDK (Java Development Kit)
JDK는 자바 프로그래밍 언어로 애플리케이션을 개발하기 위한 개발환경으로 위에서 설명한 자바 플랫폼(SE, EE, ME)의 핵심 구성요소 중 하나입니다.
개발자들이 자바로 개발하는데 사용되는 SDK 키트로 개발 시 필요한 라이브러리들과 javac, javadoc 등의 개발 도구들을 포함합니다.
JDK 종류
- Oracle JDK - 구독을 통해 유료 라이센스를 구매
- Open JDK - 유명한 무료 JDK로 Open JDK 기반으로 빌드된 JDK를 많이 사용합니다.
- Azul Zulu - 인지도가 높고 Mac 등에서 사용할 수 있는 바이너리를 제공합니다.
- Amazon Corretto - AWS에서 제공하는 JDK
- Temurin - 이클립스에서 제공하는 JDK
JRE (Java Runtime Environment)
자바로 프로그램을 개발하려면 JDK가 필요하고 자바 프로그램을 실행하려면 JRE가 필요합니다. JRE는 자바 실행 환경으로 자바 프로그램을 실행시킬 때 필요한 라이브러리 API를 함께 묶어서 배포되는 패키지입니다.
JVM (Java Virtual Machine)
JRE에 포함되어 있는 자바 가상 머신으로 자바로 작성된 모든 프로그램을 JVM에서만 실행됩니다. JVM을 사용하는 가장 큰 목적은 자바 프로그램이 모든 플랫폼에서 제약 없이 동작 할 수 있게 만든다는 것입니다.
JVM 기반 프로그래밍 언어
자바 가상 머신은 그 자체가 소프트웨어 생태계로 발전되었습니다. JVM을 위해 개발된 주요 언어들을 소개합니다.
- Kotlin (코틀린) : 자바보다 간결하고 안전한 언어로 더 빠르게 컴파일할 수 있습니다.
- Scala (스칼라) : 함수와 객체 지향형 프로그래밍을 동일 언어로 결합해 함수를 유용하게 활용
- Jython (자이썬) : JVM용 파이썬
- JRuby (제이루비) : JVM용 루비
자바 프레임워크
Spring Framework
스프링 프레임워크는 자바 기반의 애플리케이션 프레임워크입니다. 자바 엔터프라이즈 애플리케이션 개발을 단순화하기 위해서 시작되었습니다.
- Spring Boot - 스프링 애플리케이션 개발 프로세스를 한층 더 단순화시킨 스프링 프레임워크의 모듈
Hibernate
하이버네이트는 자바 기반의 객체 관계 매핑 프레임워크로 객체 지향적인 자바 코드와 관계형 데이터베이스의 데이터를 매핑하는데 사용됩니다.
MyBatis
마이바티스는 자바의 SQL 매퍼 프레임워크로 자바 객체와 SQL 쿼리를 매핑해주는 역할을 합니다.
Struts
MVC 패턴을 기반으로 한 웹 애플리케이션 개발 프레임워크로 확장과 유지보수가 용이합니다.
Grails
Groovy를 기반으로 한 웹 프레임워크로 생산성을 다양한 자동화 도구를 제공합니다.
기타
API
- JDBC - 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
- JPA (Java Persistence API) - 자바 진영의 ORM(객체와 테이블을 매칭) 기술 표준으로 애플리케이션과 JDBC 사이에서 동장
객체
- Java Beans - JSP 액션 태그로 접근할 수 있는 자바 객체
- EJB (Enterprise JavaBeans) - 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델
관련포스트 |
자바 프레임워크 | SPRING 과 스프링 부트 소개 |
웹프레임워크 | Vue.js 프론트엔트 프레임워크 소개 |
웹프레임워크 | Nuxt.js 프레임워크 개념과 구조 |
개발환경 | 웹프레임워크의 종류 |
'컴퓨터공학 > 개발환경' 카테고리의 다른 글
스프링 툴 스위트 (STS : Spring Tool Suite) 소개 (2) | 2025.03.17 |
---|---|
VScode | 확장 프로그램 (Extension) 추천 (3) | 2025.02.27 |
JAVA | 자바 개발 환경 설정 (비주얼 스튜디오 코드) (4) | 2025.02.17 |
IDE | 통합개발환경 종류와 특징 (5) | 2025.02.13 |
VScode | 비주얼 스튜디오 코드 PHP 개발환경 설정 (94) | 2024.07.29 |
프로그램, 소프트웨어, 애플리케이션 차이점 (34) | 2023.09.28 |
프레임워크 | .NET (0) | 2020.02.06 |
IDE | Visual Studio와 이클립스 (0) | 2020.02.06 |
댓글