2008-10-03 93 views

Trả lời

80

Từ wikipedia entry này:

JDK là một tập hợp con của những gì đang lỏng lẻo định nghĩa là một bộ phát triển phần mềm (SDK) theo nghĩa chung. Trong các mô tả kèm theo các bản phát hành gần đây của họ cho Java SE, EE và ME, Sun thừa nhận rằng theo thuật ngữ của họ, JDK tạo thành tập con của SDK chịu trách nhiệm về việc viết và chạy các chương trình Java. Phần còn lại của SDK bao gồm phần mềm bổ sung, chẳng hạn như Máy chủ ứng dụng, Trình gỡ rối và Tài liệu.

"Phần mềm bổ sung" có vẻ là Glassfish, MySQL và NetBeans. This page cho so sánh các gói khác nhau mà bạn có thể nhận được cho SDK Java EE.

+0

SDK có chứa (!) Trong gói của nó - gói JDK "" không? –

+0

JRE được chứa trong JDK, có. Bộ công cụ phát triển phần mềm JDK _is (SDK). – jamesh

-1

Dự đoán ban đầu của tôi là SDK Java dành cho việc xây dựng JVM trong khi JDK dùng để xây dựng ứng dụng cho JVM.

Chỉnh sửa: Mặc dù điều này có vẻ không chính xác tại thời điểm này. Sun đang trong quá trình mở JVM (có lẽ họ đã hoàn thành, bây giờ) vì vậy tôi sẽ không quá ngạc nhiên nếu câu trả lời của tôi không đúng ... Nhưng hiện tại, SDK và JDK cũng giống nhau.

+0

Xin lỗi bạn có ý gì khi xây dựng JVM? –

+0

Các ứng dụng Java chạy bên trong Máy ảo Java. Một phần của JRE đang được mở cho công chúng, do đó, một SDK Java sẽ hữu ích cho mọi người để xây dựng các JRE cho nền tảng của họ. – Oli

+0

Xin lỗi, bạn nhận được câu lệnh này ở đâu (một SDK Java sẽ hữu ích cho mọi người để xây dựng các JRE cho nền tảng của họ) từ đâu? Tôi nghĩ rằng tôi không hiểu bạn hoặc đó không phải là mục tiêu của SDK Java. Java SDK được tạo thành bởi JRE và một số công cụ như Javac, javap, javadoc ... –

1

Không có sự khác biệt giữa JDK và Java SDK. Cả hai đều có cùng ý nghĩa. Tôi nghĩ đó là một quyết định PR tại Sun để thay đổi từ JDK sang Java SDK. Tôi nghĩ rằng nó trở lại JDK cho bây giờ.

2

Mặt trời chỉ thích thay đổi tên của mọi thứ mà không có lý do rõ ràng. Xem xét ba lược đồ đánh số khác nhau cho SunOS/Solaris, hoặc hai lược đồ đánh số cho Java. Là Java 1.6, Java 2 Phiên bản 6 hoặc Java 6?

1

Vì vậy, tại sao có hai liên kết khác nhau (SDKJDK) để tải xuống?

+0

Đầu tiên là phiên bản tiêu chuẩn java (JavaSE), phiên bản khác là phiên bản doanh nghiệp (JavaEE). Họ là hai sản phẩm khác nhau. – agnul

-1

Có hai sản phẩm JavaSE và JavaEE. EE là phiên bản ứng dụng web/doanh nghiệp cho phép phát triển và chạy ứng dụng web. SE là sản phẩm Java đơn giản không có chi tiết đặc trưng về EE, nhưng là một tập con của EE. SE có hai loại JDK và JRE.

Có một sự khác biệt lớn có thể không rõ ràng và tôi không chắc liệu nó có áp dụng cho tất cả các hệ điều hành hay không, nhưng trong Windows JRE không có máy chủ HotSpot JVM, chỉ có máy khách, JDK có cả hai, và theo như tôi biết tất cả các hệ điều hành khác đều có cả JDK và JRE. Sự khác biệt thực sự là JDK chứa trình biên dịch Java, đó là JDK cho phép bạn biên dịch và chạy Java từ mã nguồn khi JRE chỉ cho phép chạy mã byte Java, đó là Nguồn đã được biên dịch. Và có phiên bản mới hơn bó một số thành phần phụ, chẳng hạn như môi trường trình soạn thảo NetBeans và Java trong bộ nhớ Cơ sở dữ liệu (derby/cloudscape), nhưng đây là tùy chọn.

+1

Vui lòng đọc lại câu hỏi. Nó không phải về JDK và JRE. –

1

Theo quan điểm của tôi, không có sự khác biệt giữa JDK và SDK trong java. Chúng ta có thể tìm thấy tất cả các công cụ phát triển cũng như cơ sở vật chất ở cả hai. nó chỉ là một bí danh được cung cấp bởi mặt trời.

+0

không có gì mới so với các câu trả lời trước đó, có ;-) – kleopatra

1

