Java SE 6 vs JRE 1.6 vs JDK 1.6 - Apa artinya ini?


178

Saya melihat banyak istilah Java yang berbeda. Saya perlu menginstal JDK 1.6. Itu pemahaman saya bahwa Java 6 == Java 1.6. Namun, ketika saya menginstal Java SE 6, saya mendapatkan JVM yang dilaporkan sebagai versi 11.0! Siapa yang bisa mengatasi kegilaan ini?


12
Ada Diagram Konseptual Java yang bagus (dengan tautan yang dapat diklik) yang dapat membantu juga.
informatik01

Jawaban:


55

Saat Anda mengetik "java -version", Anda melihat tiga nomor versi - versi java (milik saya, itu " 1.6.0_07"), versi Java SE Runtime Environment ("build 1.6.0_07-b06"), dan versi HotSpot (pada milik saya, itu " build 10.0-b23, mixed mode") Saya menduga "11.0" yang Anda lihat adalah versi HotSpot.

Pembaruan: HotSpot adalah (atau dulu, sekarang mereka tampaknya menggunakannya untuk berarti seluruh VM) kompiler just-in-time yang dibangun ke Java Virtual Machine. Hanya Tuhan yang tahu mengapa Sun memberinya nomor versi terpisah.


7
Jadi, apa perbedaan antara JVM 1.6 dan JVM 11.0? Apa itu hotspot?
Joe Schneider

Terima kasih, itu adalah kebingungan - dua nomor versi berbeda.
Joe Schneider

1
Sebenarnya HotSpot bukan JIT. JIT menyiratkan bahwa kompilasi dilakukan sebelum eksekusi. HotSpot pertama menggunakan intepretasi untuk mengeksekusi dan menganalisis kode sebelum mengkompilasi / mengoptimalkan bagian-bagian tertentu dari program.
John Nilsson

173
  • JDK - Java Development Kit
  • JRE - Java Runtime Environment
  • Java SE - Java Standard Edition

SE mendefinisikan seperangkat kemampuan dan fungsi; ada edisi yang lebih kompleks (Enterprise Edition - EE) dan yang lebih sederhana (Micro Edition - ME - untuk lingkungan seluler).

JDK termasuk kompiler dan alat-alat lain yang diperlukan untuk mengembangkan aplikasi Java; JRE tidak. Jadi, untuk menjalankan aplikasi Java yang disediakan orang lain, Anda perlu JRE; untuk mengembangkan aplikasi Java, Anda memerlukan JDK.

Diedit : Seperti yang ditunjukkan Chris Marasti-Georg dalam komentar, Anda dapat menemukan banyak informasi di situs web Java Sun , dan khususnya dari bagian Java SE , (opsi 2, Java SE Development Kit (JDK) 6 Pembaruan 10) .


Diedit 2011-04-06: Dunia berubah, dan Java sekarang dikelola oleh Oracle, yang membeli Sun. Akhir tahun ini, sun.comdomain seharusnya menjadi gelap. Halaman baru (berdasarkan redirect) adalah halaman Java ini di Oracle Tech Network. (Lihat juga java.com .)


Diedit 2013-01-11: Dan dunia terus berputar (2012-12-21 meskipun), dan lihatlah, JRE 6 akan mencapai akhir dukungannya. Oracle mengatakan tidak ada lagi pembaruan publik ke Java 6 setelah Februari 2013.

Di dalam versi Java yang diberikan, jawaban ini tetap valid. JDK adalah Java Development Kit, JRE adalah Java Runtime Environment, Java SE adalah edisi standar, dan sebagainya. Tetapi versi 6 (1.6) menjadi kuno.

Diedit 2015-04-29: Dan dengan beberapa revolusi di sekitar matahari, waktunya telah tiba untuk berakhirnya dukungan untuk Java SE 7 juga. Pada April 2015, Oracle menegaskan bahwa itu tidak lagi menyediakan pembaruan publik untuk Java SE 7. Akhir sementara pembaruan publik untuk Java SE 8 adalah Maret 2017, tetapi tanggal akhir dapat berubah (nanti, tidak lebih awal).


1
Jadi, jika saya perlu JDK 1.6, apa yang harus saya instal? Menginstal Java SE 6 memberi saya JVM yang dilaporkan sebagai versi 11.0!
Joe Schneider

