Java Language
Edycje, wersje, wydania i dystrybucje Java
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 manipulowaniakeytool
kluczy Java. - Komenda
policytool
do edycji zasad bezpieczeństwa piaskownicy bezpieczeństwa. - Narzędzia
pack200
iunpack200
do pakowania i rozpakowywania pliku „pack200” do wdrażania w Internecie. -
orbd
,rmid
,rmiregistry
itnameserv
, 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
ijarsigner
- Narzędzia programistyczne, takie jak:
-
appletviewer
do uruchamiania apletów -
idlj
kompilatora CORBA IDL do Java -
javah
generatorjavah
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
iwsimport
dla JAX-WS
-
- Narzędzia diagnostyczne, takie jak:
-
jdb
podstawowy debugger Java -
jmap
ijhat
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
ijps
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.
- Zaczerpnięte z dokumentacji Oracle
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:
Łą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.
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:
- Daty wydania JDK przez Roedy Green z Canadian Mind Products
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:
- Wikipedia: historia wersji Java