Ví dụ tốt nhất cho Câu hỏi này, SDK - Bộ công cụ phát triển phần mềm - Ví dụ: JDK Netbeans - Bộ phát triển Java (Đây là trình biên dịch Java).Nếu không có JDK, chúng tôi không thể chạy các chương trình java trong SDK.

3

JDK (Bộ phát triển Java) là một SDK (Software Dev Kit).

Nó được sử dụng để xây dựng phần mềm/ứng dụng trên Java và tất nhiên nó bao gồm JRE (Java Runtime Edition) để thực thi phần mềm đó. Nếu bạn chỉ muốn thực thi một ứng dụng Java, chỉ tải xuống JRE. Bằng cách này, Java EE (Enterprise Edition) chứa các thư viện các gói của các lớp "với các phương thức (hàm)" để xây dựng các ứng dụng cho môi trường WEB và Java ME (Micro Edition) cho các thiết bị di động. Nếu bạn quan tâm đến nó (Java ME), tôi khuyên bạn nên xem xét Google DevKit và API của Google.

Hãy xem ở đây: nó sẽ giải thích thêm chút .. http://www.oracle.com/technetwork/java/archive-139210.html

1

JDK đi kèm với một bộ sưu tập các công cụ được sử dụng để phát triển và chạy chương trình Java,

Chúng bao gồm:

  1. appletviewer (để xem các ứng dụng Java)

  2. javac (Java biên dịch)

  3. java (Java thông dịch viên)

  4. javap (Java disassembler)

  5. javah (cho các tập tin tiêu đề C)

  6. javadoc (để tạo tài liệu HTML)

  7. jdb (trình gỡ lỗi Java)

Trong khi đó, SDK đi kèm với nhiều công cụ khác cũng bao gồm các công cụ có sẵn trong JDK.

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

+0

Liên kết đó hoặc là đã chết hoặc không chính xác. – Mat

0

Tôi nghĩ jdk có nhiều tính năng nhất định mà có thể được sử dụng cùng với khuôn khổ cụ thể. Cũng gọi nó là một tổng thể.

Giống như Android hoặc Blackberry đều sử dụng java cùng với khung của họ.

0

Không có sự khác biệt.

Bộ phát triển phần mềm Java (Java SDK) được sử dụng để được gọi là Bộ phát triển Java (JDK) trước khi bộ phận tiếp thị tại Sun trở nên điên rồ với thuật ngữ "tm" và thuật ngữ. Vì lý do chính trị & đối với sự tỉnh táo, họ gọi các tên có ý nghĩa (jdk) & phiên bản (1.2/1.3/1.4 1.5/1.6) thuật ngữ "kỹ thuật". Các điều khoản tiếp thị là "nền tảng Java2" (còn gọi là jdk 1.2 đến 1.4) hoặc Java5 (aka jdk 1.5) hoặc Java6 (aka jdk1.6). Tôi đang đau đầu vì nghĩ về nó.

20

Có, có sự khác biệt giữa SDK và JDK. Hầu hết mọi người quên rằng Nền tảng Java không chỉ được sử dụng để phát triển các chương trình bằng ngôn ngữ Java.JVM cũng hỗ trợ một số ngôn ngữ khác. Do đó, làm rõ, SDK là gói phần mềm chung hỗ trợ tạo phần mềm bằng nhiều ngôn ngữ như Clojure, Groovy, Scala, JRuby và các ngôn ngữ khác. JDK là gói cụ thể để phát triển phần mềm bằng ngôn ngữ Java, chứa tất cả các API tiêu chuẩn Java để làm như vậy. (Tôi hy vọng tôi đã explaned nó tốt, vì tôi thực sự không nói được tiếng Anh)

4

Taken từ Java EE 6 SDK Installer, cho thấy những gì SDK 6 chứa ngoài JDK:

What SDK 6 contains, besides JDK

7

JDK là SDK dành cho Java.

SDK là viết tắt của 'Software Development Kit', một công cụ dành cho nhà phát triển cho phép người dùng viết mã dễ dàng hơn, hiệu quả và hiệu quả hơn. SDK đến với nhiều ngôn ngữ khác nhau. Chúng cung cấp rất nhiều API (Giao diện lập trình ứng dụng) khiến cho công việc của lập trình viên trở nên dễ dàng.

enter image description here

SDK cho Java được gọi là JDK, Development Kit Java. Vì vậy, bằng cách nói SDK cho Java bạn đang thực sự đề cập đến JDK.

Giả sử bạn mới sử dụng Java, có một thuật ngữ khác mà bạn sẽ gặp phải - JRE, từ viết tắt của Java Runtime Environment. JRE là thứ bạn cần khi bạn cố gắng chạy các chương trình phần mềm được viết bằng Java.

Java là ngôn ngữ độc lập trên nền tảng. JRE chạy JVM, Máy ảo Java, cho phép bạn chạy phần mềm trên bất kỳ nền tảng nào mà JVM có sẵn.

+1

Vui lòng làm rõ nơi JRE phù hợp với biểu đồ của bạn? – vikramvi

Các vấn đề liên quan