JDK는 무엇입니까? Java Development Kit 소개

JDK (Java Development Kit)는 JVM (Java Virtual Machine) 및 JRE (Java Runtime Environment)와 함께 Java 프로그래밍에 사용되는 세 가지 핵심 기술 패키지 중 하나입니다. 이 세 가지 기술을 구별하고 연결 방식을 이해하는 것이 중요합니다.

  • JVM은 프로그램을 실행하는 Java 플랫폼 구성 요소입니다.
  • JRE는 JVM을 생성하는 Java의 온 디스크 부분입니다.
  • JDK를 사용하면 개발자가 JVM 및 JRE에서 실행하고 실행할 수있는 Java 프로그램을 만들 수 있습니다.

Java를 처음 접하는 개발자는 종종 Java Development Kit와 Java Runtime Environment를 혼동합니다. 차이점은 JDK는 Java 기반 소프트웨어 를 개발 하기위한 도구 패키지 인 반면 JRE는 Java 코드 를 실행 하기위한 도구 패키지라는 것입니다 .

JRE는 Java 프로그램을 실행하기위한 독립형 구성 요소로 사용할 수 있지만 JDK의 일부이기도합니다. JDK는 Java 프로그램을 실행하는 것이 개발의 일부이기 때문에 JRE가 필요합니다.

그림 1은 JDK가 Java 애플리케이션 개발 라이프 사이클에 어떻게 부합하는지 보여줍니다.

매튜 타이슨

Java Virtual Machine에 대한 최근 소개에서했던 것처럼 JDK의 기술 및 일상적인 정의를 고려해 보겠습니다.

  • 기술적 정의 : JDK는 컴파일러 및 클래스 라이브러리를 포함한 Java 플랫폼 사양의 구현입니다.
  • 일상적인 정의 : JDK는 Java 기반 응용 프로그램을 만들기 위해 다운로드하는 소프트웨어 패키지입니다.

JDK 및 Java 컴파일러

Java 애플리케이션을 실행하는 데 사용되는 환경 인 JRE 외에도 모든 JDK에는 Java 컴파일러가 포함되어 있습니다. 컴파일러는 일반 텍스트입니다 - - 그리고 실행을 .class 파일로 렌더링 원시 된 .java 파일을 복용 할 수있는 소프트웨어 프로그램입니다. 곧 컴파일러가 작동하는 것을 볼 수 있습니다. 먼저 개발 환경에서 JDK를 다운로드하고 설정하는 방법을 보여 드리겠습니다.

JDK 시작하기

개발 환경에서 Java 설정을 얻는 것은 JDK를 다운로드하여 클래스 경로에 추가하는 것만 큼 쉽습니다. JDK를 다운로드 할 때 사용할 Java 버전을 선택해야합니다. Java 8이 가장 일반적으로 사용되는 버전이지만이 문서 작성 시점에서 Java 11은 장기 지원 (LTS) 릴리스입니다. Java는 이전 버전과의 호환성을 유지하므로 최신 릴리스 만 다운로드합니다.

JDK 패키지

Java 버전을 선택하는 것 외에도 Java 패키지를 선택해야합니다. 패키지 는 다양한 개발 유형을 대상으로하는 Java Development Kit입니다. 사용 가능한 패키지는 Java EE (Java Enterprise Edition), Java SE (Java Standard Edition) 및 Java ME (Java Mobile Edition)입니다.

초보 개발자는 때때로 자신의 프로젝트에 맞는 패키지를 확신하지 못합니다. 일반적으로 각 JDK 버전에는 Java SE가 포함되어 있습니다. Java EE 또는 Java ME를 다운로드하면 표준 버전이 함께 제공됩니다. 예를 들어 Jave EE는 Enterprise JavaBeans 또는 Object Relational Mapping 지원과 같은 엔터프라이즈 애플리케이션 개발에 유용한 추가 도구가 포함 된 표준 플랫폼입니다.

필요한 경우 나중에 다른 JDK로 전환하는 것도 어렵지 않습니다. 막 시작할 때 올바른 Java 버전과 JDK 패키지를 선택하는 것에 대해 너무 걱정하지 마십시오.

JDK 버전 호환성

JDK는 Java 프로그램 용 컴파일러를 제공하므로 사용하는 JDK에 따라 코딩 할 수있는 Java 버전이 결정됩니다. 예를 들어 Java 8에있는 최신 기능 프로그래밍 기능 (예 : 화살표 Lambda 연산자)을 사용하려는 경우 , 그런 다음 컴파일을 위해 최소한 Java 8 JDK가 필요합니다. 그렇지 않으면 javac명령이 구문 오류와 함께 코드를 거부합니다.