1
Anda harus pergi ke matahari dan mengunduh JDK 1.6 atau 6, apa pun yang terdaftar sebagai.
Chris Marasti-Georg

Saya percaya bahwa apa yang datang dengan Java SE 6 harus menjadi JDK yang benar, meskipun ada perbedaan nomor versi internal.
Jonathan Leffler

java.sun.com/javase/downloads/index.jsp opsi ke-2, Java SE Development Kit (JDK) 6 Pembaruan 10
Chris Marasti-Georg

1
@Pacerier: apakah itu benar pada Oktober 2008? Juga, komponen utama JDK adalah kompiler Java, bukan?
Jonathan Leffler

103

Ini mungkin membantu seseorang:

Saya menginstal Java terbaru pada sistem saya untuk pengembangan, dan saat ini Java SE 7. Sekarang, mari selami "kegilaan" ini, seperti yang Anda katakan ...

Semua ini sama (ketika pengembang berbicara tentang Java untuk pengembangan):

  • Java SE 7
  • Java SE v1.7.0
  • Java SE Development Kit 7

Dimulai dengan Java v1.5:

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

Dan kita dapat mengasumsikan ini akan tetap untuk versi masa depan.

Selanjutnya, untuk pengembang, unduh JDK, bukan JRE.

JDK akan berisi JRE. Jika Anda membutuhkan JDK dan JRE, dapatkan JDK. Keduanya akan diinstal dari instalasi JDK tunggal, seperti yang akan Anda lihat di bawah.

Seperti yang disebutkan seseorang di atas:

  • JDK = Java Development Kit (pengembang memerlukan ini, ini Anda jika Anda kode di Java)
  • JRE = Java Runtime Environment (pengguna membutuhkan ini, ini adalah setiap pengguna komputer saat ini)
  • Java SE = Edisi Standar Java

Inilah tautan langkah demi langkah yang saya ikuti (satu langkah mengarah ke langkah berikutnya, ini semua untuk unduhan tunggal) untuk mengunduh Java for development (JDK):

  1. Kunjungi "Java SE Downloads": http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Klik "Unduh JDK" dan kunjungi "Unduhan Kit Pengembangan Java 7": http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (perhatikan bahwa mengikuti tautan dari langkah # 1 akan membawa Anda ke tautan yang berbeda karena pembaruan JDK 1.7, versi yang lebih baru, sekarang keluar)
  3. Terima perjanjian :)
  4. Klik "Java SE Development Kit 7 (Windows x64)": http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe (untuk Windows 7 64-bit saya sistem)
  5. Anda sekarang mengunduh (semoga yang terbaru) JDK untuk sistem Anda! :)

Ingatlah bahwa tautan di atas hanya untuk tujuan referensi, untuk menunjukkan kepada Anda metode langkah demi langkah tentang apa yang diperlukan untuk mengunduh JDK.

Dan instal dengan pengaturan default ke:

  • "C: \ Program Files \ Java \ jdk1.7.0 \" (JDK)
  • “C: \ Program Files \ Java \ jre7 \” (JRE) <--- mengapa ia meminta folder instal baru? ini JRE!

Ingat dari atas bahwa JDK mengandung JRE, yang masuk akal jika Anda tahu keduanya. Sekali lagi, lihat di atas.

Setelah Anda menginstal, periksa dua kali "C: \ Program Files \ Java" untuk melihat kedua folder ini. Sekarang Anda tahu apa itu dan mengapa mereka ada di sana.

Saya tahu saya menulis ini untuk pemula, tetapi saya menikmati mengetahui hal-hal secara detail, jadi saya harap ini membantu.


8
jawaban ini perlu dinyalakan :)
fchen

Saya baru-baru ini harus menginstal jre untuk menjalankan salah satu installer lain dan kemudian harus menginstal versi 32 bit untuk membuat salah satu installer lain berfungsi. Versi yang saya gunakan pada akhirnya adalah glassfish 4 yang masih tidak menyediakan javax.persistence. Kemudian ternyata saya membutuhkan pakar, yang Anda unzip dan kemudian mengatur beberapa variabel lingkungan. Berantakan sekali!
JonnyRaa

