Java Language
Java-utgåvor, versioner, releaser och distributioner
Sök…
Skillnader mellan Java SE JRE eller Java SE JDK distributioner
Sun / Oracle-versioner av Java SE finns i två former: JRE och JDK. Enkelt uttryck stöder JRE: er kör Java-applikationer, och JDK: er stöder också Java-utveckling.
Java Runtime miljö
Java Runtime Environment eller JRE-distributioner består av uppsättningen bibliotek och verktyg som behövs för att köra och hantera Java-applikationer. Verktygen i en typisk modern JRE inkluderar:
-
java
kommandot för att köra ett Java-program i en JVM (Java Virtual Machine) -
jjs
kommandot för att köra Nashorn Javascript-motorn. -
keytool
kommandot för att manipulera Java-nyckelbutiker. -
policytool
för redigering av säkerhetspolicyer för sandlådor. -
pack200
ochunpack200
verktygen för att packa och packa upp "pack200" -filen för webbdistribution. -
orbd
,rmid
,rmiregistry
ochtnameserv
som stöder Java CORBA och RMI-applikationer.
"Desktop JRE" -installatörer innehåller ett Java-plugin som är lämpligt för någon webbläsare. Detta lämnas medvetet från "Server JRE" installers.linux syscall läst benchmarku
Från Java 7-uppdatering 6 och framåt har JRE-installatörer inkluderat JavaFX (version 2.2 eller senare).
Java-utvecklingssats
En Java Development Kit eller JDK-distribution inkluderar JRE-verktygen och ytterligare verktyg för att utveckla Java-programvara. De extra verktygen inkluderar vanligtvis:
-
javac
kommandot, som kompilerar Java-källkod (".java") till bytekodfiler (".class"). - Verktygen för att skapa JAR-filer som
jar
ochjarsigner
- Utvecklingsverktyg som:
-
appletviewer
för att köra applets -
idlj
CORBA IDL till Java-kompilatorn -
javah
JNI-stubgeneratorn -
native2ascii
för teckenuppsättning av Java-källkod -
schemagen
Java till XML schemagenerator (del av JAXB) -
serialver
generera Java Object Serialization-versionsträng. -
wsgen
ochwsimport
för JAX-WS
-
- Diagnosverktyg som:
-
jdb
den grundläggande Java-felsökaren -
jmap
ochjhat
för dumpning och analys av en Java-hög. -
jstack
för att få en trådstapdump. -
javap
för att undersöka ".klass" -filer.
-
- Programhanterings- och övervakningsverktyg som:
-
jconsole
en managementkonsol, -
jstat
,jstatd
,jinfo
ochjps
för applikationsövervakning
-
En typisk Sun / Oracle JDK-installation inkluderar också en ZIP-fil med källkoden för Java-biblioteken. Innan Java 6 var detta den enda offentligt tillgängliga Java-källkoden.
Från Java 6 och framåt är den fullständiga källkoden för OpenJDK tillgänglig för nedladdning från OpenJDK-webbplatsen. Det ingår normalt inte i (Linux) JDK-paket, men är tillgängligt som ett separat paket.
Vad är skillnaden mellan Oracle Hotspot och OpenJDK
Ortogonalt till JRE kontra JDK-dikotomi, det finns två typer av Java-frisläppanden som är allmänt tillgängliga:
- Oracle Hotspot-utgåvorna är de som du laddar ner från Oracle-nedladdningssidorna.
- OpenJDK-utgåvorna är de som byggs (vanligtvis av tredjepartsleverantörer) från OpenJDK-källförvaret.
I funktionella termer är det liten skillnad mellan en Hotspot-release och en OpenJDK-version. Det finns några extra "enterprise" -funktioner i Hotspot som Oracle (betalande) Java-kunder kan aktivera, men bortsett från att samma teknik finns i både Hotspot och OpenJDK.
En annan fördel med Hotspot jämfört med OpenJDK är att patchreleaser för Hotspot tenderar att vara tillgängliga lite tidigare. Detta beror också på hur smidig din OpenJDK-leverantör är; t.ex. hur lång tid det tar en Linuxdistributions byggteam att förbereda och QA en ny OpenJDK-byggnad och få den till sina offentliga förvar.
Flipsiden är att Hotspot-utgåvorna inte är tillgängliga från paketförvaret för de flesta Linux-distributioner. Detta innebär att hålla din Java-programvara uppdaterad på en Linux-maskin vanligtvis är mer arbete om du använder Hotspot.
Skillnader mellan Java EE, Java SE, Java ME och JavaFX
Java-teknik är både ett programmeringsspråk och en plattform. Java-programmeringsspråket är ett objektorienterat språk på hög nivå som har en viss syntax och stil. En Java-plattform är en speciell miljö där applikationer för Java-programmeringsspråk körs.
Det finns flera Java-plattformar. Många utvecklare, även långa utvecklare av Java-programmeringsspråk, förstår inte hur de olika plattformarna förhåller sig till varandra.
Java-programmeringsspråkplattformar
Det finns fyra plattformar för Java-programmeringsspråket:
Java-plattform, Standard Edition (Java SE)
Java-plattform, Enterprise Edition (Java EE)
Java-plattform, Micro Edition (Java ME)
Java FX
Alla Java-plattformar består av en Java Virtual Machine (VM) och ett applikationsprogrammeringsgränssnitt (API). Java Virtual Machine är ett program för en viss hårdvaru- och mjukvaruplattform som kör Java-teknikapplikationer. Ett API är en samling av programvarukomponenter som du kan använda för att skapa andra programvarukomponenter eller applikationer. Varje Java-plattform har en virtuell maskin och ett API, och detta gör att applikationer som är skrivna för den plattformen kan köras på alla kompatibla system med alla fördelarna med Java-programmeringsspråket: plattformsoberoende, kraft, stabilitet, enkel utveckling och säkerhet.
Java SE
När de flesta tänker på Java-programmeringsspråket tänker de på Java SE API. Java SE: s API ger kärnfunktionen för programmeringsspråket Java. Det definierar allt från grundtyper och objekt i programmeringsspråket Java till klasser på hög nivå som används för nätverk, säkerhet, databasåtkomst, grafiskt användargränssnitt (GUI) utveckling och XML-parsing.
Förutom kärn-API: et består Java SE-plattformen av en virtuell maskin, utvecklingsverktyg, distributionsteknologier och andra klassbibliotek och verktygssatser som vanligtvis används i Java-teknikapplikationer.
Java EE
Java EE-plattformen är byggd ovanpå Java SE-plattformen. Java EE-plattformen tillhandahåller en API och runtime-miljö för att utveckla och köra storskaliga, flerskiktade, skalbara, pålitliga och säkra nätverksapplikationer.
Java ME
Java ME-plattformen har ett API och en virtuell maskin med små fotavtryck för att köra Java-programmeringsspråkapplikationer på små enheter, som mobiltelefoner. API är en delmängd av Java SE API, tillsammans med speciella klassbibliotek som är användbara för utveckling av små enheter. Java ME-applikationer är ofta klienter för Java EE-plattformstjänster.
Java FX
Java FX-teknik är en plattform för att skapa rika internetapplikationer skrivna i Java FX ScriptTM. Java FX Script är ett statiskt typiskt deklarativt språk som kompileras till Java-teknikbytkod, som sedan kan köras på en Java VM. Program skrivna för Java FX-plattformen kan inkludera och länka till Java-programmeringsspråkklasser och kan vara klienter för Java EE-plattformstjänster.
- Hämtad från Oracle-dokumentationen
Java SE-versioner
Java SE-versionshistoria
Följande tabell visar tidslinjen för de betydande större versionerna av Java SE-plattformen.
Java SE version 1 | Kodnamn | Livslängd (gratis 2 ) | Utgivningsdatum |
---|---|---|---|
Java SE 9 (Early Access) | Ingen | framtida | 2017-07-27 (uppskattat) |
Java SE 8 | Ingen | framtida | 2014/03/18 |
Java SE 7 | Delfin | 2015/04/14 | 2011-07-28 |
Java SE 6 | Mustang | 2013/04/16 | 2006-12-23 |
Java SE 5 | Tiger | 2009-11-04 | 2004-10-04 |
Java SE 1.4.2 | Bönsyrsa | före 2009-11-04 | 2003-06-26 |
Java SE 1.4.1 | Hoppare / gräshoppa | före 2009-11-04 | 2002-09-16 |
Java SE 1.4 | Merlin | före 2009-11-04 | 2002-02-06 |
Java SE 1.3.1 | Nyckelpiga piga~~POS=HEADCOMP | före 2009-11-04 | 2001-05-17 |
Java SE 1.3 | Kestrel | före 2009-11-04 | 2000-05-08 |
Java SE 1.2 | Lekplats | före 2009-11-04 | 1998/12/08 |
Java SE 1.1 | Sparkler | före 2009-11-04 | 1997/02/19 |
Java SE 1.0 | Ek | före 2009-11-04 | 1996/01/21 |
fotnoter:
Länkarna är till online-kopior av respektive utgivningsdokumentation på Orakles webbplats. Dokumentationen för många äldre utgåvor är inte längre online, även om den vanligtvis kan laddas ner från Oracle Java Archive.
De flesta historiska versioner av Java SE har passerat sina officiella "slutet av liv" -datum. När en Java-version passerar denna milstolpe slutar Oracle att tillhandahålla gratisuppdateringar för den. Uppdateringar är fortfarande tillgängliga för kunder med supportkontrakt.
Källa:
- JDK släpps datum av Roedy Green från Canadian Mind Products
Java SE-versionens höjdpunkter
Java SE-version | slingor |
---|---|
Java SE 8 | Lambda-uttryck och MapReduce-inspirerade strömmar. Nashorn Javascript-motor. Anteckningar om typer och upprepande kommentarer. Osignerade aritmetiska tillägg. Nya API: er och datum. Statiskt länkade JNI-bibliotek. JavaFX-startare. Borttagning av PermGen. |
Java SE 7 | Strängomkopplare, försök med resurs , diamant ( <> ), förbättringar av numerisk bokstavsförbättring och förbättringar av hantering / omhöjning av undantag. Förbättringar av samtidighetsbiblioteket. Förbättrad support för ursprungliga filsystem. Timsort. ECC-kryptoalgoritmer. Förbättrat stöd för 2D-grafik (GPU). Pluggbara kommentarer. |
Java SE 6 | Betydande prestandaförbättringar på JVM-plattformen och Swing. Skriptspråk API och Mozilla Rhino Javascript-motor. JDBC 4.0. Compiler API. JAXB 2.0. Web Services support (JAX-WS) |
Java SE 5 | Generik, anteckningar, enum , enum , vargar, förbättrad for slingor och statisk import. Specifikation av Java Memory Model. Swing och RMI förbättringar. Tillägg av java.util.concurrent.* -Paket och Scanner . |
Java SE 1.4 | assert nyckelordet. Regelbundna uttrycksklasser. Undantag kedja. NIO API: er - I / O, Buffer och Channel inte blockeras. java.util.logging.* API. Image I / O API. Integrerad XML och XSLT (JAXP). Integrerad säkerhet och kryptografi (JCE, JSSE, JAAS). Integrerad Java Web Start. Inställningar API. |
Java SE 1.3 | HotSpot JVM ingår. CORBA / RMI-integration. Java Naming and Directory Interface (JNDI). Debugger framework (JPDA). JavaSound API. Proxy-API. |
Java SE 1.2 | strictfp nyckelordet. Swing API: er. Java-plugin (för webbläsare). CORBA interoperabilitet. Samlingsram. |
Java SE 1.1 | Inre klasser. Reflexion. JDBC. RMI. Unicode / teckenströmmar. Internationaliseringsstöd. Översyn av AWT-händelsemodell. Javabeans. |
Källa:
- Wikipedia: Java-versionshistoria