JDK 다운로드

이 자습서에서는 Java SE를 사용하여 핵심 JDK 클래스 및 기술에 집중할 수 있습니다. Java SE JDK를 다운로드하려면 Oracle의 공식 다운로드 페이지를 방문하십시오. 그림 2와 같이 사용 가능한 다양한 JDK 패키지가 표시됩니다.

매튜 타이슨

Java SE 다운로드를 선택하기 전에 잠시 시간을내어 다른 옵션을 살펴보십시오. 자바 주방에는 많은 요리가 있습니다!

Java EE 정보

주로 Java 기반 웹 애플리케이션을 빌드하는 데 관심이 있다면 Java EE JDK를 다운로드합니다. Java EE JDK에는 HTTP 요청 처리를 지원하는 Java Servlet 사양이 포함되어 있습니다. 모든 Java EE JDK 구현에는 Java EE 애플리케이션을 실행하는 서버 인 컨테이너 도 필요합니다 . Glassfish는 Oracle 용 Java EE 서버 참조 구현입니다. 다른 대중적인 구현은 Tomcat과 Jetty입니다.

지금은 Java Standard Edition JDK를 다운로드하십시오.

JDK 설치

JDK 설치 프로그램을 실행하면 개발 도구 , 소스 코드공용 JRE 의 세 가지 구성 요소를 선택할 수 있습니다 . 이들 중 하나 또는 모두를 설치할 수 있습니다. 이 경우 기본값을 선택하십시오.

"개발 도구"옵션을 설치하면 적절한 JDK가 제공됩니다. "소스 코드"설치에는 핵심 Java API의 공용 클래스에 대한 소스가 포함되어 있습니다. 이 옵션을 포함하면 앱을 빌드 할 때 소스 코드를 참조 할 수 있습니다. 세 번째 옵션 인 "공용 JRE"는 JDK와 JRE가 별도의 엔터티임을 가정합니다. 공용 JRE는 다른 프로그램에서 Java 프로그램을 실행하는 데 사용할 수 있으며 JDK와 별도로 설치할 수 있습니다.

계속해서 세 가지 구성 요소를 모두 설치하고 각 구성 요소에 대해 기본값을 적용합니다. 이렇게하면 JDK 및 JRE가 운영 체제의 기본 위치에 설치됩니다. Windows에서는 그림 3과 같이 C : \ Program Files \ Java 입니다.

매튜 타이슨

명령 줄의 JDK

JDK 및 JRE를 설치하면 java명령 줄에 명령이 추가 됩니다. 명령 셸로 이동하고를 입력하여이를 확인할 수 있습니다 java -version. 그러면 설치 한 Java 버전이 반환됩니다. (경우에 따라 시스템 경로를 완전히 변경하려면 시스템을 다시 시작해야합니다.)

그것은 좋은 것으로의 java일에 대해 설치되어 있지만 javac? Java 파일을 컴파일하려면이 JDK 요소가 필요합니다.

javac 명령

javac명령은 /jdk디렉토리 내에 있지만 설치 중에 시스템 경로에 자동으로 추가되지는 않습니다. 직접 설치할 javac수도 있고이 명령이 포함 된 IDE를 설치할 수도 있습니다. 구식 방식으로 Java 프로그램을 컴파일하고 실행하는 것으로 시작합니다.

간단한 자바 프로그램

1 단계. 간단한 Java 프로그램 작성

라는 새 텍스트 파일을 만들어 Intro.java문서 폴더와 같은 컴퓨터의 어딘가에 배치합니다.

다음으로 매우 간단한 Java 프로그램 인 Listing 1의 코드를 추가합니다.

목록 1. Intro.java

 public class Intro { public static void main(String[] args) { System.out.println("Welcome to the JDK!"); } } 

2 단계. JDK로 컴파일

다음으로 JDK 컴파일러를 사용하여 텍스트 파일을 실행 가능한 프로그램으로 변환합니다. Java로 컴파일 된 코드를 바이트 코드라고하며 .class확장을 전달합니다 .

javacJava 컴파일러를 나타내는 명령을 사용합니다 . 명령 셸에 명령의 전체 경로를 입력하고 Intro.java파일을 명령으로 전달합니다 . 내 시스템에서는 Listing 2와 같다.

Listing 2. JDK로 컴파일

 "C:\Program Files\Java\jdk-10.0.1\bin\javac.exe" Intro.java 

그러면 성공적으로 컴파일됩니다. 는 javac성공 메시지에 응답하지 않습니다; 새 파일 만 출력합니다. 오류가 발생하면 콘솔이 출력됩니다.

3 단계. .class 파일 실행

이제 Intro.class파일이 Intro.java.

