1. JAVA SE(Standard Edition)
말그대로 JAVA SE는 가장 기본, 표준 에디션이다.
JAVA 프로그래밍 언어 사용 시 java.lang*, java.io*, java.util* 등 과 같은 기본 패키지가 있다.
JDBC나 JSP와 같은 내용이 지원되지 않는 spec이라 서버 개발 시 불편하다.
2. JAVA EE(Enterprise Edition)
SE에 비해 보다 확장된 기능을 제공한다.
JSP, Servlet, JDBC, Framework 등의 많은 기술을 제공하여 실질적인 자바 웹 서버를 만드는데 도와준다.
3. JAVA Application 실행 단계
자바 어플리케이션은 아래와 같은 과정을 거쳐 실행된다.
1. Test.java(원시 소스코드)
- 원시 소스 코드를 생성
- 흔히 코드를 쳐서 만드는 파일이다.
- .java 확장자를 갖는다.
2. 컴파일
- 원시 소스 코드를 컴파일하여 컴퓨터가 읽을 수 있도록 한다.
- 다른 언어는 흔히 바이너리 코드(Binary Code)를 생성
- 하지만, 자바는 바이트 코드(Byte Code)를 생성한다.
- 이는 JVM위에서 실행하기 위함(JVM은 뒤에 설명)
- 결과 파일로 .class 파일이 생성됨
- 패키지들도 컴파일 된 상태인 .class 파일 형태로 제공됨
3. 바이트 코드 실행
- JVM(Java Virtual Machine)을 통해 Byte Code를 실행
- 바이트 코드 실행하며 애플리케이션 동작
4. 플랫폼 독립성(Platform Independence)
자바는 C/C++과 같이 OS위에서 바로 동작하는 언어가 아니다.
자바는 JVM이라는 하나의 가상환경위에서 동작하기 때문에(Byte Code가) OS(플랫폼)에 상관없이 같은 자바 파일을 컴파일하여 실행 가능하다.
즉, 어떠한 *.java 파일이든 *.class로 컴파일만 가능하다면, 어떠한 OS(플랫폼)에서든 동작이 가능하다는 뜻이다.
5. JDK & JRE
1. JDK
- Java Development Kit
- 자바 개발 킷으로, 자바 개발을 위해 필수적으로 필요한 도구 모음
- 흔히 자바를 설치하면 같이 설치됨.
2. JRE
- Java Runtime Environment
- 자바가 실행되는 환경을 의미
- 기본적인 라이브러리(패키지)를 제공함
- ex. String
6. JVM
- Java Virtual Machine의 약자
- 컴파일된 자바의 파일을 구동시킬 수 있는 가상 머신
- OS와 자바 애플리케이션(자바 프로그램) 사이에 위치함
- 즉, 어떠한 OS든지 JVM이 설치되어 있다면 자바 파일을 실행 가능
'Backend > JAVA' 카테고리의 다른 글
[JAVA] default 메소드에 대하여(모던 자바 인 액션) (0) | 2024.04.10 |
---|---|
[JAVA] 동작 파라미터화에 대하여(모던 자바 인 액션) (1) | 2024.03.13 |
[JAVA] Object 클래스와 Object 메소드(equals, hashCode, toString) (4) | 2023.11.06 |
[JAVA] Servlet 이란? (0) | 2023.08.20 |