Java SE 6, JRE 1.6, JDK 1.6 - co to oznacza?


178

Widzę wiele różnych terminów Java. Muszę zainstalować JDK 1.6. Zrozumiałem, że Java 6 == Java 1.6. Jednak po zainstalowaniu środowiska Java SE 6 otrzymuję maszynę JVM, która zgłasza się jako wersja 11.0! Kto może rozwiązać szaleństwo?


12
Istnieje ładny diagram koncepcyjny Java (z klikalnymi linkami), który również może pomóc.
informatik01

Odpowiedzi:


55

Kiedy wpiszesz „java -version”, zobaczysz trzy numery wersji - wersję java (u mnie to jest „ 1.6.0_07”), wersję Java SE Runtime Environment („build 1.6.0_07-b06”) i wersję HotSpot (u mnie to jest „ build 10.0-b23, mixed mode") Podejrzewam, że „11.0”, który widzisz, to wersja HotSpot.

Aktualizacja: HotSpot jest (lub kiedyś był, teraz wydaje się, że używają go do oznaczania całej maszyny wirtualnej) kompilatorem just-in-time wbudowanym w wirtualną maszynę Java. Bóg jeden wie, dlaczego Sun nadaje mu osobny numer wersji.


7
Jaka jest więc różnica między JVM 1.6 a JVM 11.0? Co to jest hotspot?
Joe Schneider

Dzięki, to było zamieszanie - dwa różne numery wersji.
Joe Schneider

1
Właściwie HotSpot nie jest JIT. JIT oznacza, że ​​kompilacja ma miejsce przed wykonaniem. HotSpot najpierw używa interpretacji do wykonania i analizy kodu przed kompilacją / optymalizacją wybranych części programu.
John Nilsson,

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

SE definiuje zestaw możliwości i funkcjonalności; istnieją bardziej złożone wersje (Enterprise Edition - EE) i prostsze (Micro Edition - ME - dla środowisk mobilnych).

JDK zawiera kompilator i inne narzędzia potrzebne do tworzenia aplikacji Java; JRE nie. Tak więc, aby uruchomić aplikację Java dostarczoną przez kogoś innego, potrzebujesz JRE; aby stworzyć aplikację Java, potrzebujesz JDK.

Edytowano : Jak zauważył Chris Marasti-Georg w komentarzu, wiele informacji można znaleźć w witrynie internetowej firmy Sun Java , w szczególności z sekcji Java SE (druga opcja, Java SE Development Kit (JDK) 6 Update 10) .


Edytowane 2011-04-06: Świat się kręci, a Java jest teraz zarządzana przez firmę Oracle, która kupiła Sun. Jeszcze w tym roku sun.comdomena ma zgasnąć. Nowa strona (oparta na przekierowaniu) to ta strona Java w Oracle Tech Network. (Zobacz także java.com .)


Edytowano 11.01.2013: A świat wciąż się kręci (niezależnie od 21.12.2012) i oto JRE 6 wkrótce osiągnie koniec wsparcia. Oracle twierdzi, że po lutym 2013 r. Nie będzie już publicznych aktualizacji oprogramowania Java 6.

W ramach danej wersji Java ta odpowiedź pozostaje aktualna. JDK to Java Development Kit, JRE to Java Runtime Environment, Java SE to wersja standardowa i tak dalej. Ale wersja 6 (1.6) staje się przestarzała.

Edytowane 2015-04-29: Wraz z kilkoma kolejnymi rewolucjami wokół Słońca nadszedł czas również na zakończenie wsparcia dla Java SE 7. W kwietniu 2015 r. Firma Oracle potwierdziła , że nie udostępnia już publicznych aktualizacji Java SE 7. Wstępny koniec publicznych aktualizacji Java SE 8 to marzec 2017 r., Ale ta data końcowa może ulec zmianie (później, nie wcześniej).


1
Więc jeśli potrzebuję JDK 1.6, co mam zainstalować? Po zainstalowaniu Java SE 6 otrzymam maszynę JVM, która zgłasza się jako wersja 11.0!
Joe Schneider

1
Musisz iść na słońce i pobrać JDK 1.6 lub 6, cokolwiek mają to wymienione jako.
Chris Marasti-Georg

Uważam, że to, co jest dostarczane z Javą SE 6, powinno być poprawnym JDK, pomimo wewnętrznych różnic w numerach wersji.
Jonathan Leffler

java.sun.com/javase/downloads/index.jsp Druga opcja, Java SE Development Kit (JDK) 6 Aktualizacja 10
Chris Marasti-Georg

1
@Pacerier: czy to prawda w październiku 2008? Ponadto głównym składnikiem JDK jest kompilator Java, prawda?
Jonathan Leffler

103

To może pomóc komuś:

Instaluję najnowszą Javę w moim systemie do celów programistycznych, a obecnie jest to Java SE 7. Teraz zanurzmy się w tym „szaleństwie”, jak to ująłeś ...

Wszystkie są takie same (gdy programiści mówią o Javie do programowania):

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

Począwszy od języka Java w wersji 1.5:

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

I możemy założyć, że pozostanie to w przyszłych wersjach.

Następnie dla programistów pobierz JDK, a nie JRE.

JDK będzie zawierał JRE. Jeśli potrzebujesz JDK i JRE, pobierz JDK. Obydwa zostaną zainstalowane z jednej instalacji JDK, jak zobaczysz poniżej.

Jak ktoś wyżej wspomniał:

  • JDK = Java Development Kit (programiści tego potrzebują, to ty, jeśli programujesz w Javie)
  • JRE = Java Runtime Environment (użytkownicy potrzebują tego, dziś jest to każdy użytkownik komputera)
  • Java SE = Java Standard Edition

Oto linki krok po kroku, które podążałem (jeden krok prowadzi do następnego, to wszystko do pojedynczego pobrania), aby pobrać Javę do programowania (JDK):

  1. Odwiedź stronę „Pobieranie oprogramowania Java SE”: http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Kliknij „JDK Download” i odwiedź „Java SE Development Kit 7 Downloads”: http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (zwróć uwagę, że kliknięcie linku z kroku 1 przeniesie Cię do innego linku, ponieważ aktualizacje JDK 1.7, nowsze wersje są już dostępne)
  3. Zaakceptuj umowę :)
  4. Kliknij „Java SE Development Kit 7 (Windows x64)”: http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe (dla mojego 64-bitowego systemu Windows 7 system)
  5. Pobierasz (miejmy nadzieję, najnowszą) JDK dla swojego systemu! :)

Należy pamiętać, że powyższe łącza służą wyłącznie do celów informacyjnych i pokazują krok po kroku sposób pobierania pakietu JDK.

I zainstaluj z domyślnymi ustawieniami, aby:

  • „C: \ Program Files \ Java \ jdk1.7.0 \” (JDK)
  • „C: \ Program Files \ Java \ jre7 \” (JRE) <--- dlaczego poprosił o nowy folder instalacyjny? to JRE!

Pamiętaj z góry, że JDK zawiera JRE, co ma sens, jeśli wiesz, czym one są. Ponownie, patrz wyżej.

Po zakończeniu instalacji dwukrotnie zaznacz „C: \ Program Files \ Java”, aby zobaczyć oba te foldery. Teraz wiesz, czym one są i dlaczego tam są.

Wiem, że napisałem to dla początkujących, ale lubię poznawać rzeczy ze szczegółami, więc mam nadzieję, że to pomoże.


8
ta odpowiedź musi zostać
podbita

Niedawno musiałem zainstalować jre, aby uruchomić jeden z innych instalatorów, a następnie musiałem zainstalować wersję 32-bitową, aby jeden z pozostałych instalatorów działał. Wersja, której używam na końcu, to Glassfish 4, która nadal wydaje się nie zapewniać javax.persistence. Okazało się, że potrzebuję mavena, którego rozpakujesz, a następnie ustawisz kilka zmiennych środowiskowych. Co za bałagan!
JonnyRaa

Wydaje mi się, że Java SE i Java SDK to jeden i ten sam pakiet.
galmok

20

Krótka i być może niepoprawna historia wersji Java

  • Java to platforma. Składa się z dwóch produktów - zestawu do tworzenia oprogramowania i środowiska uruchomieniowego.

  • Kiedy Java została wydana po raz pierwszy, najwyraźniej nosiła nazwę Java . Jeśli byłeś programistą, znałeś również wersję, która była normalną wersją „1.0”, a później „1.1”. Dwóm produktom wchodzącym w skład platformy nadano również nazwy:

    • JDK - „Java Development Kit”
    • JRE - „Java Runtime Environment”
  • Najwyraźniej zmiany w wersji 1.2 były tak znaczące, że zaczęli nazywać platformę Java 2 .

    • Domyślna „dystrybucja” platformy otrzymała przydomek „standard”, aby odróżnić ją od jej rodzeństwa. Więc miałeś trzy platformy:

      • „Java 2 Standard Edition (J2SE)”
      • „Java 2 Enterprise Edition (J2EE)”
      • „Java 2 Mobile Edition (J2ME)”
    • Nazwa JDK została oficjalnie zmieniona na „Java 2 Software Development Kit”.

  • Kiedy pojawiła się wersja 1.5, garnitury zdecydowały, że muszą „przemianować” produkt. Tak więc platforma Java otrzymała dwie wersje - wersję produktu „5” i wersję programistyczną „1.5” (tak, zasada jest wyraźnie wymieniona - „usuń„ 1 ”). Jednak„ 2 ”zostało zachowane w nazwa. Obecnie platforma nosi oficjalną nazwę „Java 2 Platform Standard Edition 5.0 (J2SE 5.0)” .

    • Kombinezony zdały sobie również sprawę, że społeczność programistów nie wybiera zmiany nazwy JDK. Ale zamiast cofać zmiany, decydują się po prostu usunąć „2” z nazwy poszczególnych produktów, które teraz otrzymują „J2SE Development Kit 5.0 (JDK 5.0)” i „J2SE Runtime Environment 5.0 (JRE 5.0)” .
  • Kiedy pojawiła się wersja 1.6, ktoś zdał sobie sprawę, że posiadanie dwóch liczb w nazwie było dziwne. Decydują się więc całkowicie usunąć 2 (i przyrostek „.0”) i otrzymujemy „Platformę Java, Standard Edition 6 (Java SE 6)” zawierającą „Java SE Development Kit 6 (JDK 6)” oraz „Java SE Runtime Environment 6 (JRE 6)” .

  • Wersja 1.7 nie zrobiła nic głupiego. Gdybym miał zgadywać, następną dużą zmianą byłoby porzucenie „SE”, tak aby cykl się zakończył i JDK znów zostałby nazwany „Java Development Kit”.

Uwagi

  • Dla uproszczenia pominięto kilka znaków towarowych. Więc załóżmy, że Java ™, JDK ™ i JRE ™.

  • Wydaje się, że SO ma problem z renderowaniem list zagnieżdżonych.

Bibliografia

Epilog

Po prostu upuść „1”. z wersji wydrukowanych przez javac -versioni java -versioni gotowe.


3
Święta krowa. Myślałem, że tylko Microsoft ma szalonych bezdomnych wymyślających nazwy produktów.
Stabledog

2
To szaleństwo. Nigdy nie byłem w stanie ich pojąć bez konieczności dokładnego ich wyszukiwania za każdym razem.
Preet Sangha,


3

Java SE Runtime jest dla użytkownika końcowego, więc potrzebujesz wersji JRE JRE, pierwszą wersją Java była 1, następnie 1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6 itd. I zwykle każda wersja jest nazwana według wersji, więc JRE 6 oznacza Javę jre 1.6, w każdym razie istnieje wersja aktualizacji, na przykład 1.6 update 45, która nazywa się java jre 6u45.

Z tego, co wiem, woleli użyć liczby 6 zamiast 1,6, aby lepiej odzwierciedlić poziom dojrzałości, stabilności, skalowalności, bezpieczeństwa i nie tylko

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.