Java SE 6 vs.JRE 1.6 vs. JDK 1.6 - Bunlar ne anlama geliyor?


179

Etrafta yüzen birçok farklı Java terimi görüyorum. JDK 1.6'yı kurmam gerekiyor. Benim anlayışım Java 6 == Java 1.6 idi. Ancak, Java SE 6 yüklediğimde, 11.0 sürümü olarak bildirilen bir JVM alıyorum! Deliliği kim çözebilir?


12
Orada da yardımcı olabilir güzel bir Java Kavramsal Diyagramı (tıklanabilir bağlantılar ile).
informatik01

Yanıtlar:


55

"Java -version" yazdığınızda, üç sürüm numarası görürsünüz: java sürümü (benimki, " 1.6.0_07"), Java SE Runtime Environment sürümü ("derleme 1.6.0_07-b06") ve HotSpot sürümü (benimki, bu " build 10.0-b23, mixed mode") Gördüğünüz "11.0" ın HotSpot sürümü olduğundan şüpheleniyorum.

Güncelleme: HotSpot, Java Sanal Makinesi'nde yerleşik olan tam zamanında derleyicidir (veya eskiden, tüm VM'yi kullanmak için kullanıyor gibi görünüyorlar). Tanrı sadece Sun'ın neden ayrı bir sürüm numarası verdiğini bilir.


7
Peki, JVM 1.6 ve JVM 11.0 arasındaki fark nedir? Sıcak nokta nedir?
Joe Schneider

Teşekkürler, bu karışıklıktı - iki farklı sürüm numarası.
Joe Schneider

1
Aslında HotSpot bir JIT değil. JIT derlemenin yürütmeden önce gerçekleştiğini ima eder. HotSpot, programın seçili bölümlerini derlemeden / optimize etmeden önce kodu yürütmek ve analiz etmek için önce yorumu kullanır.
John Nilsson

174
  • JDK - Java Geliştirme Kiti
  • JRE - Java Çalışma Zamanı Ortamı
  • Java SE - Java Standart Sürüm

SE, bir dizi yetenek ve işlevselliği tanımlar; daha karmaşık sürümler (Enterprise Edition - EE) ve daha basit sürümler (Micro Edition - ME - mobil ortamlar için) vardır.

JDK, Java uygulamaları geliştirmek için gereken derleyici ve diğer araçları içerir; JRE bunu yapmaz. Yani, bir başkasının sağladığı bir Java uygulamasını çalıştırmak için JRE'ye ihtiyacınız vardır; Java uygulaması geliştirmek için JDK'ya ihtiyacınız var.

Düzenlendi : Chris Marasti-Georg bir yorumda belirttiği gibi, Sun'ın Java web sitesinde ve özellikle Java SE bölümünde (2. seçenek, Java SE Geliştirme Kiti (JDK) 6 Güncelleme 10) .


Düzenlendi 2011-04-06: Dünya dönüyor ve Java şimdi Sun'ı satın alan Oracle tarafından yönetiliyor. Bu yılın ilerleyen saatlerinde sun.comalanın kararması gerekiyor. Yeni sayfa (yeniden yönlendirmeye dayalı olarak) Oracle Tech Network'teki bu Java sayfasıdır. (Ayrıca bkz . Java.com .)


Düzenlendi 2013-01-11: Ve dünya dönmeye devam ediyor (2012-12-21 buna rağmen) ve bakalım , JRE 6 destek sonuna ulaşmak üzere. Oracle , Şubat 2013'ten sonra Java 6'da artık genel güncelleme yapılmayacağını söyledi.

Java'nın belirli bir sürümünde bu yanıt geçerliliğini korur. JDK, Java Geliştirme Kiti, JRE, Java Çalışma Zamanı Ortamı, Java SE standart sürümdür, vb. Ancak sürüm 6 (1.6) eskidi.

Düzenlendi 2015-04-29: Ve güneşin etrafında başka bir çift devrimle, Java SE 7 için de desteğin sona ermesi zamanı geldi. Nisan 2015'te Oracle , artık Java SE 7 için genel güncellemeler sağlamadığını doğruladı . Java SE 8 için genel güncellemelerin geçici sonu Mart 2017'dir, ancak bu bitiş tarihi değişebilir (daha sonra değil, daha önce değil).


1
Peki, JDK 1.6'ya ihtiyacım olursa, ne yükleyeceğim? Java SE 6 yüklendiğinde bana 11.0 sürümü rapor eden bir JVM veriyor!
Joe Schneider

