Szukaj…


Różnice między dystrybucjami Java SE JRE lub Java SE JDK

Wersje Java SE dla Sun / Oracle występują w dwóch postaciach: JRE i JDK. Mówiąc najprościej, środowiska JRE obsługują uruchamianie aplikacji Java, a JDK obsługują także tworzenie oprogramowania Java.

Środowisko wykonawcze Java

Java Runtime Environment lub dystrybucje JRE składają się z zestawu bibliotek i narzędzi potrzebnych do uruchamiania aplikacji Java i zarządzania nimi. Narzędzia typowego współczesnego środowiska JRE obejmują:

  • Komenda java do uruchamiania programu Java w JVM (Java Virtual Machine)
  • Komenda jjs do uruchamiania silnika Javascript Nashorn.
  • Komenda keytool do manipulowania keytool kluczy Java.
  • Komenda policytool do edycji zasad bezpieczeństwa piaskownicy bezpieczeństwa.
  • Narzędzia pack200 i unpack200 do pakowania i rozpakowywania pliku „pack200” do wdrażania w Internecie.
  • orbd , rmid , rmiregistry i tnameserv , które obsługują aplikacje Java CORBA i RMI.

Instalatory „Desktop JRE” zawierają wtyczkę Java odpowiednią dla niektórych przeglądarek internetowych. Zostało to celowo pominięte w pliku installers.linux „Server JRE” odczytanym przez system

Począwszy od wersji 6 Java 7, instalatory JRE zawierały JavaFX (wersja 2.2 lub nowsza).

Zestaw narzędzi programistycznych Java

Zestaw Java Development Kit lub dystrybucja JDK zawiera narzędzia JRE i dodatkowe narzędzia do programowania oprogramowania Java. Dodatkowe narzędzia zazwyczaj obejmują:

  • Komenda javac , która kompiluje kod źródłowy Java („.java”) do plików kodu bajtowego („.class”).
  • Narzędzia do tworzenia plików JAR, takich jak jar i jarsigner
  • Narzędzia programistyczne, takie jak:
    • appletviewer do uruchamiania apletów
    • idlj kompilatora CORBA IDL do Java
    • javah generator javah pośredniczących JNI
    • native2ascii do konwersji zestawu znaków kodu źródłowego Java
    • schemagen Java do generatora schematu XML (część JAXB)
    • serialver generuje ciąg wersji Java Object Serialization.
    • narzędzia wsparcia wsgen i wsimport dla JAX-WS
  • Narzędzia diagnostyczne, takie jak:
    • jdb podstawowy debugger Java
    • jmap i jhat do zrzucania i analizowania sterty Java.
    • jstack do uzyskania zrzutu stosu wątków.
    • javap do sprawdzania plików „.class”.
  • Narzędzia do zarządzania aplikacjami i monitorowania, takie jak:
    • jconsole konsola zarządzania,
    • jstat , jstatd , jinfo i jps do monitorowania aplikacji

Typowa instalacja Sun / Oracle JDK zawiera również plik ZIP z kodem źródłowym bibliotek Java. Przed wersją Java 6 był to jedyny publicznie dostępny kod źródłowy Java.

Począwszy od Java 6, pełny kod źródłowy dla OpenJDK jest dostępny do pobrania ze strony OpenJDK. Zazwyczaj nie jest on zawarty w pakietach JDK (Linux), ale jest dostępny jako osobny pakiet.

Jaka jest różnica między Oracle Hotspot a OpenJDK

Prostopadle do dychotomii JRE kontra JDK, istnieją dwa rodzaje wersji Java, które są szeroko dostępne:

  • Wersje Oracle Hotspot to te, które pobierasz ze stron pobierania Oracle.
  • Wersje OpenJDK to te, które są budowane (zwykle przez zewnętrznych dostawców) z repozytoriów źródłowych OpenJDK.

Pod względem funkcjonalnym różnica między wydaniem Hotspot a wydaniem OpenJDK jest niewielka. W Hotspot istnieją dodatkowe funkcje „korporacyjne”, które klienci Oracle (płatni) Java mogą włączyć, ale oprócz tego ta sama technologia jest obecna zarówno w Hotspot, jak i OpenJDK.

