JDK와 Java SDK의 차이점


85

이 두 용어 사이에 실질적인 차이가 있습니까?. JDK가 SDK (Software Development Kit)의 하위 집합 인 Java Development Kit의 약자임을 이해합니다. 그러나 Java SDK를 지정하면 JDK와 동일해야합니다.

답변:


97

wikipedia 항목에서 :

JDK는 일반적인 의미에서 소프트웨어 개발 키트 (SDK)로 느슨하게 정의 된 부분 집합입니다. Java SE, EE 및 ME에 대한 최신 릴리스와 함께 제공되는 설명에서 Sun은 해당 용어에 따라 JDK가 Java 프로그램의 작성 및 실행을 담당하는 SDK의 하위 집합을 형성 함을 인정합니다. SDK의 나머지 부분은 애플리케이션 서버, 디버거 및 문서와 같은 추가 소프트웨어로 구성됩니다.

"추가 소프트웨어"는 Glassfish, MySQL 및 NetBeans 인 것 같습니다. 이 페이지 에서는 Java EE SDK에 대해 얻을 수있는 다양한 패키지를 비교합니다.


SDK는 패키지 (JDK "패키지")에 (!)를 포함합니까?
Royi Namir 2014

JRE는 JDK에 포함되어 있습니다. JDK 소프트웨어 개발 키트 (SDK)입니다.
jamesh

34

예, SDK와 JDK간에 차이가 있습니다. 대부분의 사람들은 Java 플랫폼이 Java 언어로 프로그램을 개발하는 데만 사용되는 것이 아니라는 사실을 잊어 버립니다. JVM은 다른 언어도 지원합니다. 따라서 SDK는 Clojure, Groovy, Scala, JRuby 등과 같은 다양한 언어로 소프트웨어 생성을 지원하는 소프트웨어의 일반적인 번들입니다. JDK는 Java 언어로 소프트웨어를 개발하기위한 특정 번들이며이를위한 모든 Java 표준 API가 포함되어 있습니다. (실제로 영어를 못 하니까 잘 설명했으면 좋겠어요)


27

JDK는 Java 용 SDK입니다.

SDK는 'Software Development Kit'의 약자로 코드를보다 쉽고, 효과적이고, 효율적으로 작성할 수있는 개발자 도구입니다. SDK는 다양한 언어로 제공됩니다. 프로그래머의 작업을 쉽게 해주는 많은 API (응용 프로그래밍 인터페이스)를 제공합니다.

여기에 이미지 설명 입력

Java 용 SDK는 JDK (Java Development Kit)라고합니다. 따라서 Java 용 SDK라고 말하면 실제로 JDK를 참조하는 것입니다.

Java를 처음 접한다고 가정하면 Java Runtime Environment의 약자 인 JRE라는 또 다른 용어를 접하게됩니다. JRE는 Java로 작성된 소프트웨어 프로그램을 실행하려고 할 때 필요한 것입니다.

Java는 플랫폼 독립적 인 언어입니다. JRE는 JVM을 사용할 수있는 모든 플랫폼에서 소프트웨어를 실행할 수있는 JVM (Java Virtual Machine)을 실행합니다.


1
다이어그램에서 JRE가 어디에 적합합니까?
vikramvi

JRE는 JDK 내부에서 잘 제공되거나 수행중인 작업에 따라 독립형이 될 수 있습니다. 런타임이므로 애플리케이션을 빌드 할 때 JDK 내부에 들어오지 만 애플리케이션을 실행 중일 때는 독립형이됩니다.이 경우이 다이어그램은별로 의미가 없습니다.
raj240

jdk가 Java의 SDK라고 확신합니까? java se를 고려하면 사실 일 수 있지만 java ee 및 java me의 경우 Oracle에서 제공하는 SDK 만 보았습니다. 그래서, 당신은 그것에 대해 정말로 확신합니까?
user12208242

이미지 : 나와 함께 이야기
모하마드

5

Java EE 6 SDK 설치 프로그램에서 가져온 것으로, JDK 외에 SDK 6에 포함 된 내용을 보여줍니다.

JDK 외에 SDK 6에 포함 된 내용


3

Sun은 명백한 이유없이 사물의 이름을 바꾸는 것을 좋아합니다. SunOS / Solaris에 대한 세 가지 다른 번호 지정 체계 또는 Java에 대한 두 가지 번호 지정 체계를 살펴보십시오. Java 1.6, Java 2 버전 6 또는 Java 6입니까?


3

JDK (Java Development Kit)는 SDK (Software Dev Kit)입니다.

Java에서 소프트웨어 / 애플리케이션을 빌드하는 데 사용되며 물론 해당 소프트웨어를 실행하기위한 JRE (Java Runtime Edition)도 포함됩니다. Java 애플리케이션 만 실행하려면 JRE 만 다운로드하십시오.

그런데 Java EE (Enterprise Edition)에는 웹 환경 용 앱과 모바일 장치 용 Java ME (Micro Edition)를 빌드하기위한 "메서드 (기능) 포함"클래스 패키지 라이브러리가 포함되어 있습니다. 관심이 있으시다면 (Java ME) Google의 Android DevKit 및 API를 살펴 보시기 바랍니다.