1
Güneşe gitmeli ve JDK 1.6 veya 6'yı indirmelisiniz, ne olursa olsun.
Chris Marasti-Georg

Dahili sürüm numarası farklılıklarına rağmen Java SE 6 ile gelenlerin doğru JDK olması gerektiğine inanıyorum.
Jonathan Leffler

java.sun.com/javase/downloads/index.jsp 2. seçenek, Java SE Geliştirme Kiti (JDK) 6 Güncelleme 10
Chris Marasti-Georg

1
@Pacerier: Ekim 2008'de doğru muydu? Ayrıca, JDK'nın temel bileşeni Java derleyicisidir, değil mi?
Jonathan Leffler

104

Bu birine yardımcı olabilir:

Geliştirme için sistemime en son Java'yı yüklüyorum ve şu anda Java SE 7. Şimdi, koyduğunuz gibi, bu "deliliğe" girelim ...

Bunların hepsi aynıdır (geliştiriciler Java için geliştirme hakkında konuşurken):

  • Java SE 7
  • Java SE v1.7.0
  • Java SE Geliştirme Kiti 7

Java v1.5 ile başlayarak:

  • v5 = v1.5.
  • v6 = v1.6.
  • v7 = v1.7.

Ve bunun gelecekteki sürümler için kalacağını varsayabiliriz.

Sonra, geliştiriciler için JRE'yi değil JDK'yı indirin.

JDK, JRE içerecektir. JDK ve JRE'ye ihtiyacınız varsa, JDK'yı edinin. Her ikisi de aşağıda göreceğiniz gibi tek JDK kurulumundan yüklenecektir.

Yukarıda belirtildiği gibi:

  • JDK = Java Geliştirme Kiti (geliştiricilerin buna ihtiyacı var, Java'da kod yazarsanız bu sizsiniz)
  • JRE = Java Runtime Environment (kullanıcıların buna ihtiyacı var, bu bugün her bilgisayar kullanıcısı)
  • Java SE = Java Standart Sürüm

İşte Java'yı (JDK) indirmek için takip ettiğim adım adım bağlantılar (bir adım diğerine yol açar, hepsi tek bir indirme içindir):

  1. "Java SE İndirmeleri" sayfasını ziyaret edin: http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. "JDK İndirme" yi tıklayın ve "Java SE Geliştirme Kiti 7 İndirilenler" sayfasını ziyaret edin: http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (unutmayın 1. adımdaki bağlantıyı izlediğinizde JDK 1.7 güncellemeleri, sonraki sürümleri çıktıkça farklı bir bağlantıya yönlendirilirsiniz)
  3. Kabul et :)
  4. "Java SE Development Kit 7 (Windows x64)" seçeneğini tıklayın: http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe (64 bit Windows 7 için sistemi)
  5. Şimdi sisteminiz için (umarım en son) JDK indiriyorsunuz! :)

Yukarıdaki bağlantıların yalnızca referans amaçlı olduğunu ve JDK'yı indirmek için gereken adım adım yöntemi göstermek üzere olduğunu unutmayın.

Ve aşağıdakileri yapmak için varsayılan ayarlarla yükleyin:

  • “C: \ Program Dosyaları \ Java \ jdk1.7.0 \” (JDK)
  • “C: \ Program Files \ Java \ jre7 \” (JRE) <--- neden yeni bir yükleme klasörü sordu? bu JRE!

Yukarıda JDK'nın her ikisinin de ne olduğunu biliyorsanız mantıklı olduğunu JRE içerdiğini unutmayın. Yine, yukarıya bakınız.

Yüklemenizden sonra, bu klasörlerin her ikisini de görmek için “C: \ Program Files \ Java” yı tekrar kontrol edin. Artık ne olduklarını ve neden orada olduklarını biliyorsunuz.

Bunu yeni başlayanlar için yazdığımı biliyorum, ama işleri ayrıntılı olarak bilmek hoşuma gidiyor, umarım bu yardımcı olur.


8
bu cevabın
kesilmesi

Son zamanlarda diğer yükleyicilerden birini çalıştırmak için bir jre yüklemek zorunda kaldım ve daha sonra diğer yükleyicilerin çalışmasını sağlamak için 32 bit sürümü yüklemem gerekti. Sonunda kullanıyorum sürümü hala javax.persistence sağlamak gibi görünmüyor glassfish 4 olduğunu. Daha sonra bazı ortam değişkenlerini açıp açtığınız maven'e ihtiyacım vardı. Ne dağınıklık!
JonnyRaa

Bana öyle geliyor ki Java SE ve Java SDK bir ve aynı paket.
galmok

20

Java Sürümlerinin Kısa ve Belki Yanlış Tarihi

  • Java bir platformdur. Yazılım geliştirme kiti ve çalışma zamanı ortamı olmak üzere iki üründen oluşur.

  • Java ilk yayınlandığında, görünüşe göre sadece Java olarak adlandırıldı . Bir geliştiriciyseniz, normal bir "1.0" ve daha sonra "1.1" olan sürümü de biliyordunuz. Platformun bir parçası olan iki ürüne de isimler verildi:

    • JDK - "Java Geliştirme Kiti"
    • JRE - "Java Çalışma Zamanı Ortamı"
  • Görünüşe göre sürüm 1.2'deki değişiklikler o kadar önemli ki platformu Java 2 olarak adlandırmaya başladılar .

    • Platformun varsayılan "dağıtımı" na, kardeşleriyle karşılaştırılması için takma ad "standardı" verildi. Yani üç platformunuz vardı:

      • "Java 2 Standard Edition (J2SE)"
      • "Java 2 Enterprise Edition (J2EE)"
      • "Java 2 Mobile Edition (J2ME)"
    • JDK resmi olarak "Java 2 Yazılım Geliştirme Kiti" olarak yeniden adlandırıldı.

  • Sürüm 1.5 ortaya çıktığında, takım elbise ürünü "yeniden markalamak" gerektiğine karar verdi. Java platformunun iki sürümü var - ürün sürümü "5" ve geliştirici sürümü "1.5" (Evet, kural açıkça belirtiliyor - "1'i bırakın). Ancak," 2 " Şimdi platform resmi olarak "Java 2 Platform Standard Edition 5.0 (J2SE 5.0)" olarak adlandırılıyor .

    • Davalar ayrıca, geliştirme topluluğunun JDK adını değiştirmediklerini fark etmedi. Ancak değişikliklerini geri almak yerine, "2" yi tek tek ürünlerin adından çıkarmaya karar veriyorlar, şimdi "J2SE Geliştirme Kiti 5.0 (JDK 5.0)" ve "J2SE Çalışma Zamanı Ortamı 5.0 (JRE 5.0)" oluyor .
  • Sürüm 1.6 çıktığında, birisi adında iki sayıya sahip olmanın garip olduğunu fark etti. Bu yüzden 2'yi (ve ".0" sonekini) tamamen bırakmaya karar veriyorlar ve "Java SE Geliştirme Kiti 6 (JDK 6)" içeren "Java Platformu, Standart Sürüm 6 (Java SE 6)" ve "Java SE Çalışma Zamanı Ortamı 6 (JRE 6)" .

  • Sürüm 1.7 aptalca bir şey yapmadı. Tahmin etmek zorunda kalsaydım, bir sonraki büyük değişiklik "SE" yi düşürmek olacak, böylece döngü tamamlanacak ve JDK tekrar "Java Geliştirme Kiti" olarak adlandırılacak.

notlar

  • Basit olması için, bir grup ticari marka işareti atlanmıştır. Java ™, JDK ™ ve JRE ™ 'yi varsayalım.

  • SO iç içe listeleri oluşturmada sorun gibi görünüyor.

Referanslar

son söz

Sadece "1" i bırakın. tarafından basılan sürümlerden javac -versionve java -versionve gitmek için iyidir.


3
Kutsal inek. Sadece Microsoft'un ürün adlarını oluşturan çılgın evsizlere sahip olduğunu düşündüm.
Stabledog

2
Bu delilik. Bunları her seferinde açıkça aramak zorunda kalmadan asla anlayamadım.
Preha Sangha

4

Java 5'in piyasaya sürülmesiyle, ürün sürümü burada açıklandığı gibi geliştirici sürümünden farklı hale getirildi


3

Java SE Runtime son kullanıcı içindir, bu yüzden Java JRE sürümüne ihtiyacınız vardır, Java'nın ilk sürümü 1'dir, daha sonra 1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6 vb. jre 1.6, yine de güncelleme sürümü var, örneğin java jre 6u45 adlı 1.6 güncelleme 45.

Bildiğim kadarıyla, olgunluk, istikrar, ölçeklenebilirlik, güvenlik ve daha fazlasını daha iyi yansıtmak için 1.6 yerine 6 sayısını kullanmayı tercih ettiler.

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.