Kolejną zaletą Hotspot w stosunku do OpenJDK jest to, że wydania poprawek do Hotspot są zwykle dostępne nieco wcześniej. Zależy to również od tego, jak zwinny jest twój dostawca OpenJDK; np. ile czasu zajmuje zespołowi kompilacyjnemu dystrybucji Linuksa przygotowanie i sprawdzenie jakości nowej kompilacji OpenJDK i umieszczenie jej w swoich publicznych repozytoriach.

Drugą stroną jest to, że wersje Hotspot nie są dostępne w repozytoriach pakietów dla większości dystrybucji Linuksa. Oznacza to, że aktualizowanie oprogramowania Java na komputerze z systemem Linux zwykle wymaga więcej pracy, jeśli korzystasz z Hotspot.

Różnice między Java EE, Java SE, Java ME i JavaFX

Technologia Java jest zarówno językiem programowania, jak i platformą. Język programowania Java jest językiem obiektowym wysokiego poziomu, który ma szczególną składnię i styl. Platforma Java to szczególne środowisko, w którym działają aplikacje w języku programowania Java.

Istnieje kilka platform Java. Wielu programistów, nawet długoletnich programistów języka Java, nie rozumie, w jaki sposób różne platformy są ze sobą powiązane.

Platformy języka programowania Java

Istnieją cztery platformy języka programowania Java:

  • Java Platform, Standard Edition (Java SE)

  • Java Platform, Enterprise Edition (Java EE)

  • Platforma Java, Micro Edition (Java ME)

  • Java FX

Wszystkie platformy Java składają się z wirtualnej maszyny Java (VM) i interfejsu programowania aplikacji (API). Java Virtual Machine to program dla konkretnej platformy sprzętowej i programowej, który obsługuje aplikacje technologiczne Java. Interfejs API to zbiór składników oprogramowania, których można używać do tworzenia innych składników oprogramowania lub aplikacji. Każda platforma Java zapewnia maszynę wirtualną i interfejs API, co pozwala aplikacjom napisanym dla tej platformy działać na dowolnym kompatybilnym systemie ze wszystkimi zaletami języka programowania Java: niezależność od platformy, moc, stabilność, łatwość programowania i bezpieczeństwo.

Java SE

Kiedy większość ludzi myśli o języku programowania Java, myśli o API Java SE. Interfejs API Java SE zapewnia podstawową funkcjonalność języka programowania Java. Definiuje wszystko, od podstawowych typów i obiektów języka programowania Java do klas wysokiego poziomu używanych do pracy w sieci, bezpieczeństwa, dostępu do bazy danych, programowania graficznego interfejsu użytkownika (GUI) i analizy składni XML.

Oprócz podstawowego interfejsu API platforma Java SE składa się z maszyny wirtualnej, narzędzi programistycznych, technologii wdrażania oraz innych bibliotek klas i zestawów narzędzi powszechnie używanych w aplikacjach technologicznych Java.

Java EE

Platforma Java EE jest zbudowana na platformie Java SE. Platforma Java EE zapewnia API i środowisko wykonawcze do opracowywania i uruchamiania wielkoformatowych, wielopoziomowych, skalowalnych, niezawodnych i bezpiecznych aplikacji sieciowych.

Java ME

Platforma Java ME zapewnia interfejs API i maszynę wirtualną o małej powierzchni do uruchamiania aplikacji języka programowania Java na małych urządzeniach, takich jak telefony komórkowe. API jest podzbiorem Java SE API, wraz ze specjalnymi bibliotekami przydatnymi do tworzenia aplikacji na małe urządzenia. Aplikacje Java ME są często klientami usług platformy Java EE.

Java FX

Technologia Java FX to platforma do tworzenia bogatych aplikacji internetowych napisanych w języku Java FX ScriptTM. Java FX Script to deklaratywny język o typie statycznym, który jest kompilowany do kodu bajtowego technologii Java, który można następnie uruchomić na maszynie wirtualnej Java. Aplikacje napisane na platformę Java FX mogą zawierać klasy językowe programowania Java i łączyć się z nimi, a także mogą być klientami usług platformy Java EE.


Wersje Java SE

Historia wersji Java SE

Poniższa tabela przedstawia harmonogram znaczących głównych wersji platformy Java SE.