여기 좀 더 자세히 설명하겠습니다. http://www.oracle.com/technetwork/java/archive-139210.html


2

의 JDK는 자바 프로그램을 개발하고 실행하는 데 사용되는 도구 모음과 함께 제공 ,

여기에는 다음이 포함됩니다.

  1. appletviewer (Java 애플릿보기 용)

  2. javac (Java 컴파일러)

  3. java (Java 인터프리터)

  4. javap (Java 디스어셈블러)

  5. javah (C 헤더 파일의 경우)

  6. javadoc (HTML 문서 작성 용)

  7. jdb (Java 디버거)

반면 SDK는 JDK에서 사용할 수있는 도구를 포함하여 다른 많은 도구와 함께 제공됩니다.

http://parvindersingh.webs.com/apps/forums/topics/show/8853125-solved-java-difference-between-jdk-and-sdk-


1

JDK와 Java SDK에는 차이가 없습니다. 둘 다 같은 의미입니다. JDK에서 Java SDK로 전환하는 것이 썬의 PR 결정이라고 생각합니다. 지금은 JDK로 돌아 갔다고 생각합니다.


1

내 관점에서 Java에서 JDK와 SDK 사이에는 차이가 없습니다. 우리는 두 가지 모두에서 모든 개발 도구와 시설을 찾을 수 있습니다. 태양이 제공하는 별칭 일뿐입니다.


1

이 질문에 대한 가장 좋은 예, SDK-소프트웨어 개발 키트-예 : Netbeans JDK-Java 개발 키트 (Java 컴파일러입니다). JDK가 없으면 SDK에서 Java 프로그램을 실행할 수 없습니다.


1

다른 점이 없다.

Java SDK (Java Software Development Kit)는 Sun의 마케팅 부서가 "tm"과 용어에 열광하기 전에 JDK (Java Development Kit)라고 불 렸습니다. 정치적 이유와 온전함을 위해 의미있는 이름 (jdk) 및 버전 (1.2 / 1.3 / 1.4 1.5 / 1.6)을 "엔지니어링"용어라고 부릅니다. 마케팅 용어는 "Java2 플랫폼"(일명 jdk 1.2 ~ 1.4) 또는 Java5 (일명 jdk 1.5) 또는 Java6 (일명 jdk1.6)입니다. 생각 만해도 두통이납니다.


0

jdk에는 특정 프레임 워크와 함께 사용할 수있는 특정 기능이 있다고 생각합니다. 전체적으로 SDK라고 부릅니다.

Android 또는 Blackberry와 마찬가지로 둘 다 프레임 워크와 함께 Java를 사용합니다.


-1

내 초기 추측은 Java SDK는 JVM 빌드 용이고 JDK는 JVM 앱 빌드 이라는 것입니다.

편집 : 현재로서는 잘못된 것처럼 보이지만. 썬은 JVM을 오픈 소싱하는 중입니다 (아마도 지금 끝났을 것입니다). 제 대답이 맞아도 놀라지 않을 것입니다.하지만 지금은 SDK와 JDK가 똑같습니다.


JVM을 구축한다는 것이 무슨 의미입니까?
Juan Carlos Blanco Martínez

Java 애플리케이션은 Java Virtual Machine 내에서 실행됩니다. 대중에게 공개되는 JRE의 일부이므로 Java SDK는 사람들이 플랫폼 용 JRE를 구축하는 데 유용 할 것입니다.
Oli

죄송합니다.이 문장을 어디서 얻었습니까 (자바 SDK는 사람들이 플랫폼 용 JRE를 빌드하는 데 유용 할 것임)? 나는 당신을 이해하지 못하거나 Java SDK의 대상이 아니라고 생각합니다. Java SDK는 JRE 및 일부 도구에 의해 Javac, javap, javadoc로 구성됩니다.
Juan Carlos Blanco Martínez

-1

JavaSE 및 JavaEE 두 가지 제품이 있습니다. EE는 웹 애플리케이션의 개발 및 실행을 허용하는 웹 애플리케이션 / 엔터프라이즈 에디션입니다. SE는 EE 세부 사항이없는 일반 Java 제품이지만 EE의 서브 세트입니다. SE는 JDK와 JRE의 두 가지 유형으로 제공됩니다.

분명하지 않은 큰 차이점이 하나 있습니다. 모든 운영 체제에 적용되는지 확실하지 않지만 Windows에서는 JRE에 서버 HotSpot JVM이없고 클라이언트 하나만 있고 JDK에는 둘 다 있으며 다른 모든 OS에는 JDK와 JRE가 모두 있습니다. 실제 차이점은 JDK에 Java 컴파일러가 포함되어 있다는 것입니다. 즉, JDK를 사용하면 소스 코드에서 Java를 컴파일하고 실행할 수 있습니다. JRE는 이미 컴파일 된 소스 인 Java 바이트 코드 만 실행할 수 있습니다. 새로운 버전은 NetBeans 편집기 환경 및 Java in memory Database (derby / cloudscape)와 같은 여러 추가 구성 요소를 번들로 제공하지만 선택 사항입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.