본문으로 바로가기

JDK / JRE / JVM / JAVA SE,EE / IDE란?

category JAVA 2020. 4. 15. 12:49

자바 개발 키트(Java Development Kit, JDK), 

자바 가상 머신(Java Virtual Machine, JVM),

자바 런타임 환경(Java Runtime Environment, JRE)

는 3대 핵심 기술 패키지 이다.

이 3가지 기술이 어떻게 연결되어 있는지, 또한 어떻게 다른지 구별하는 것이 중요하다.

 

**아래의 글은

http://www.itworld.co.kr/news/110817

https://codevang.tistory.com/86

이 두 곳에서 가져 발췌했습니다. 자세한 내용은 위의 사이트를 참고해주세요

 

Matthew Tyson 자바 애플리케이션 개발 라이프 사이클
[출처]https://codevang.tistory.com/86  http://www.javalearningacademy.com/jre-jdjk-and-jee-explained-in-detail/

 

 

JDK 란?

  • JDK는 개발자들이 JVM과 JRE에 의해 실행되고 구동될 수 있는 자바 프로그램을 생성할 수 있게 도와주는 개발환경 세트를 의미한다
  • JDK는 개발자를 위해 컴파일러, 디버깅 툴 등을 제공한다.
  • JDK 정의
    - 기술적 정의: JDK는 컴파일러와 클래스 라이브러리(Class Library)를 포함하는, 자바 플랫폼 사양서의 구현이다.
    - 일반적인 정의: JDK는 개발자가 자바 기반 애플리케이션 개발을 위해 다운로드하는 소프트웨어 패키지다.
  • JDK는 개발자 및 사용자를 위한 JAVA인 JRE와 JVM을 포함한다.
    JRE는 단지 자바 프로그램을 구동하기 위한 독립형 구성요소로써 사용될 수도 있지만, 동시에 JDK의 일부이기도 하다. 자바 프로그램을 구동하는 것이 자바 프로그램 개발의 일환이기 때문에 JDK는 JRE를 필요로 한다. '자바 애플리케이션 개발 라이프 사이클' 그림은 JDK가 자바 애플리케이션 개발 라이프사이클에서 어디에 속하는 지를 보여준다.
  • JDK와 JRE의 차이점 : 
    JDK가 자바 기반 소프트웨어를 개발하기 위한 도구들로 이뤄진 패키지인 반면, 
    JRE는 자바 코드를 실행하기 위한 도구들로 구성된 패키지라는 점이다.
    JRE는 단지 자바 프로그램을 구동하기 위한 독립형 구성요소로써 사용될 수도 있지만, 동시에 JDK의 일부이기도 하다.


JDK 시작하기
사용할 JDK를 다운로드 할 때, 사용할 자바 버전을 선택해야 한다. 자바 8이 가장 널리 사용되고 있지만, 기사 작성 시점에서는 자바 10이 최신 릴리즈다. 자바는 하위 호환성(Backward Compatibility)을 유지하고 있으므로, 최신 릴리즈를 다운로드 하기만 하면 된다.

JDK 패키지
자바 버전 선택과 함께, 자바 패키지도 선택해야 한다. 패키지(Package)란 서로 다른 유형의 개발을 표적으로 하는 자바 개발 키트다. 가용 패키지로는 자바 EE(Enterprise Edition), 자바 SE(Standard Edition), 그리고 자바 ME(Mobile Edition)이 있다.

 

일반적으로, 개별 JDK 버전은 자바 SE를 포함하고 있다. 자바 EE나 자바 ME를 다운로드하면, 표준 에디션(Standard Edition, SE)도 얻는 것이다. 예를 들면, 자바 EE는 엔터프라이즈 자바 빈(JavaBeans)이나 객체 관계 매핑(Object Relational Mapping, ORM) 지원 같은 엔터프라이즈 애플리케이션 개발에 유용한 추가적인 도구를 가지고 있는 표준 플랫폼이다.

필요한 경우, 나중에 다른 JDK로 전환하는 것도 어렵지 않다. 이제 막 시작한 경우, 맞는 자바 버전과 JDK 패키지 선정에 대해 너무 걱정하지 마라.

 

JDK 설치하기
https://sallykim5087.tistory.com/78

원문보기:
http://www.itworld.co.kr/news/110817#csidx789d629320aad62a3369fbe89664192 

 

※ 각 프로그램 version 문제
- JAVA SE version이 가장 우선 (JAVA의 문법을 어느 version의 기준으로 할 것인가)
- JDK version은 이 JAVA SE version을 지원하는 버전이라고 볼 수 있음
- 예를 들어 현재 JDK 13.0.1은 JAVA SE 13.0.1 version에 맞춘 개발 툴이라고 보면 됨
- 이클립스 version은 이클립스에서 JDK(JAVA SE) 버전을 어디까지 지원해주는지에 대한 문제
- 즉, 이클립스에서 JAVA SE 12까지만 지원하는데 JDK 13을 깔아버리면 호환성 문제 발생 가능

 

 

JRE 이란?

http://www.itworld.co.kr/news/110768

  • 자바 런타임 환경은 JVM에서 실행하기 위한 자바 애플리케이션을 로드하는 온디스크 프로그램이다.
  • JRE는 자바 개발 키트를 다운로드할 때 기본적으로 포함되며 각 JRE에는 코어 자바 클래스 라이브러리, 자바 클래스 로더, 자바 가상 머신이 포함된다.

 

JVM 이란?

http://www.itworld.co.kr/news/110837

- JVM은 프로그램을 실행하는 자바 플랫폼 구성요소다.

- Java Virtual Machine (자바 코드를 해석해서 프로그램을 실행해주는 가상 머신)

 

 

IDE 란?

통합 개발 환경(統合開発環境, Integrated Development Environment, IDE)은 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이다. 종래의 소프트웨어 개발에서는 컴파일러, 텍스트 편집기, 디버거 등을 따로 사용했다. 이러한 프로그램들을 하나로 묶어 대화형 인터페이스를 제공한 것이 통합 개발 환경이다.

[출처]https://ko.wikipedia.org/wiki/%ED%86%B5%ED%95%A9_%EA%B0%9C%EB%B0%9C_%ED%99%98%EA%B2%BD

'JAVA' 카테고리의 다른 글

Static 키워드를 사용해야하는 이유  (0) 2020.04.15
JDBC / DB Connect / DTO / DAO  (0) 2019.12.21
JAVA Template 등록하기  (0) 2019.12.21
JDBC / JAVA 와 DB 연결 / CONNECTION  (0) 2019.12.18
JSON 라이브러리  (0) 2019.12.18