Java SE wersja 1 Kryptonim Koniec życia (bezpłatny 2 ) Data wydania
Java SE 9 (wczesny dostęp) Żaden przyszłość 27.07.2017 (szacunkowo)
Java SE 8 Żaden przyszłość 18.03.2014
Java SE 7 Delfin 14.04.2015 2011-07-28
Java SE 6 Mustang 16.04.2013 2006-12-23
Java SE 5 Tygrys 04.11.2009 2004-10-04
Java SE 1.4.2 Modliszka przed 04.11.2009 2003-06-26
Java SE 1.4.1 Zbiornik / konik polny przed 04.11.2009 2002-09-16
Java SE 1.4 Merlin przed 04.11.2009 2002-02-06
Java SE 1.3.1 Biedronka przed 04.11.2009 2001-05-17
Java SE 1.3 Pustułka przed 04.11.2009 2000-05-08
Java SE 1.2 Plac zabaw przed 04.11.2009 1998-12-08
Java SE 1.1 Brylant przed 04.11.2009 19 lutego 1997 r
Java SE 1.0 Dąb przed 04.11.2009 1996-01-21

Przypisy:

  1. Łącza prowadzą do internetowych kopii dokumentacji odpowiednich wydań na stronie internetowej Oracle. Dokumentacja wielu starszych wersji nie jest już dostępna online, chociaż zazwyczaj można ją pobrać z archiwów Oracle Java Archives.

  2. Większość historycznych wersji Java SE minęło już od oficjalnych dat „końca życia”. Gdy wersja Java przekroczy ten kamień milowy, Oracle przestaje udostępniać jej bezpłatne aktualizacje. Aktualizacje są nadal dostępne dla klientów posiadających umowy wsparcia.

Źródło:

Najważniejsze cechy wersji Java SE

Wersja Java SE Najważniejsze
Java SE 8 Wyrażenia Lambda i strumienie inspirowane MapReduce. Silnik Javascript Nashorn. Adnotacje o typach i powtarzające się adnotacje. Niepodpisane rozszerzenia arytmetyczne. Nowe interfejsy API daty i godziny. Statycznie połączone biblioteki JNI. Program uruchamiający JavaFX. Usunięcie PermGen.
Java SE 7 Przełączniki łańcuchowe, try-with-resource , diament ( <> ), ulepszenia literału numerycznego oraz ulepszenia w obsłudze wyjątków / przepisywania. Udoskonalenia biblioteki współbieżności. Ulepszona obsługa rodzimych systemów plików. Timsort. Algorytmy kryptograficzne ECC. Ulepszona obsługa grafiki 2D (GPU). Adnotacje wtykowe.
Java SE 6 Znaczące ulepszenia wydajności platformy JVM i Swing. Interfejs API języka skryptowego i silnik Javascript Mozilla Rhino. JDBC 4.0. API kompilatora. JAXB 2.0. Obsługa usług internetowych (JAX-WS)
Java SE 5 Ogólne, adnotacje, auto-boxing, klasy enum , varargs, ulepszone for pętli i importów statycznych. Specyfikacja modelu pamięci Java. Ulepszenia Swing i RMI. Dodanie pakietu java.util.concurrent.* I Scanner .
Java SE 1.4 assert kluczowe assert . Klasy wyrażeń regularnych. Łączenie wyjątków. Interfejsy API NIO - nieblokujące wejścia / wyjścia, Buffer i Channel . java.util.logging.* API. Interfejs API we / wy obrazu. Zintegrowane XML i XSLT (JAXP). Zintegrowane zabezpieczenia i kryptografia (JCE, JSSE, JAAS). Zintegrowany Java Web Start. Preferencje API.
Java SE 1.3 W zestawie JVM HotSpot. Integracja CORBA / RMI. Java Naming and Directory Interface (JNDI). Środowisko debuggera (JPDA). JavaSound API. Proxy API.
Java SE 1.2 strictfp kluczowe strictfp . Swing APIs. Wtyczka Java (do przeglądarek internetowych). Współdziałanie CORBA. Ramy kolekcji.
Java SE 1.1 Klasy wewnętrzne. Odbicie. JDBC. RMI. Strumienie znaków Unicode /. Wsparcie internacjonalizacji. Przegląd modelu zdarzenia AWT. JavaBeans.

Źródło:



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow