JDK ve Java SDK arasındaki farklar


85

Bu iki terim arasında önemli bir fark var mı? JDK'nın, SDK'nın (Yazılım Geliştirme Kiti) bir alt kümesi olan Java Geliştirme Kiti anlamına geldiğini anlıyorum. Ancak Java SDK belirtildiğinde, JDK ile aynı anlama gelmelidir.

Yanıtlar:


97

Bu wikipedia girişinden :

JDK, genel anlamda bir yazılım geliştirme kiti (SDK) olarak gevşek bir şekilde tanımlanan şeyin bir alt kümesidir. Sun, Java SE, EE ve ME için son yayınlarına eşlik eden açıklamalarda, JDK'nın, Java programlarının yazılması ve çalıştırılmasından sorumlu olan SDK'nın alt kümesini oluşturduğunu kabul ediyor. SDK'nın geri kalanı, Uygulama Sunucuları, Hata Ayıklayıcılar ve Belgeler gibi ekstra yazılımlardan oluşur.

"Ekstra yazılım" Glassfish, MySQL ve NetBeans gibi görünüyor. Bu sayfa , Java EE SDK için alabileceğiniz çeşitli paketlerin bir karşılaştırmasını verir.


SDK, paketinde - JDK "paketi" (!) İçeriyor mu?
Royi Namir

JRE, JDK içinde yer alıyor, evet. JDK , bir yazılım geliştirme kitidir (SDK).
jamesh

34

Evet, SDK ile JDK arasında bir fark var. Çoğu kişi, Java Platformunun yalnızca Java dilinde programlar geliştirmek için kullanılmadığını unutur. JVM, diğer bazı dilleri de destekler. Bu nedenle, açıkça belirtmek gerekirse, SDK, Clojure, Groovy, Scala, JRuby ve diğerleri gibi çeşitli dillerde yazılım oluşturmayı destekleyen genel bir yazılım paketidir. JDK, Java dilinde yazılım geliştirmek için kullanılan tüm Java standart API'sini içeren özel bir pakettir. (Umarım bunu iyi açıklamışımdır, çünkü aslında ingilizce bilmiyorum)


27

JDK, Java için SDK'dır.

SDK, bir kişinin kodu daha kolay, etkili ve verimli bir şekilde yazmasını sağlayan bir geliştirici aracı olan 'Yazılım Geliştirme Kiti'nin kısaltmasıdır. SDK'lar çeşitli diller için gelir. Programcının çalışmasını kolaylaştıran birçok API (Uygulama Programlama Arayüzü) sağlarlar.

görüntü açıklamasını buraya girin

Java için SDK, Java Geliştirme Kiti olan JDK olarak adlandırılır. Yani Java için SDK derken aslında JDK'ya atıfta bulunuyorsunuz.

Java'da yeni olduğunuzu varsayarsak, karşınıza çıkacak başka bir terim vardır - Java Runtime Environment'ın kısaltması olan JRE. JRE, Java ile yazılmış yazılım programlarını çalıştırmaya çalıştığınızda ihtiyacınız olan bir şeydir.

Java, platformdan bağımsız bir dildir. JRE, yazılımı JVM'nin mevcut olduğu herhangi bir platformda çalıştırmanızı sağlayan Java Sanal Makinesi olan JVM'yi çalıştırır.


1
Lütfen JRE'nin diyagramınızda nereye uyduğunu açıklayın.
vikramvi

JRE, JDK'nın içine iyi bir şekilde gelir veya ne yaptığınıza bağlı olarak bağımsız olabilir. Bu çalışma zamanıdır, bu nedenle bir uygulama oluştururken JDK'nın içine gelir, ancak uygulamayı çalıştırdığınızda tek başına kalır ve bu durumda bu diyagram pek bir anlam ifade etmez.
raj240

Jdk'nin java'nın SDK'sı olduğundan emin misiniz? Java se düşünüldüğünde doğru olabilir ama java ee ve java me için sadece Oracle tarafından sağlanan SDK'ları gördüm. Peki bundan gerçekten emin misin?
user12208242

resim benimle konuşuyor :)
mohammad

5

Java EE 6 SDK Installer'dan alınmıştır, SDK 6'nın JDK dışında neler içerdiğini gösterir:

SDK 6, JDK dışında neler içeriyor?


3

Güneş, görünürde bir sebep olmaksızın şeylerin isimlerini değiştirmeyi sever. SunOS / Solaris için üç farklı numaralandırma şemasına veya Java için iki numaralandırma şemasına bakın. Java 1.6, Java 2 Sürüm 6 veya Java 6 mı?


3

JDK (Java Geliştirme Kiti) bir SDK'dır (Yazılım Geliştirme Kiti).

Java üzerinde yazılım / uygulamalar oluşturmak için kullanılır ve elbette bu yazılımı çalıştırmak için JRE (Java Runtime Edition) içerir. Yalnızca bir Java uygulamasını çalıştırmak istiyorsanız, yalnızca JRE'yi indirin.

Bu arada, Java EE (Enterprise Edition), WEB ortamı için uygulamalar ve mobil cihazlar için Java ME (Micro Edition) oluşturmak için "yöntemlerle (işlevlerle)" sınıf paket kitaplıkları içerir. İlgileniyorsanız (Java ME) Google'ın Android DevKit ve API'sine bir göz atmanızı tavsiye ederim.

Buraya bir göz atın: biraz daha açıklayacak .. http://www.oracle.com/technetwork/java/archive-139210.html


2

JDK Java programları geliştirmek ve çalıştırmak için kullanılan araçlardan bir koleksiyon ile gelir ,

İçerirler:

  1. appletviewer (Java uygulamalarını görüntülemek için)

  2. javac (Java derleyicisi)

  3. java (Java yorumlayıcısı)

  4. javap (Java parçalayıcı)

  5. javah (C başlık dosyaları için)

  6. javadoc (HTML belgeleri oluşturmak için)

  7. jdb (Java hata ayıklayıcı)

Oysa SDK, JDK'larda bulunan araçlar da dahil olmak üzere birçok başka araçla birlikte gelir.

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


1

JDK ve Java SDK arasında hiçbir fark yoktur. İkisi de aynı anlama geliyor. JDK'dan Java SDK'ya geçmenin Sun'da bir PR kararı olduğunu düşünüyorum. Sanırım şimdilik JDK'ya geri döndü.


1

Benim bakış açıma göre, java'da JDK ve SDK arasında bir fark yok. Her ikisinde de tüm geliştirme araçlarını ve tesisleri bulabiliriz. bu sadece sun tarafından sağlanan bir takma addır.


1

Bu Soru için en iyi örnek, SDK - Yazılım Geliştirme Kiti - Ör: Netbeans JDK - Java Geliştirme Kiti (Bu Java derleyicisidir). JDK olmadan, SDK'da java programlarını çalıştıramıyoruz.


1

Fark yok.

Java Yazılım Geliştirme Kiti (Java SDK), Sun'daki pazarlama departmanı "tm" ve terminoloji ile çıldırmadan önce Java Geliştirme Kiti (JDK) olarak adlandırılıyordu. Politik nedenlerden ve akıl sağlığından dolayı, anlamlı isimleri (jdk) ve sürümleri (1.2 / 1.3 / 1.4 1.5 / 1.6) "mühendislik" terimleri olarak adlandırırlar. Pazarlama terimleri "Java2 platformu" (aka jdk 1.2 ila 1.4) veya Java5 (aka jdk 1.5) veya Java6'dır (aka jdk1.6). Bunu düşünürken başım ağrıyor.


0

Sanırım jdk, belirli çerçeveyle birlikte kullanılabilecek belirli özelliklere sahip. Buna bir bütün olarak SDK diyoruz.

Android veya Blackberry gibi ikisi de çerçeveleriyle birlikte java kullanır.


-1

İlk tahminim, Java SDK'nın JVM'yi oluşturmak için olduğu, JDK ise JVM için uygulama oluşturmak için olduğu şeklinde olacaktır.

Düzenleme: Şu anda bu yanlış gibi görünse de. Sun, JVM'yi açma sürecindedir (belki de şimdi bitirmişlerdir), bu yüzden cevabım doğru olursa çok şaşırmam ... Ama şu anda, SDK ve JDK aynı şey.


Pardon, JVM'yi oluşturmakla ne demek istiyorsun?
Juan Carlos Blanco Martínez

Java uygulamaları Java Sanal Makinesi içinde çalışır. Halka açılan JRE'nin bir parçası, bu nedenle bir Java SDK, kişilerin kendi platformları için JRE'ler oluşturmaları açısından yararlı olacaktır.
Oli

Pardon, bu ifadeyi nereden aldınız (bir Java SDK, insanların kendi platformları için JRE'ler oluşturmaları için yararlı olacaktır)? Sanırım ya sizi anlamıyorum ya da Java SDK'nın hedefi bu değil. Java SDK, JRE ve Javac, javap, javadoc gibi bazı araçlar tarafından oluşturulmuştur ...
Juan Carlos Blanco Martínez

-1

JavaSE ve JavaEE olmak üzere iki ürün bulunmaktadır. EE, web uygulamasının geliştirilmesine ve çalıştırılmasına izin veren web uygulaması / kurumsal sürümüdür. SE, içinde EE özelliği olmayan, ancak EE'nin bir alt kümesidir. SE, JDK ve JRE olmak üzere iki tipte gelir.

Açık olmayabilecek büyük bir fark var ve bunun tüm İşletim Sistemleri için geçerli olup olmadığından emin değilim, ancak Windows altında JRE'de HotSpot JVM sunucusu yok, yalnızca istemci bir, JDK'da her ikisi var ve Diğer tüm işletim sistemlerinin hem JDK hem de JRE için olduğunu biliyorum. Gerçek fark, JDK'nın Java derleyicisini içermesidir, yani JDK, Java'yı kaynak kodundan derlemenize ve çalıştırmanıza izin verirken, JRE yalnızca Java bayt kodunun, yani zaten derlenmiş olan Kaynak'ın çalıştırılmasına izin verir. Ve evet, daha yeni sürümler, NetBeans editör ortamı ve Java in memory Database (derby / cloudscape) gibi bir dizi ekstra bileşeni bir araya getiriyor, ancak bunlar isteğe bağlıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.