Sepertinya saya bahwa Java SE dan Java SDK adalah satu dan paket yang sama.
galmok

20

Sejarah Versi Java Singkat dan Mungkin Salah

  • Java adalah platform. Ini terdiri dari dua produk - kit pengembangan perangkat lunak, dan lingkungan runtime.

  • Ketika Java pertama kali dirilis, itu tampaknya hanya disebut Java . Jika Anda seorang pengembang, Anda juga tahu versi, yang merupakan "1.0" normal dan kemudian "1.1". Dua produk yang merupakan bagian dari platform juga diberi nama:

    • JDK - "Java Development Kit"
    • JRE - "Java Runtime Environment"
  • Rupanya perubahan dalam versi 1.2 begitu signifikan sehingga mereka mulai menyebut platform sebagai Java 2 .

    • "Distribusi" default platform diberi "standar" moniker untuk membandingkannya dengan saudara kandungnya. Jadi, Anda memiliki tiga platform:

      • "Java 2 Standard Edition (J2SE)"
      • "Java 2 Enterprise Edition (J2EE)"
      • "Java 2 Mobile Edition (J2ME)"
    • JDK secara resmi diganti namanya menjadi "Java 2 Software Development Kit".

  • Ketika versi 1.5 keluar, gugatan memutuskan bahwa mereka perlu "mengubah citra" produk. Jadi platform Java mendapat dua versi - versi produk "5" dan versi pengembang "1,5" (Ya, aturan tersebut secara eksplisit disebutkan - "jatuhkan '1.'). Namun," 2 "tetap dipertahankan dalam Jadi sekarang platform ini secara resmi disebut "Java 2 Platform Standard Edition 5.0 (J2SE 5.0)" .

    • Gugatan itu juga menyadari bahwa komunitas pembangunan tidak mengambil nama mereka dari JDK. Tetapi alih-alih mengembalikan perubahan mereka, mereka hanya memutuskan untuk menjatuhkan "2" dari nama masing-masing produk, yang sekarang menjadi "J2SE Development Kit 5.0 (JDK 5.0)" dan "J2SE Runtime Environment 5.0 (JRE 5.0)" .
  • Ketika versi 1.6 keluar, seseorang menyadari bahwa memiliki dua angka dalam nama itu aneh. Jadi mereka memutuskan untuk benar-benar menghapus akhiran 2 (dan ".0"), dan kita berakhir dengan "Platform Java, Edisi Standar 6 (Java SE 6)" yang berisi "Java SE Development Kit 6 (JDK 6)" dan "Java SE Runtime Environment 6 (JRE 6)" .

  • Versi 1.7 tidak melakukan hal bodoh. Jika saya harus menebak, perubahan besar berikutnya akan menjatuhkan "SE", sehingga siklus selesai dan JDK lagi akan disebut "Java Development Kit".

Catatan

  • Untuk mempermudah, banyak tanda merek dagang dihilangkan. Jadi asumsikan Java ™, JDK ™ dan JRE ™.

  • SO tampaknya mengalami masalah dalam membuat daftar bersarang.

Referensi

Epilog

Jatuhkan saja "1." dari versi yang dicetak oleh javac -versiondan java -versiondan Anda baik untuk pergi.


3
Astaga. Saya pikir hanya Microsoft yang membuat orang-orang gelandangan yang gila mengarang nama produk.
Stabledog

2
Ini kegilaan. Saya tidak pernah bisa memahaminya tanpa harus mencarinya secara eksplisit setiap saat.
Preet Sangha

4

Dengan rilis Java 5, versi produk dibuat berbeda dari versi pengembang seperti yang dijelaskan di sini


3

Java SE Runtime adalah untuk pengguna akhir, jadi Anda memerlukan versi Java JRE, versi Java pertama adalah 1, kemudian 1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6 dll dan biasanya setiap versi diberi nama berdasarkan versi sehingga JRE 6 berarti Java jre 1.6, tetap ada versi pembaruan, misalnya 1.6 pembaruan 45, yang bernama java jre 6u45.

Dari apa yang saya tahu, mereka lebih suka menggunakan angka 6 daripada menggunakan 1,6 untuk lebih mencerminkan tingkat kematangan, stabilitas, skalabilitas, keamanan dan banyak lagi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.