다음을 입력하여 실행할 수 있습니다. java Intro결과는 목록 3 .class이됩니다.이 명령을 입력 할 때를 포함하지 않습니다 .

목록 3. Intro.class 실행

 C:\Users\mtyson\Documents>java Intro Welcome to the JDK! 

jar 명령

javac의 JDK의 스타이지만, /bin디렉토리는 당신이 필요합니다 다른 도구가 포함되어 있습니다. 아마도 가장 눈에 띄는 javac것은 jar도구 일 것입니다.

.jar 파일은 자바 클래스의 패키지 세트입니다. 컴파일러가 .class파일 을 생성하면 개발자는 파일을.으로 묶어 .jar예측 가능한 방식으로 압축하고 구조화 할 수 있습니다.

하자의 변환 Intro.classA와 jar파일.

를 배치 한 디렉토리로 돌아가서 Intro.java목록 4에 표시된 명령을 입력하십시오.

Listing 4. JAR 파일 만들기

 C:\Users\mtyson\Documents>"c:\Program Files\Java\jdk-10.0.1\bin\jar.exe" --create --file intro.jar Intro.class 

항아리 실행

이제 intro.jar디렉토리에 파일 이 표시 됩니다. 다음 .jar과 같이 클래스 경로에 추가하고 내부 프로그램을 실행하여을 사용할 수 있습니다 .

 java -cp intro.jar Intro 

-cp스위치를 추가하는 자바를 알려줍니다 jar클래스 패스에. .jar 파일은이 작은 프로그램에 과도하지만 프로그램의 크기가 커지고 타사 패키지에 의존하기 때문에 필수 불가결합니다.

IDE의 JDK

JDK 다운로드 페이지를 다시 살펴보면 Netbeans IDE를 사용하여 JDK를 다운로드하는 옵션을 발견했을 것입니다. IDE , 또는 통합 개발 환경, 응용 프로그램 개발을위한 도구의 응집력을 제공하는 소프트웨어입니다. IDE는 파일 브라우저 및 텍스트 편집기와 같은 도구 세트가 있고 코드 완성 및 서식과 같은 개발 관련 추가 기능이있는 시각적 운영 체제로 생각하십시오.

Java 개발에서 IDE가 수행하는 주요 작업 중 하나는 컴파일을 관리하는 것입니다. 즉, IDE가 자동으로 백그라운드에서 컴파일 프로세스를 실행하므로 사용자가 직접 수행 할 필요가 없습니다. IDE는 또한 이동 중에 실황 피드백을 제공하여 즉시 코딩 오류를 포착합니다.

Java를위한 몇 가지 견고한 IDE가 있습니다. JDK가 명령 줄에서 작동하는 방식을 보았으므로 이제 Eclipse IDE에서 작동하는 방식을 간략히 살펴 보겠습니다.

[또한 참조 : Java IDE 선택 : 기능, 유용성, 프로젝트 크기 및 유형에 대한 Eclipse, NetBeans 및 Intellij IDE 비교]

Eclipse와 JDK

Eclipse 설치는이 가이드의 범위를 벗어나지 만 간단한 과정입니다. Eclipse에는 다른 프로그램과 마찬가지로 설치 프로그램이 포함되어 있으며 여기에서 운영 체제에 적합한 설치 프로그램을 찾을 수 있습니다.

Eclipse가 설치된 상태에서 메뉴 표시 줄에서 창 메뉴 항목을 열고 기본 설정을 선택하십시오 .

환경 설정 창 안에 Java 항목이 표시됩니다. 그것을 열면 내부에 컴파일러 항목이 표시됩니다. 클릭하면 JDK에 대한 몇 가지 옵션이 표시됩니다.

그림 4는 Eclipse의 JDK 옵션 스크린 샷을 보여줍니다.

매튜 타이슨

앞서 언급했듯이 프로젝트에 맞는 올바른 JDK 버전을 선택해야합니다. 내부적으로 IDE는 명령 줄에서 실행 한 것처럼 JDK 컴파일러를 실행합니다. Eclipse IDE에는 자체 JDK 인스턴스도 있습니다. IDE는 JDK 및 JRE를 관리하므로 작업이 훨씬 쉬워집니다!

결론

이 기사는 JVM, JDK 및 JRE의 세 가지 핵심 Java 플랫폼 구성 요소를 소개하는 짧은 시리즈의 두 번째 기사입니다. 이 시리즈의 다음 기사에서 Java Runtime Environment에 대한 모든 것을 배울 수 있습니다.

"JDK 란 무엇입니까? Java 개발 키트 소개"라는이 스토리는 원래 JavaWorld에서 게시했습니다.