Historie verzí Javy - Java version history
Jazyk Java prošel od JDK 1.0 několika změnami , stejně jako mnoha přidáním tříd a balíků do standardní knihovny . Od J2SE 1.4 je vývoj jazyka Java řízen procesem Java Community Process (JCP), který pomocí Java Specification Requests (JSRs) navrhuje a specifikuje doplňky a změny na platformě Java . Jazyk je specifikován specifikací Java Language Specification (JLS); změny JLS jsou spravovány podle JSR 901 .
Kromě jazykových změn byly v průběhu let provedeny další změny v knihovně tříd Java , která se rozrostla z několika stovek tříd v JDK 1,0 na více než tři tisíce v J2SE 5. Celá nová API , jako Swing a Java2D , byly zavedeny a mnoho z původních tříd a metod JDK 1.0 bylo zastaráno . Některé programy umožňují převod programů Java z jedné verze platformy Java na starší (například Java 5.0 backported to 1.4) (viz nástroje Java backporting ).
Pokud jde o plán podpory Oracle Java SE, verze 17, 11 a 8 jsou aktuálně podporované verze dlouhodobé podpory (LTS), kde zákazníci Oracle získají podporu Oracle Premier. Poslední veřejnou aktualizaci bezplatného softwaru Java 8 LTS pro komerční použití vydala společnost Oracle v lednu 2019, zatímco společnost Oracle nadále neomezeně uvolňuje veřejné aktualizace Java 8 pro vývoj a osobní použití. Java 10, dříve podporovaná verze pro rychlé vydání, měla podporu ukončenou v září 2018 a začala podpora pro Java 11 ve stejný den. Java 7 již není veřejně podporována. V případě Java 11 nebude Oracle pro veřejnost poskytovat dlouhodobou podporu; místo toho se očekává, že práci bude provádět širší komunita OpenJDK , jako Eclipse Adoptium nebo další.
Obecná dostupnost Java 17 začala 14. září 2021 a Java 18 je ve vývoji.
Verze | Datum vydání |
Konec bezplatných veřejných aktualizací |
Prodloužená podpora do |
---|---|---|---|
JDK Beta | 1995 | ? | ? |
JDK 1,0 | Leden 1996 | ? | ? |
JDK 1.1 | Únor 1997 | ? | ? |
J2SE 1.2 | Prosinec 1998 | ? | ? |
J2SE 1.3 | Květen 2000 | ? | ? |
J2SE 1.4 | Únor 2002 | Říjen 2008 | únor 2013 |
J2SE 5.0 | Září 2004 | Listopad 2009 | Duben 2015 |
Java SE 6 | Prosinec 2006 | duben 2013 | Prosinec 2018 Prosinec 2026 pro Azul |
Java SE 7 | Červenec 2011 | Duben 2015 | Července 2022 |
Java SE 8 (LTS) | Březen 2014 |
Leden 2019 pro Oracle (komerční) Prosinec 2030 pro Oracle (nekomerční) Prosinec 2030 pro Azul Květen 2026 pro IBM Semeru Minimálně květen 2026 pro Eclipse Adoptium Nejméně květen 2026 pro Amazon Corretto |
Prosince 2030 |
Java SE 9 | Září 2017 | Března 2018 pro OpenJDK | N/A |
Java SE 10 | Března 2018 | Září 2018 pro OpenJDK | N/A |
Java SE 11 (LTS) | Září 2018 | Září 2026 pro Azul Říjen 2024 pro IBM Semeru Minimálně říjen 2024 pro Eclipse Adoptium Minimálně září 2027 pro Amazon Corretto Minimálně říjen 2024 pro Microsoft |
Září 2026 Září 2026 pro Azula |
Java SE 12 | Března 2019 | Září 2019 pro OpenJDK | N/A |
Java SE 13 | Září 2019 | Březen 2020 pro OpenJDK | N/A |
Java SE 14 | Března 2020 | Září 2020 pro OpenJDK | N/A |
Java SE 15 | Září 2020 | Březen 2021 pro OpenJDK Březen 2023 pro Azul |
N/A |
Java SE 16 | Března 2021 | Září 2021 pro OpenJDK | N/A |
Java SE 17 (LTS) | Září 2021 | Září 2029 pro Azul Minimálně září 2027 pro Microsoft Minimálně TBA pro Eclipse Adoptium |
Září 2029 nebo později Září 2029 pro Azula |
Java SE 18 | Března 2022 | Září 2022 pro OpenJDK | N/A |
Java SE 19 | Září 2022 | Březen 2023 pro OpenJDK | N/A |
Java SE 20 | Března 2023 | Září 2023 pro OpenJDK | N/A |
Java SE 21 (LTS) | Září 2023 | TBA | Září 2031 |
Legenda:
Stará verze
Starší verze, stále udržovaná
Nejnovější verze
Budoucí vydání
|
Dějiny
V září 2017 navrhl Mark Reinhold, hlavní architekt platformy Java, změnu uvolňovacího vlaku na „vydání jedné funkce každých šest měsíců“ namísto tehdejšího dvouletého plánu. Tento návrh vstoupil v platnost pro všechny následující verze a stále je aktuálním plánem vydání.
JDK 1,0
Vydáno | 23. ledna 1996 |
---|
První verze byla vydána 23. ledna 1996. První stabilní verze, JDK 1.0.2, se nazývá Java 1.
JDK 1.1
Vydáno | 19. února 1997 |
---|
Hlavní přírůstky ve verzi 19. února 1997 zahrnovaly:
- rozsáhlé přestavby modelu akce AWT
- do jazyka přidány vnitřní třídy
- JavaBeans
- JDBC
- RMI
- reflexe, která podporovala pouze Introspekci, žádná modifikace za běhu nebyla možná. (V J2SE 1.2 byla přidána schopnost reflexní úpravy objektů zavedením třídy AccessibleObject a jejích podtříd, jako je například třída Field .)
- Kompilátor JIT (Just In Time) na platformách Microsoft Windows , vytvořený pro JavaSoft společností Symantec
- Internacionalizace a podpora Unicode pocházející od společnosti Taligent
J2SE 1.2
Krycí jméno | Hřiště |
---|---|
Vydáno | 8. prosince 1998 |
Hřiště s kódovým označením
Vydání 8. prosince 1998 a následující vydání prostřednictvím J2SE 5.0 byly rebranded retrospektivně Java 2 a název verze "J2SE" ( Java 2 Platform, Standard Edition ) nahradil JDK, aby se odlišila základní platforma od J2EE ( Java 2 Platform, Enterprise Edition ) a J2ME ( Java 2 Platform, Micro Edition ). Jednalo se o velmi významné vydání Javy, protože ztrojnásobilo velikost platformy Java na 1520 tříd v 59 balíčcích. Mezi hlavní přírůstky patří:
-
strictfp
klíčové slovo - Swing grafické API byl integrován do základní třídy
- Sun JVM byl vybaven JIT překladač poprvé
- Doplněk Java
- Java IDL , implementace IDL pro interoperabilitu CORBA
- Rámec sbírek
J2SE 1.3
Krycí jméno | Poštolka |
---|---|
Vydáno | 8. května 2000 |
Krycí jméno Kestrel
Nejpozoruhodnější změny ve vydání z 8. května 2000 byly:
- HotSpot JVM v ceně (HotSpot JVM byl poprvé vydán v dubnu 1999 pro J2SE 1.2 JVM)
- RMI byl upraven tak, aby podporoval volitelnou kompatibilitu s CORBA
- Rozhraní Java Naming and Directory Interface (JNDI) zahrnuté v základních knihovnách (dříve dostupné jako rozšíření)
- Java Platform Debugger Architecture (JPDA)
- JavaSound
- Syntetické proxy třídy
J2SE 1.4
Krycí jméno | Merlin |
---|---|
Vydáno | 6. února 2002 |
Konec veřejné podpory | Říjen 2008 |
Konec placené podpory | únor 2013 |
Krycí jméno Merlin
Vydání 6. února 2002 bylo první verzí platformy Java vyvinuté v rámci Java Community Process jako JSR 59 . Mezi hlavní změny patří:
- Změny jazyka
- Vylepšení knihovny
- Regulární výrazy po vzoru regulárních výrazů v Perlu
- Zřetězení výjimek umožňuje výjimce zapouzdřit původní výjimku nižší úrovně
- Podpora internetového protokolu verze 6 ( IPv6 )
- Neblokující I/O (Java) (pojmenovaný NIO) (uvedeno v JSR 51 )
- Protokolovací API (specifikováno v JSR 47 )
- Image I/O API pro čtení a zápis obrázků ve formátech JPEG a PNG
- Integrovaný analyzátor XML a procesor XSLT ( JAXP ) (uvedeno v JSR 5 a JSR 63 )
- Integrovaná rozšíření zabezpečení a kryptografie ( JCE , JSSE , JAAS )
- Součástí je Java Web Start (Java Web Start byl poprvé vydán v březnu 2001 pro J2SE 1.3) (uvedeno v JSR 56 )
- Preferences API (
java.util.prefs
)
Veřejná podpora a aktualizace zabezpečení pro Javu 1.4 skončily v říjnu 2008. Placené aktualizace zabezpečení pro zákazníky Oracle skončily v únoru 2013.
J2SE 5.0
Krycí jméno | Tygr |
---|---|
Vydáno | 30. září 2004 |
Konec veřejné podpory | Listopad 2009 |
Konec placené podpory | Duben 2015 |
Krycí jméno Tygr
Vydání 30. září 2004 mělo původně číslo 1,5, které se stále používá jako číslo interní verze. Číslo bylo změněno tak, aby „lépe odráželo úroveň vyspělosti, stability, škálovatelnosti a zabezpečení J2SE“. Tato verze byla vyvinuta pod JSR 176 .
J2SE 5.0 vstoupilo do období ukončení veřejných aktualizací 8. dubna 2008; aktualizace již nejsou k dispozici veřejnosti od 3. listopadu 2009. Aktualizace byly placeným zákazníkům Oracle k dispozici do května 2015.
Tiger přidal řadu významných nových jazykových funkcí:
- Obecná : zajišťuje bezpečnost typu kompilace (statického) typu pro kolekce a eliminuje potřebu většiny typcastů (převod typů) (specifikováno v JSR 14 )
- Metadata : také nazývaná anotace ; umožňuje označit jazykové konstrukce, jako jsou třídy a metody, dodatečnými daty, která pak mohou být zpracována nástroji s vědomím metadat (specifikováno v JSR 175 )
-
Autoboxing / unboxing : automatické převody mezi primitivními typy (například
int
) a primitivními obalovými třídami (jakoInteger
) (specifikováno v JSR 201 ) -
Výčty : na
enum
klíčové slovo vytváří typesafe , seřazený seznam hodnot (napříkladDay.MONDAY
,Day.TUESDAY
, atd.); dříve to bylo možné dosáhnout pouze konstantními celými čísly, která nejsou typově bezpečná, nebo ručně vytvořenými třídami (vzorový výčet typů) (specifikováno v JSR 201 ) -
Varargs : poslední parametr metody lze nyní deklarovat pomocí názvu typu následovaného třemi tečkami (např.
void drawtext(String... lines)
); ve volacím kódu lze použít libovolný počet parametrů tohoto typu a ty jsou poté umístěny do pole, které má být předáno metodě, nebo alternativně může volající kód předat pole tohoto typu - Vylepšená
for each
smyčka:for
Syntaxe smyčky je rozšířena o speciální syntaxi pro iteraci přes každý člen pole nebo libovolnéhoIterable
, jako jsou standardníCollection
třídy (specifikované v JSR 201 ) - Vylepšená sémantika provádění pro vícevláknové programy Java; nový paměťový model Java řeší problémy s komplexností, efektivitou a výkonem předchozích specifikací
- Statický dovoz
Došlo také k následujícím vylepšením standardních knihoven:
- Automatické útržek generace pro RMI objektů
- Swing : New skinovatelný vzhled a dojem , nazvaný synth
- Nástroje souběžnosti v balíčku
java.util.concurrent
- Třída skeneru pro analýzu dat z různých vstupních proudů a vyrovnávacích pamětí
Java 5 je poslední verzí Javy, která oficiálně podporuje Microsoft Windows 98 a Windows ME , zatímco Windows Vista byla nejnovější verze Windows, na které byla J2SE 5 podporována před koncem životnosti Java 5 v říjnu 2009.
Java 5 Update 5 (1.5.0_05) je poslední verzí Javy, která fungovala v systému Windows 95 (s nainstalovaným Internet Explorerem 5.5 ) a Windows NT 4.0 .
Java 5 byla poprvé k dispozici na Apple Mac OS X 10.4 (Tiger) a byla výchozí verzí Java nainstalovanou na Apple Mac OS X 10.5 (Leopard).
Veřejná podpora a aktualizace zabezpečení pro Javu 1.5 skončily v listopadu 2009. Placené aktualizace zabezpečení pro zákazníky Oracle skončily v dubnu 2015.
Změna verzí
Tato verze představila nový verzovací systém pro jazyk Java, ačkoli starý verzovací systém byl nadále používán pro vývojářské knihovny:
K identifikaci této verze standardní edice Java 2 Platform slouží obě čísla verzí „1.5.0“ a „5.0“. Verze „5.0“ je verze produktu, zatímco „1.5.0“ je verze pro vývojáře. Číslo „5,0“ slouží k lepšímu vyjádření úrovně vyspělosti, stability, škálovatelnosti a zabezpečení J2SE.
Tato korespondence pokračovala v pozdějších verzích (Java 6 = JDK 1.6, Java 7 = JDK 1.7 a tak dále).
Aktualizace Java 5
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 5 | 2004-10-04 | Metadata, obecné typy, autoboxování a automatické rozbalování primitivních typů, vylepšená for smyčka, vyjmenované typy, statický import, formátované I/O, varargs a souběžné nástroje. Vylepšená doba spuštění a prostorová paměť. Sdílení dat pouze pro čtení mezi více spuštěnými JVM. Vzdálené monitorování a správa. Nové API pro profilování JVM. Programové generování trasování zásobníku. Podpora XML 1.1 s obory názvů, schématem XML, SAX 2.0.2, DOM úrovně 3 a XSLT s rychlým kompilátorem XSLTC. Podpora Unicode 4.0.
|
Aktualizace Java SE 5 1 | 2004-12-25 | 50 chyb bylo opraveno. |
Aktualizace Java SE 5 2 | 16. března 2005 | Bylo opraveno několik havárií. Program je nyní kompilován s lepší optimalizací. Byly provedeny opravy chyb kalendáře a další opravy chyb. |
Aktualizace Java SE 5 3 | 2005-05-03 | Toto vydání opravuje několik chyb, včetně pádů pluginu Linux Mozilla. |
Aktualizace Java SE 5 4 | 2005-07-04 | S vydáním podpora J2SE pro Windows 64-bit pokročila z kandidáta na vydání do konečného vydání. Tato verze běží na počítačích s 64bitovým režimem AMD64/EM64T s edicemi Windows Server 2003 x64. |
Aktualizace Java SE 5 5 | 18. 2005 | Bylo opraveno několik chyb a došlo k vylepšení výkonu. Poslední vydání pro Windows 95 a Windows NT 4.0. |
Aktualizace Java SE 5 6 | 2005-12-07 | Před touto aktualizací mohl applet nebo aplikace určit verzi JRE, na které bude spuštěna. To se změnilo. Všechny aplety jsou spuštěny s nejnovější verzí JRE. |
Aktualizace Java SE 5 7 | 29. června 2006 | Bylo opraveno několik chyb a došlo k vylepšení výkonu. |
Aktualizace Java SE 5 8 | 13. června 2006 | Bylo opraveno několik chyb a došlo k vylepšení výkonu. |
Aktualizace Java SE 5 9 | 12. 11. 2006 | Tato verze opravuje několik menších regresí. |
Aktualizace Java SE 5 10 | 22. 12. 2006 | Byla přidána implementace zařízení pro oznámení událostí epoll I/O, podporovaného Linuxem 2.6. Mnoho chyb bylo opraveno. |
Aktualizace Java SE 5 11 | 2007-03-08 | Bylo opraveno několik chyb a došlo k vylepšení výkonu. |
Aktualizace Java SE 5 12 | 2007-06-11 | |
Aktualizace Java SE 5 13 | 2007-10-05 | Bylo opraveno několik bezpečnostních chyb v Java Web Start, které se týkaly místního přístupu k souborům. Byla opravena chyba zabezpečení v prostředí JRE, která umožňovala obcházení omezení přístupu k síti. Bylo opraveno několik dalších bezpečnostních problémů a drobných chyb. |
Aktualizace Java SE 5 14 | ||
Aktualizace Java SE 5 15 | 2008-03-06 | Bylo opraveno několik pádů z důvodu překračování mezipaměti haldy a několik dalších chyb. Nové kořenové certifikáty od AOL, DigiCert a TrustCenter jsou nyní zahrnuty. |
Aktualizace Java SE 5 16 | 23. července 2008 | Toto vydání opravuje několik bezpečnostních nedostatků, jako jsou chyby zabezpečení DoS, přetečení vyrovnávací paměti a další chyby, které by mohly vést ke zhroucení nebo které by poskytly appletům přístup k určitým systémovým prostředkům. Tyto chyby zabezpečení byly umístěny v prostředí Java Web Start, v agentu pro správu Java Management Extensions (JMX) a ve funkcích pro zpracování dat XML. |
Aktualizace Java SE 5 17 | 3. 12. 2008 | Implementace znakové sady UTF-8 byla aktualizována, aby zvládla nejkratší formu bajtových sekvencí UTF-8, což zavedlo nekompatibilitu z předchozích verzí. Byly přidány nové kořenové certifikáty. Mnoho chyb bylo opraveno. |
Aktualizace Java SE 5 18 | 2009-03-25 | Bylo vyřešeno několik bezpečnostních problémů. Chování funkce JNDI k ukládání a načítání objektů Java v adresáři LDAP bylo mírně upraveno. Bylo přidáno pět nových kořenových certifikátů. Mnoho chyb bylo opraveno. |
Aktualizace Java SE 5 19 | 2009-05-29 | Byla přidána podpora pro několik systémových konfigurací. Byla přidána podpora servisního štítku. Mnoho chyb bylo opraveno, včetně několika selhání a úniku paměti. |
Aktualizace Java SE 5 20 | 2009-08-06 | Bylo vyřešeno několik zranitelností zabezpečení, například potenciální přístup k systému nedůvěryhodnými applety a přetečení celých čísel při zpracování obrazu a v Unpack200. Bylo přidáno několik nových kořenových certifikátů. Mnoho dalších drobných chyb bylo opraveno. |
Aktualizace Java SE 5 21 | 2009-09-09 | Mnoho drobných chyb bylo opraveno. |
Aktualizace Java SE 5 22 | 2009-11-04 | Toto vydání znamená konec životnosti (EOSL) pro Java 5 a je jeho finální veřejnou verzí. Bylo opraveno několik bezpečnostních chyb, hlášených jako Sun Alerts 269868, 270474, 270475 a 270476. Bylo opraveno několik dalších chyb. Kromě toho byly přidány dva nové kořenové certifikáty. |
Aktualizace Java SE 5 23 | 13. ledna 2010 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10 ; 32 oprav zabezpečení. |
Aktualizace Java SE 5 24 | 15. dubna 2010 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 2 opravy zabezpečení. |
Aktualizace Java SE 5 25 | 2010-07-07 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 26 bezpečnostních oprav. |
Aktualizace Java SE 5 26 | 2010-10-12 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 2 opravy zabezpečení. |
Aktualizace Java SE 5 27 | 08. 12. 2010 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 22 bezpečnostních oprav. |
Aktualizace Java SE 5 28 | 15. února 2011 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 22 bezpečnostních oprav |
Aktualizace Java SE 5 29 | 21. března 2011 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 21 bezpečnostních oprav. |
Aktualizace Java SE 5 30 | 2011-06-07 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 1 oprava zabezpečení. |
Aktualizace Java SE 5 31 | 16. 08. 2011 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 10 bezpečnostních oprav. |
Aktualizace Java SE 5 32 | 18. 10. 2011 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 20 bezpečnostních oprav |
Aktualizace Java SE 5 33 | 12. 12. 2011 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 21 bezpečnostních oprav. |
Aktualizace Java SE 5 34 | 14. 2012 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 14 bezpečnostních oprav |
Aktualizace Java SE 5 35 | 26. dubna 2012 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 5 bezpečnostních oprav. |
Aktualizace Java SE 5 36 | 2012-06-12 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 14 bezpečnostních oprav |
Aktualizace Java SE 5 38 | 14. 08. 2012 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 30 bezpečnostních oprav |
Aktualizace Java SE 5 39 | 19. 02. 2013 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 50 bezpečnostních oprav |
Aktualizace Java SE 5 40 | 19. 02. 2013 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 5 bezpečnostních oprav |
Aktualizace Java SE 5 41 | 2013-03-04 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 2 opravy zabezpečení |
Aktualizace Java SE 5 45 | 16. dubna 2013 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 42 bezpečnostních oprav |
Aktualizace Java SE 5 51 | 18. 06. 2013 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 40 bezpečnostních oprav |
Aktualizace Java SE 5 55 | 15. 10. 2013 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 51 bezpečnostních oprav |
Aktualizace Java SE 5 61 | 14. ledna 2014 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 36 bezpečnostních oprav |
Aktualizace Java SE 5 65 | 15. dubna 2014 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 37 bezpečnostních oprav |
Aktualizace Java SE 5 71 | 15. července 2014 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 20 bezpečnostních oprav |
Aktualizace Java SE 5 75 | 16. 10. 2014 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 25 bezpečnostních oprav |
Aktualizace Java SE 5 81 | 2015-01-21 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 19 bezpečnostních oprav |
Aktualizace Java SE 5 85 | 14. dubna 2015 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 14 bezpečnostních oprav |
Java SE 6
Krycí jméno | Mustang |
---|---|
Vydáno | 11. listopadu 2006 |
Konec veřejné podpory | únor 2013 |
Krycí jméno Mustang
Od verze vydané 11. prosince 2006 společnost Sun nahradila název „J2SE“ jazykem Java SE a z čísla verze vypustila „0,0“. Interní číslování pro vývojáře zůstává 1.6.0.
Tato verze byla vyvinuta pod JSR 270 .
Během fáze vývoje byly přibližně jednou týdně vydávány nové verze včetně vylepšení a oprav chyb. Beta verze byly vydány v únoru a červnu 2006, což vedlo ke konečnému vydání, ke kterému došlo 11. prosince 2006.
Hlavní změny zahrnuté v této verzi:
- Podpora starších verzí Win9x byla zrušena; neoficiálně byla Java 6 Update 7 poslední verzí Javy, která fungovala na těchto verzích Windows. Předpokládá se, že je to kvůli velkým změnám v aktualizaci 10.
- Podpora skriptovacího jazyka ( JSR 223 ): Obecné API pro těsnou integraci se skriptovacími jazyky a integrovanou integraci Mozilla JavaScript Rhino .
- Dramatické vylepšení výkonu pro základní platformu a Swing .
- Vylepšená podpora webové služby prostřednictvím JAX-WS ( JSR 224 ).
- Podpora JDBC 4.0 ( JSR 221 ).
- Java Compiler API ( JSR 199 ): API umožňující programu Java vybrat a vyvolat kompilátor Java programově.
- Upgrade JAXB na verzi 2.0: Včetně integrace analyzátoru StAX .
- Podpora zásuvných anotací ( JSR 269 ).
- Mnoho vylepšení GUI , jako je integrace SwingWorker do API, řazení a filtrování tabulek a dvojité ukládání do vyrovnávací paměti Swing (odstranění efektu šedé oblasti).
- Mezi vylepšení JVM patří: synchronizace a optimalizace výkonu kompilátoru , nové algoritmy a upgrady na stávající algoritmy shromažďování odpadků a výkon při spuštění aplikace.
Java 6 lze nainstalovat do systému Mac OS X 10.5 (Leopard) běžícího na 64bitových procesorech (Core 2 Duo a vyšší). Java 6 podporují i 32bitové a 64bitové počítače se systémem Mac OS X 10.6 (Snow Leopard).
Java 6 dosáhla konce své podporované životnosti v únoru 2013, kdy bylo naplánováno zastavení všech veřejných aktualizací, včetně aktualizací zabezpečení. Společnost Oracle vydala v březnu a dubnu 2013 další dvě aktualizace Java 6, které opravily některé chyby zabezpečení.
Aktualizace Java 6
Po vydání Java 6 vydala společnost Sun a později Oracle několik aktualizací, které, aniž by měnily veřejné API, zlepšovaly použitelnost koncových uživatelů nebo opravovaly chyby.
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 6 | 23. 12. 2006 | Tato verze přináší mnoho vylepšení v oblasti webových služeb, skriptování, databází, připojitelných poznámek a zabezpečení, jakož i kvality, kompatibility a stability. JConsole je nyní oficiálně podporována. Byla přidána podpora Java DB. |
Aktualizace Java SE 6 1 | 2007-05-07 | |
Aktualizace Java SE 6 2 | 2007-07-03 | |
Aktualizace Java SE 6 3 | 2007-10-03 | |
Aktualizace Java SE 6 4 | 14. ledna 2008 | HotSpot VM 10 |
Aktualizace Java SE 6 5 | 2008-03-05 | Bylo odstraněno několik bezpečnostních nedostatků. Nové kořenové certifikáty od AOL, DigiCert a TrustCenter jsou nyní zahrnuty. |
Aktualizace Java SE 6 6 | 16. dubna 2008 | Bylo zavedeno řešení neslavného problému s tvrzením o zamykání Xlib/XCB. Byl opraven nevracení paměti při použití ověřování Kerberos s LoginContext. Bylo opraveno několik dalších chyb. |
Aktualizace Java SE 6 7 | Neoficiálně je Java SE 6 Update 7 (1.6.0.7) poslední verzí Javy, která fungovala na operačních systémech Win9x. | |
Aktualizace Java SE 6 10 | 15. 10. 2008 | HotSpot VM 11. Mezi hlavní změny této aktualizace patří:
|
Aktualizace Java SE 6 11 | 3. 12. 2008 | 13 bezpečnostních oprav |
Aktualizace Java SE 6 12 | 12. prosince 2008 | Žádné opravy zabezpečení; 64bitový doplněk Java (pouze pro 64bitové webové prohlížeče); Podpora Windows Server 2008 ; vylepšení výkonu grafiky a aplikací JavaFX |
Aktualizace Java SE 6 13 | 2009-03-24 | 7 oprav zabezpečení, JNDI ukládá a načítá objekty Java v LDAP mírně upraveno, JMX Change (createMBeanunregisterMBean), přidány 4 nové kořenové certifikáty |
Aktualizace Java SE 6 14 | 2009-05-28 | HotSpot VM 14. Tato verze obsahuje rozsáhlé aktualizace výkonu kompilátoru JIT, komprimovaných ukazatelů pro 64bitové počítače a také podporu pro nízko pozastavený odpadkový koš G1 (Garbage First).
Tato Někteří vývojáři si všimli problému zavedeného v této verzi, který způsobuje, že debuggery zdánlivě náhodně vynechávají zarážky. Sun má odpovídající chybu, která problém sleduje. Řešení se týká virtuálních počítačů klienta a serveru. Použitím této |
Aktualizace Java SE 6 15 | 2009-08-04 | Představena funkce patch-in-place |
Aktualizace Java SE 6 16 | 11. 08. 2009 | Opraven problém zavedený v aktualizaci 14, který způsoboval, že debuggery chyběly zarážky |
Aktualizace Java SE 6 17 | 2009-11-04 | Opravy zabezpečení; dva nové kořenové certifikáty |
Aktualizace Java SE 6 18 | 13. ledna 2010 | Žádné opravy zabezpečení; Hotspot VM 16; podpora pro Ubuntu 8.04 LTS Desktop Edition, SLES 11, Windows 7 , Red Hat Enterprise Linux 5.3, Firefox 3.6, VisualVM 1.2; aktualizovaný Java DB; mnoho vylepšení výkonu |
Aktualizace Java SE 6 19 | 30. března 2010 | Opravy zabezpečení; změny kořenového certifikátu: sedm nových, tři odstraněny, pět nahrazeno silnějšími podpisovými algoritmy; prozatímní oprava útoku při opětovném vyjednávání TLS |
Aktualizace Java SE 6 20 | 15. dubna 2010 | 2 opravy zabezpečení |
Aktualizace Java SE 6 21 | 2010-07-07 | Žádné opravy zabezpečení; Hotspot VM 17; podpora pro Red Hat Enterprise Linux 5.4 a 5.5, Oracle Enterprise Linux 4.8, 5.4, 5.5; Podpora Google Chrome 4; podpora přizpůsobených indikátorů průběhu načítání; VisualVM 1.2.2 |
Aktualizace Java SE 6 22 | 2010-10-12 | 29 bezpečnostních oprav; Podpora RFC 5746 |
Aktualizace Java SE 6 23 | 08. 12. 2010 | Žádné opravy zabezpečení; Hotspot VM 19; lepší podpora jazyků zprava doleva |
Aktualizace Java SE 6 24 | 15. února 2011 | 21 bezpečnostních oprav; aktualizovaný Java DB |
Aktualizace Java SE 6 25 | 21. března 2011 | Žádné opravy zabezpečení; Hotspot VM 20; podpora pro Internet Explorer 9 , Firefox 4 a Chrome 10; vylepšený BigDecimal; obsahuje „stupňovitou“ kompilaci na virtuálním počítači serveru, která mu umožňuje rychlý start, stejně jako klientský virtuální počítač, a zároveň dosáhnout lepšího špičkového výkonu (tato funkce je povolena zadáním -server a -XX:+TieredCompilation možnostmi příkazů)
|
Aktualizace Java SE 6 26 | 2011-06-07 | 17 nových bezpečnostních oprav; poslední verze kompatibilní s Windows Vista SP1 |
Aktualizace Java SE 6 27 | 16. 08. 2011 | Žádné opravy zabezpečení; certifikace pro Firefox 5 |
Aktualizace Java SE 6 29 | 18. 10. 2011 | 20 bezpečnostních oprav, různé opravy chyb |
Aktualizace Java SE 6 30 | 12. 12. 2011 | Žádné opravy zabezpečení; oprava regrese SSL v aktualizaci 29; podpora pro Red Hat Enterprise Linux 6 |
Aktualizace Java SE 6 31 | 14. 2012 | 14 bezpečnostních oprav a jedna oprava chyb; poslední verze funguje spolehlivě pro Windows 2000 |
Aktualizace Java SE 6 32 | 26. dubna 2012 | Žádné opravy zabezpečení, různé opravy chyb |
Aktualizace Java SE 6 33 | 2012-06-12 | 14 oprav zabezpečení, vylepšené načítání konfiguračního souboru virtuálního počítače |
Aktualizace Java SE 6 34 | 14. 08. 2012 | Žádné opravy zabezpečení, různé opravy chyb |
Aktualizace Java SE 6 35 | 30. 08. 2012 | Obsahuje opravu hloubky zabezpečení |
Aktualizace Java SE 6 37 | 16. 10. 2012 | 30 bezpečnostních oprav |
Aktualizace Java SE 6 38 | 11. 12. 2012 | Různé opravy chyb |
Aktualizace Java SE 6 39 | 01.02.2013 | 50 bezpečnostních oprav |
Aktualizace Java SE 6 41 | 19. 02. 2013 | 5 bezpečnostních oprav |
Aktualizace Java SE 6 43 | 2013-03-04 | 2 opravy zabezpečení |
Aktualizace Java SE 6 45 | 16. dubna 2013 | 42 bezpečnostních oprav; další změny; finální veřejná aktualizace. |
Aktualizace Java SE 6 51 | 18. 06. 2013 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v Apple Update pro OS X Snow Leopard, Lion & Mountain Lion; až 40 oprav zabezpečení |
Aktualizace Java SE 6 65 | 15. 10. 2013 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v Apple Update pro OS X Snow Leopard, Lion & Mountain Lion; nejméně 11 důležitých oprav zabezpečení |
Aktualizace Java SE 6 71 | 14. ledna 2014 | Není k dispozici pro veřejné stažení; 33 oprav |
Aktualizace Java SE 6 75 | 15. dubna 2014 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů č. Solaris 10. #54; 25 bezpečnostních oprav |
Aktualizace Java SE 6 81 | 15. července 2014 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 11 bezpečnostních oprav |
Aktualizace Java SE 6 85 | 16. 10. 2014 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 18 bezpečnostních oprav |
Aktualizace Java SE 6 91 | 2015-01-21 | Verze Linux x64 a Windows i586 jsou k dispozici jako referenční implementace Java SE 6. Jiné verze jsou k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru Patchset Solaris 10; 15 bezpečnostních oprav |
Aktualizace Java SE 6 95 | 14. dubna 2015 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 14 bezpečnostních oprav |
Aktualizace Java SE 6 101 | 15. července 2015 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 18 oprav zabezpečení Certifikace pro IE 10 a 11 byla zavedena v 1.6.0_101 |
Aktualizace Java SE 6 105 | 2015-10-20 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 17 bezpečnostních oprav |
Aktualizace Java SE 6 111 | 2016-01-20 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 13 bezpečnostních oprav |
Aktualizace Java SE 6 113 | 2016-02-05 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 1 oprava zabezpečení |
Aktualizace Java SE 6 115 | 2016-04-21 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 8 bezpečnostních oprav |
Aktualizace Java SE 6 121 | 19. července 2016 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 15 bezpečnostních oprav |
Aktualizace Java SE 6 131 | 18. 10. 2016 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 13 bezpečnostních oprav |
Aktualizace Java SE 6 141 | 17. 1. 2017 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 17 bezpečnostních oprav |
Aktualizace Java SE 6 151 | 18. dubna 2017 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 10 bezpečnostních oprav |
Aktualizace Java SE 6 161 | 2017-07-18 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 5 bezpečnostních oprav |
Aktualizace Java SE 6 171 | 2017-10-20 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 7 oprav zabezpečení |
Aktualizace Java SE 6 181 | 2018-01-16 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 12 bezpečnostních oprav |
Aktualizace Java SE 6 191 | 17. dubna 2018 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 7 oprav zabezpečení |
Aktualizace Java SE 6 201 | 17. července 2018 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 3 opravy zabezpečení |
Aktualizace Java SE 6 211 | 18. 10. 2018 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 8 bezpečnostních oprav |
Java SE 7
Krycí jméno | Delfín |
---|---|
Vydáno | 28. července 2011 |
Konec veřejné podpory | Duben 2015 |
Konec placené podpory | Června 2022 |
Java 7 (kódové označení Dolphin ) je zásadní aktualizací, která byla spuštěna 7. července 2011 a byla pro vývojáře zpřístupněna 28. července 2011. Období vývoje bylo organizováno do třinácti milníků; 6. června 2011 byl dokončen poslední ze třinácti milníků. V průměru bylo vydáno 8 sestavení (které obecně zahrnovalo vylepšení a opravy chyb) na milník. Seznam funkcí v projektu OpenJDK 7 uvádí mnoho změn.
Mezi doplňky v Javě 7 patří:
-
Podpora JVM pro dynamické jazyky s novým
invokedynamic
bajtkódem pod JSR-292 v návaznosti na prototypové práce, které jsou v současné době prováděny na vícejazyčném virtuálním stroji - Komprimované 64bitové ukazatele (k dispozici v jazyce Java 6 s
-XX:+UseCompressedOops
) - Tyto malé jazykové změny (seskupené pod projektem s názvem Coin):
- Řetězce ve spínači
- Automatická správa prostředků v příkazu try
- Vylepšené odvozování typů pro vytváření generických instancí, alias diamantový operátor <>
- Zjednodušená deklarace metody varargs
- Binární celočíselné literály
- Povolení podtržítka v číselných literálech
- Chytání více typů výjimek a opětovné vyvolání výjimek s vylepšenou kontrolou typů
- Souběžné nástroje podle JSR 166
- Nová knihovna I/O souborů (definovaná JSR 203) přidává podporu pro více souborových systémů, metadata souborů a symbolické odkazy. Nové balíčky jsou
java.nio.file
,java.nio.file.attribute
ajava.nio.file.spi
- Timsort se používá k třídění sbírek a polí objektů namísto sloučení
- Podpora na úrovni knihovny pro kryptografické algoritmy eliptické křivky
- XRender potrubí pro Java 2D, což zlepšuje jízdní vlastnosti na specifické rysy moderních GPU
- Nová platformová API pro grafické funkce původně implementované ve verzi 6u10 jako nepodporovaná API
- Vylepšená podpora na úrovni knihovny pro nové síťové protokoly, včetně SCTP a Sockets Direct Protocol
- Upstream aktualizace XML a Unicode
- Sady pravidel nasazení Java
Lambda (implementace lambda funkcí Java), Jigsaw (implementace modulů Java ) a část Coin byly odstraněny z Java 7 a vydány jako součást Java 8 (kromě Jigsaw , která byla vydána v Javě 9).
Java 7 byla výchozí verze ke stažení na java.com od dubna 2012 do vydání Java 8.
Aktualizace Java 7
Oracle vydával veřejné aktualizace pro rodinu Java 7 čtvrtletně až do dubna 2015, kdy produkt dosáhl konce své veřejné dostupnosti. Další aktualizace pro JDK 7, které mají podle plánu pokračovat až do července 2022, jsou k dispozici pouze zákazníkům se smlouvou o podpoře.
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 7 | 28. července 2011 | První vydání; HotSpot VM 21 |
Aktualizace Java SE 7 1 | 18. 10. 2011 | 20 oprav zabezpečení, další opravy chyb |
Aktualizace Java SE 7 2 | 12. 12. 2011 | Žádné opravy zabezpečení; HotSpot VM 22; vylepšení spolehlivosti a výkonu; podpora pro Solaris 11 a Firefox 5 a novější; JavaFX je součástí Java SE JDK, vylepšení pro webové aplikace |
Aktualizace Java SE 7 3 | 14. 2012 | 14 bezpečnostních oprav |
Aktualizace Java SE 7 4 | 26. dubna 2012 | Žádné bezpečnostní aktualizace; HotSpot VM 23; Podpora JDK pro Mac OS X |
Aktualizace Java SE 7 5 | 2012-06-12 | 14 bezpečnostních oprav |
Aktualizace Java SE 7 6 | 14. 08. 2012 | JavaFX a Java Access Bridge součástí instalace Java SE JDK a JRE, podpora JavaFX pro dotykové monitory a dotykové plošky, podpora JavaFX pro Linux , JDK a JRE podpora pro Mac OS X, JDK pro Linux na ARM |
Aktualizace Java SE 7 7 | 30. 08. 2012 | 4 opravy zabezpečení |
Aktualizace Java SE 7 9 | 16. 10. 2012 | 30 oprav zranitelnosti zabezpečení |
Aktualizace Java SE 7 10 | 11. 12. 2012 | Nové funkce zabezpečení, jako je například možnost zakázat spuštění jakékoli aplikace Java v prohlížeči a nová dialogová okna, která vás upozorní na nejisté prostředí JRE, a opravy chyb |
Aktualizace Java SE 7 11 | 2013-01-13 | Olson Data 2012i; oprava chyby pro problémy s registrací pluginu v systémech s nainstalovanou samostatnou verzí JavaFX, opravy zabezpečení pro CVE - 2013-0422 ; výchozí úroveň zabezpečení pro Java applety a webové spouštěcí aplikace byla zvýšena z „Medium“ na „High“ |
Aktualizace Java SE 7 13 | 01.02.2013 | 50 bezpečnostních oprav |
Aktualizace Java SE 7 15 | 19. 02. 2013 | 5 bezpečnostních oprav |
Aktualizace Java SE 7 17 | 2013-03-04 | 2 opravy zabezpečení |
Aktualizace Java SE 7 21 | 16. dubna 2013 | Několik změn včetně 42 oprav zabezpečení, nové serverové JRE, které neobsahuje modul plug-in, a JDK pro Linux v ARM |
Aktualizace Java SE 7 25 | 18. 06. 2013 | Několik změn včetně 40 oprav zabezpečení |
Aktualizace Java SE 7 40 | 10.09.2013 | 621 oprav chyb, nové bezpečnostní funkce, hardfloat ARM , Java Mission Control 5.2 a podpora Retina Display |
Aktualizace Java SE 7 45 | 15. 10. 2013 | 51 bezpečnostních oprav; ochrana před neoprávněnou redistribucí aplikací Java; obnovit bezpečnostní výzvy; Změny JAXP; TimeZone.set Výchozí změna |
Aktualizace Java SE 7 51 | 14. ledna 2014 | 36 bezpečnostních oprav; blokovat JAVA applety bez manifestu (jako vzdálená konzole - Java Applet - karta IBM IMM, karta HP iLO), i když je varovný dialog s větou „bude zablokováno v další verzi“, 17 oprav chyb |
Aktualizace Java SE 7 55 | 15. dubna 2014 | 37 oprav zabezpečení, 19 oprav chyb |
Aktualizace Java SE 7 60 | 28. 2014 | Java Mission Control 5.3, opravy chyb 130 |
Aktualizace Java SE 7 65 | 15. července 2014 | 18 oprav chyb |
Aktualizace Java SE 7 67 | 2014-08-04 | 1 oprava chyby |
Aktualizace Java SE 7 71 | 14. 10. 2014 | 16 oprav chyb |
Aktualizace Java SE 7 72 | 14. 10. 2014 | Stejné datum vydání s aktualizací 71 jako odpovídající aktualizace sady oprav (PSU) pro Java SE 7, 36 oprav chyb |
Aktualizace Java SE 7 75 | 2015-01-20 | 12 oprav chyb, SSLv3 ve výchozím nastavení zakázáno |
Aktualizace Java SE 7 76 | 2015-01-20 | Stejné datum vydání s aktualizací 75 jako odpovídající aktualizace sady oprav (PSU) pro opravy chyb Java SE 7, 97 |
Aktualizace Java SE 7 79 | 14. dubna 2015 | 21 oprav zabezpečení, 6 oprav chyb, |
Aktualizace Java SE 7 80 | 14. dubna 2015 | Poslední veřejné vydání Javy 7; stejné datum vydání s aktualizací 79 jako odpovídající aktualizace sady oprav (PSU) pro Java SE 7, 104 oprav chyb |
Aktualizace Java SE 7 85 | 15. července 2015 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 25 bezpečnostních oprav |
Aktualizace Java SE 7 91 | 2015-10-20 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 20 bezpečnostních oprav |
Aktualizace Java SE 7 95 | 19. 1. 2016 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 8 bezpečnostních oprav |
Aktualizace Java SE 7 97 | 2016-02-05 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 1 oprava zabezpečení |
Aktualizace Java SE 7 99 | 2016-03-23 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 1 oprava zabezpečení |
Aktualizace Java SE 7 101 | 18. dubna 2016 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 22 bezpečnostních oprav |
Aktualizace Java SE 7 111 | 19. července 2016 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 36 bezpečnostních oprav |
Aktualizace Java SE 7 121 | 18. 10. 2016 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 32 oprav zabezpečení |
Aktualizace Java SE 7 131 | 17. 1. 2017 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 34 bezpečnostních oprav |
Aktualizace Java SE 7 141 | 18. dubna 2017 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 8 bezpečnostních oprav |
Aktualizace Java SE 7 151 | 2017-07-18 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 4 opravy zabezpečení |
Aktualizace Java SE 7 161 | 2017-10-20 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 4 opravy zabezpečení |
Aktualizace Java SE 7 171 | 2018-01-16 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 51 bezpečnostních oprav |
Aktualizace Java SE 7 181 | 17. dubna 2018 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 12 bezpečnostních oprav |
Aktualizace Java SE 7 191 | 17. července 2018 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 9 oprav zabezpečení |
Aktualizace Java SE 7 201 | 18. 10. 2018 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 13 bezpečnostních oprav |
Aktualizace Java SE 7 211 | 15. 1. 2019 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 5 bezpečnostních oprav |
Aktualizace Java SE 7 221 | 16. 04. 2019 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 5 bezpečnostních oprav |
Aktualizace Java SE 7 231 | 16. července 2019 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 6 bezpečnostních oprav |
Aktualizace Java SE 7 241 | 15. 10. 2019 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 15 bezpečnostních oprav |
Aktualizace Java SE 7 251 | 14. 1. 2020 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 12 bezpečnostních oprav |
Aktualizace Java SE 7 261 | 14. dubna 2020 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 15 bezpečnostních oprav |
Aktualizace Java SE 7 271 | 14. července 2020 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 11 bezpečnostních oprav |
Aktualizace Java SE 7 281 | 2020-10-20 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 8 bezpečnostních oprav |
Aktualizace Java SE 7 291 | 2021-01-19 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 1 opravy zabezpečení |
Aktualizace Java SE 7 301 | 2021-04-12 | Není veřejně dostupné, je k dispozici pouze prostřednictvím programu podpory Java SE a v doporučeném klastru sad patchů Solaris 10; 11 bezpečnostních oprav |
Java SE 8
Verze LTS | |
Vydáno | 18. března 2014 |
---|---|
Počet JEP | 8 |
Java 8 byla vydána 18. března 2014 a obsahovala některé funkce, které byly plánovány pro Java 7, ale později odloženy.
Práce na funkcích byla organizována ve smyslu návrhů vylepšení JDK (JEPs) .
- JSR 335, JEP 126: Podpora na úrovni jazyka pro výrazy lambda (oficiálně, výrazy lambda; neoficiálně, uzávěry ) v rámci projektu Lambda a výchozí metody (metody virtuálního rozšíření ), které umožňují přidávání metod do rozhraní bez narušení stávajících implementací. V komunitě Java probíhala debata o tom, zda přidat podporu pro výrazy lambda. Sun později prohlásil, že výrazy lambda budou zahrnuty v Javě, a požádal o vstup komunity k upřesnění této funkce. Podpora výrazů lambda také umožňuje operace funkčního stylu na proudech prvků, jako jsou transformace inspirované MapReduce ve sbírkách. Výchozí metody umožňují autorovi rozhraní API přidávat do rozhraní nové metody, aniž by pomocí něj porušoval starý kód. Ačkoli to nebyl jejich primární záměr, výchozí metody také umožňují vícenásobnou dědičnost chování (ale ne stav).
- JSR 223, JEP 174: Project Nashorn , běhový modul JavaScript, který vývojářům umožňuje vkládat kód JavaScript do aplikací
- JSR 308, JEP 104: Anotace k typům Java
- Aritmetika celých čísel bez znaménka
- JSR 337, JEP 120: Opakující se poznámky
- JSR 310, JEP 150: Datum a čas API
- JEP 178: Staticky propojené knihovny JNI
- JEP 153: Spuštění aplikací JavaFX (přímé spuštění JAR aplikací JavaFX)
- JEP 122: Odstraňte trvalou generaci
Java 8 není podporována v systému Windows XP, ale od verze 25 JDK 8 je stále možné ji nainstalovat a spustit v systému Windows XP. Předchozí aktualizace JDK 8 mohly být spuštěny pod XP stažením archivovaného souboru ve formátu zip a rozbalením pro spustitelný soubor. Poslední verze Javy 8, kterou lze spustit na XP, je aktualizace 251. Kompatibilita jejích komponent se ale na nepodporovaném operačním systému začíná brzy přerušovat stavět během vývoje aktualizací Java 8.
Od října 2014 byla Java 8 výchozí verzí pro stahování (a poté opět stahování nahrazující Java 9) z oficiálních webových stránek. „Oracle bude i nadále poskytovat veřejné aktualizace a automatické aktualizace Java SE 8, na neurčito pro osobní uživatele“.
Aktualizace Java 8
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 8 | 18. 2014 | První vydání |
Aktualizace Java SE 8 5 | 15. dubna 2014 | Použití atributu „ * “ v Caller-Allowable-Codebase atributu; 11 oprav chyb
|
Aktualizace Java SE 8 11 | 15. července 2014 | Java Analysis Tool (jdeps); Možnost ovládacího panelu Java deaktivovat sponzory; Atribut souboru JAR-vstupní bod; Vlastnost omezení zpracování JAXP - maxElementDepth; 18 oprav chyb zabezpečení, 15 oprav chyb |
Aktualizace Java SE 8 20 | 19. 08. 2014 | 669 oprav chyb, JMC 5.4, deduplikace řetězců (ve výchozím nastavení zakázáno) |
Aktualizace Java SE 8 25 | 14. 10. 2014 | 10 oprav chyb |
Aktualizace Java SE 8 31 | 19. 1. 2015 | 26 oprav chyb; SSLv3 (ve výchozím nastavení zakázáno) |
Aktualizace Java SE 8 40 | 2015-03-03 | Opravy 645 chyb, přidán pojem „tlak paměti“, který pomáhá určit, kolik paměti systému je stále k dispozici (nízký tlak = vysoký obsah paměti, vysoký tlak = nedostatek paměti) |
Aktualizace Java SE 8 45 | 14. dubna 2015 | 13 oprav chyb |
Aktualizace Java SE 8 51 | 14. července 2015 | Přidána podpora pro nativní sandbox na platformách Windows (ve výchozím nastavení zakázáno); také 25 oprav zabezpečení, 14 oprav chyb |
Aktualizace Java SE 8 60 | 18. 08. 2015 | Opravy chyb 480 |
Aktualizace Java SE 8 65 | 2015-10-20 | 25 oprav zabezpečení, 3 opravy chyb |
Aktualizace Java SE 8 66 | 16. 11. 2015 | 15 oprav chyb |
Aktualizace Java SE 8 71 | 19. 1. 2016 | 8 oprav zabezpečení, 5 oprav chyb |
Aktualizace Java SE 8 72 | 19. 1. 2016 | 8 oprav zabezpečení, 5 oprav chyb, několik vylepšení |
Aktualizace Java SE 8 73 | 2016-02-03 | 1 oprava zabezpečení |
Aktualizace Java SE 8 74 | 2016-02-03 | 1 oprava zabezpečení |
Aktualizace Java SE 8 77 | 2016-03-23 | 1 oprava zabezpečení |
Aktualizace Java SE 8 91 | 19. 04. 2016 | 9 oprav zabezpečení, 4 opravy chyb a vylepšení |
Aktualizace Java SE 8 92 | 19. 04. 2016 | Opravy zabezpečení a chyb od 8u91 plus 76 dalších oprav chyb; ExitOnOutOfMemoryError a CrashOnOutOfMemoryError vlajky byly zavedeny
|
Aktualizace Java SE 8 101 | 19. července 2016 | Opravy zabezpečení a chyb od 8u92 plus 9 dalších oprav chyb |
Aktualizace Java SE 8 102 | 19. července 2016 | Opravy zabezpečení a chyb od 8u101 plus 118 dalších oprav chyb |
Aktualizace Java SE 8 111 | 18. 10. 2016 | 7 oprav zabezpečení a 9 oprav chyb |
Aktualizace Java SE 8 112 | 18. 10. 2016 | Další funkce a 139 oprav chyb nad 8u111 |
Aktualizace Java SE 8 121 | 17. 1. 2017 | 3 další funkce, 5 změn a 11 oprav chyb nad 8u112. |
Aktualizace Java SE 8 131 | 18. dubna 2017 | 4 změny a 42 oprav chyb (2 pozoruhodné). |
Aktualizace Java SE 8 141 | 2017-07-18 | Další funkce, 3 změny a 12 oprav chyb. |
Aktualizace Java SE 8 144 | 2017-07-26 | 32 Opravy zabezpečení a opravy chyb z 8u141. |
Aktualizace Java SE 8 151 | 17. 10. 2017 | 22 oprav zabezpečení, 2 poznámky, 1 zrušení certifikátu, 1 nová funkce, 6 změn a 24 oprav chyb od 8u144. |
Aktualizace Java SE 8 152 | 17. 10. 2017 | Opravy zabezpečení, 1 nová funkce, 1 změna a 238 oprav chyb z 8u151 (1 pozoruhodná). |
Aktualizace Java SE 8 161 | 2018-01-16 | 21 oprav zabezpečení, 3 nové funkce, 9 změn a 1 oprava chyb od 8u152. |
Aktualizace Java SE 8 162 | 2018-01-16 | Opravy zabezpečení, 63 oprav chyb. |
Aktualizace Java SE 8 171 | 17. dubna 2018 | Opravy zabezpečení, opravy chyb. |
Aktualizace Java SE 8 172 | 17. dubna 2018 | Opravy zabezpečení, opravy chyb. |
Aktualizace Java SE 8 181 | 17. července 2018 | Opravy zabezpečení, opravy chyb. |
Aktualizace Java SE 8 191 | 16. 10. 2018 | Nové funkce, změny, opravy chyb, opravy zabezpečení. |
Aktualizace Java SE 8 192 | 16. 10. 2018 | Nové funkce, změny, opravy chyb. |
Aktualizace Java SE 8 201 | 15. 1. 2019 | Nové funkce, změny, opravy chyb. |
Aktualizace Java SE 8 202 | 15. 1. 2019 | Nové funkce, změny, opravy chyb. |
Aktualizace Java SE 8 211 | 16. 04. 2019 | Nové funkce, změny, opravy chyb. Aktualizace licence . |
Aktualizace Java SE 8 212 | 16. 04. 2019 | Nové funkce (např. 5 měnových symbolů, včetně bitcoinů a „New Japan Era Name Reiwa “), změny, opravy chyb. Aktualizace licence . |
Aktualizace Java SE 8 221 | 16. července 2019 | Nové funkce, změny, opravy chyb. |
Aktualizace Java SE 8 231 | 15. 10. 2019 | Nové funkce, změny, opravy chyb a 18 oprav zabezpečení. |
Aktualizace Java SE 8 241 | 14. 1. 2020 | Nové funkce, změny, opravy chyb. |
Aktualizace Java SE 8 251 | 14. dubna 2020 | Nové funkce, změny, opravy chyb. Poslední verze, která se ukázala být neoficiálně funkční na Windows XP. |
Aktualizace Java SE 8 261 | 14. července 2020 | Nové funkce, změny, opravy chyb. |
Aktualizace Java SE 8 271 | 2020-10-20 | Nové funkce, změny, opravy chyb. |
Aktualizace Java SE 8 281 | 2021-01-19 | Nové funkce, změny, opravy chyb. |
Aktualizace Java SE 8 291 | 2021-04-20 | Nové funkce, změny, opravy chyb. |
Aktualizace Java SE 8 301 | 2021-07-20 | Nové funkce, změny, opravy chyb. |
Java SE 9
Vydáno | 21. září 2017 |
---|---|
Počet JEP | 9 |
Java SE 9 byla zpřístupněna 21. září 2017 kvůli kontroverznímu přijetí aktuální implementace Project Jigsaw výkonným výborem Java, což vedlo společnost Oracle k vyřešení některých otevřených problémů a problémů ak upřesnění některých kritických technických otázek. V posledních dnech června 2017 vyjádřil Java Community Process téměř jednomyslný konsenzus ohledně navrhovaného schématu modulového systému.
- JSR 376: Modularizace JDK v rámci Project Jigsaw ( Java Platform Module System )
- JavaDB byl odstraněn z JDK
-
JEP 193: Variabilní kliky
: definujte standardní prostředky pro vyvolání ekvivalentů různých
java.util.concurrent.atomic
asun.misc.Unsafe
operací - JEP 213: Mince projektu Mince : Povolit @SafeVarargs na metodách soukromé instance; Povolit efektivně konečné proměnné použít jako prostředky v příkazu try-with-resources; Povolit diamant s anonymními třídami, pokud je typ argumentu odvozeného typu označitelný; Dokončete odstranění podtržítka, zahájeného v Javě SE 8, ze sady názvů legálních identifikátorů; Podpora soukromých metod v rozhraních
- JEP 222: jshell: Java Shell (Read-Eval-Print Loop) : JShell je rozhraní příkazového řádku REPL pro jazyk Java.
- JEP 254: Kompaktní struny
- JEP 263: HiDPI grafika: automatické změny velikosti a velikosti
-
JEP 266: Další aktualizace souběžnosti
: Obsahuje implementaci Reactive Streams v Javě , včetně nové
Flow
třídy, která obsahovala rozhraní dříve poskytovaná Reactive Streams - JEP 268: XML katalogy
- JEP 282: jlink: Java Linker : vytvořte nástroj, který dokáže sestavit a optimalizovat sadu modulů a jejich závislostí do vlastního běhu. Efektivně umožňuje vytvořit plně použitelný spustitelný soubor včetně JVM pro jeho spuštění
- JEP 295: Ahead-of-Time Compilation : Ahead-of-time compilation provided by GraalVM .
První kandidát na vydání Java 9 byl vydán 9. srpna 2017. První stabilní vydání Java 9 bylo 21. září 2017.
Dějiny
Na JavaOne 2011 společnost Oracle diskutovala o funkcích, které doufala vydat pro Java 9 v roce 2016. Java 9 by měla zahrnovat lepší podporu pro hromady více gigabajtů, lepší integraci nativního kódu, jiný výchozí smeták ( G1 , pro „kratší doby odezvy“) a self-tuning JVM. Na začátku roku 2016 bylo vydání Javy 9 odloženo na březen 2017 a později opět odloženo o další čtyři měsíce na červenec 2017.
Aktualizace Java 9
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 9 | 2017-09-21 | První vydání |
Java SE 9.0.1 | 17. 10. 2017 | Opravy zabezpečení z října 2017 a opravy kritických chyb |
Java SE 9.0.4 | 2018-01-16 | Konečné vydání pro JDK 9; Opravy zabezpečení z ledna 2018 a opravy kritických chyb |
Java SE 10
Vydáno | 20. března 2018 |
---|---|
Počet JEP | 12 |
OpenJDK 10 byl vydán 20. března 2018, přičemž bylo potvrzeno dvanáct nových funkcí. Mezi tyto funkce patřily:
- JEP 286: Vyvozování typu lokálně proměnných typů
- JEP 296: Konsolidace lesa JDK do jednoho úložiště
- JEP 304: Rozhraní Garbage-Collector
- JEP 307: Paralelní plný GC pro G1
- JEP 310: Sdílení dat třídy aplikací
- JEP 312: Místní podání rukou s vlákny
- JEP 313: Odstraňte nástroj pro generování nativních hlaviček (javah)
- JEP 314: Další jazyková označení Unicode
- JEP 316: Přidělení haldy na alternativních paměťových zařízeních
- JEP 317: Experimentální kompilátor JIT na bázi Javy
- JEP 319: Kořenové certifikáty
- JEP 322: Verze podle časového vydání
První z těchto odvození typu místní proměnné JEP 286 umožňuje použít var
klíčové slovo pro místní proměnné se skutečným typem vypočítaným kompilátorem. Můžeme tedy:
var list = new ArrayList<String>(); // infers ArrayList<String>
var stream = list.stream(); // infers Stream<String>
Aktualizace Java 10
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 10 | 2018-03-20 | První vydání |
Java SE 10.0.1 | 17. dubna 2018 | Opravy zabezpečení, 5 oprav chyb |
Java SE 10.0.2 | 17. července 2018 | Konečné vydání pro JDK 10. Opravy zabezpečení, 7 oprav chyb |
Java SE 11
Verze LTS | |
Vydáno | 25. září 2018 |
---|---|
Počet JEP | 17 |
JDK 11 byla vydána 25. září 2018 a verze je aktuálně otevřena pro opravy chyb. Nabízí LTS nebo dlouhodobou podporu. Java 11 mimo jiné obsahuje řadu nových funkcí, například:
- JEP 181: Nest-Based Access Control
- JEP 309: Dynamické konstanty souboru třídy
- JEP 315: Vylepšete vnitřní vlastnosti Aarch64
- JEP 318: Epsilon: No-Op Garbage Collector
- JEP 320: Odeberte moduly Java EE a CORBA
- JEP 321: Klient HTTP (standardní)
- JEP 323: Místně proměnná syntaxe pro parametry lambda
- JEP 324: Klíčová dohoda s Curve25519 a Curve448
- JEP 327: Unicode 10
- JEP 328: Letový zapisovač
- JEP 329: Kryptografické algoritmy ChaCha20 a Poly1305
- JEP 330: Spusťte programy jednoho zdrojového kódu
- JEP 331: Profil haldy s nízkou režií
- JEP 332: Zabezpečení transportní vrstvy (TLS) 1.3
- JEP 333: ZGC: Scalable Low-Latency Garbage Collector (Experimental)
- JEP 335: Zamítněte Nashorn JavaScript Engine
- JEP 336: Zastaralé nástroje Pack200 a API
Byla vynechána řada funkcí z předchozích verzí; zejména aplety Java a Java Web Start již nejsou k dispozici. Moduly JavaFX , Java EE a CORBA byly z JDK odstraněny.
Aktualizace Java 11
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 11 | 2018-09-25 | První vydání |
Java SE 11.0.1 | 16. 10. 2018 | Opravy zabezpečení a chyb |
Java SE 11.0.2 | 15. 1. 2019 | Opravy zabezpečení a chyb |
Java SE 11.0.3 | 16. 04. 2019 | Nové funkce, zabezpečení a opravy chyb |
Java SE 11.0.4 | 16. července 2019 | Nové funkce, zabezpečení a opravy chyb;
HotSpot Detekce operačního systému Windows správně identifikuje Windows Server 2019 |
Java SE 11.0.5 | 15. 10. 2019 | Nové funkce, zabezpečení a opravy chyb |
Java SE 11.0.6 | 14. 1. 2020 | Nové funkce, zabezpečení a opravy chyb |
Java SE 11.0.7 | 14. dubna 2020 | Nové funkce, zabezpečení a opravy chyb |
Java SE 11.0.8 | 14. července 2020 | Nové funkce, zabezpečení a opravy chyb |
Java SE 11.0.9 | 2020-10-20 | Nové funkce, zabezpečení a opravy chyb |
Java SE 11.0.10 | 2021-01-19 | Nové funkce, zabezpečení a opravy chyb |
Java SE 11.0.11 | 2021-04-20 | Nové funkce, zabezpečení a opravy chyb |
Java SE 11.0.12 | 2021-07-20 | Nové funkce, zabezpečení a opravy chyb |
Java SE 12
Vydáno | 19. března 2019 |
---|---|
Počet JEP | 8 |
Funkce náhledu | Vylepšené příkazy přepínače |
JDK 12 byl vydán 19. března 2019. Java 12 obsahuje mimo jiné řadu nových funkcí, například:
- JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
- JEP 230: Microbenchmark Suite
- JEP 325: Přepnout výrazy (Náhled)
- JEP 334: JVM Constants API
- JEP 340: Jeden port AArch64, ne dva
- JEP 341: Výchozí archivy CDS
- JEP 344: Abortable Mixed Collections for G1
- JEP 346: Okamžitě vrátit nepoužitou potvrzenou paměť z G1
Funkce náhledu Jep 325 rozšiřuje switch
příkaz, takže jej lze také použít jako výraz, a přidává novou formu označení případu, kde je výraz na pravé straně. Není potřeba žádné prohlášení o přestávce. Pro složité výrazy yield
lze použít příkaz. To se v Javě SE 14 stává standardem.
int ndays = switch(month) {
case JAN, MAR, MAY, JUL, AUG, OCT, DEC -> 31;
case APR, JUN, SEP, NOV -> 30;
case FEB -> {
if (year % 400 == 0) yield 29;
else if (year % 100 == 0) yield 28;
else if (year % 4 == 0) yield 29;
else yield 28; }
};
Aktualizace Java 12
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 12 | 19. 3. 2019 | První vydání |
Java SE 12.0.1 | 16. 04. 2019 | Opravy názvů a zabezpečení nové japonské éry |
Java SE 12.0.2 | 16. července 2019 | Odebrány některé certifikáty kořenové certifikační autority |
Java SE 13
Vydáno | 17. září 2019 |
---|---|
Počet JEP | 5 |
Funkce náhledu | Vylepšené příkazy přepínače , textové bloky |
JDK 13 byl vydán 17. září 2019. Java 13 obsahuje následující nové funkce a také „stovky menších vylepšení a tisíce oprav chyb“.
Textové bloky JEP 355 umožňují víceřádkové řetězcové literály:
String html = """
<HTML lang="en">
<body>
<p>Hello, world</p>
</body>
</html>
""";
Aktualizace Java 13
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 13 | 17. 09. 2019 | Vydání obecné dostupnosti |
Java SE 13.0.1 | 15. 10. 2019 | Opravy zabezpečení a chyb |
Java SE 13.0.2 | 14. 1. 2020 | Opravy zabezpečení a chyb |
Java SE 14
Vydáno | 17. března 2020 |
---|---|
Počet JEP | 16 |
Pozoruhodné vlastnosti | Užitečné NullPointerExceptions , vylepšené příkazy přepínače |
Pozoruhodné odstranění | Odeberte souběžný odpadkový koš Mark Sweep |
Funkce náhledu | Vyhledávání vzorů pro instanceof , záznamy , textových bloků |
Inkubační funkce | jpackager, přístup do cizí paměti |
JDK 14 byl vydán 17. března 2020. Java 14 obsahuje následující nové funkce a také „stovky menších vylepšení a tisíce oprav chyb“.
- JEP 305: Pattern Matching například of (Preview)
- JEP 343: Balicí nástroj (inkubátor)
- JEP 345: Přidělení paměti NUMA pro G1
- JEP 349: Streamování událostí JFR
- JEP 352: Non-volatile Mapped Byte Buffers
- JEP 358: Užitečné výjimky NullPointerException
- JEP 359: Záznamy (Náhled)
- JEP 361: Přepnout výrazy (standardní)
- JEP 362: Zastaralé porty Solaris a SPARC
- JEP 363: Odeberte sběratele odpadků souběžného označování (CMS)
- JEP 364: ZGC v systému macOS
- JEP 365: ZGC ve Windows
- JEP 366: Odmítněte kombinaci ParallelScavenge + SerialOld GC
- JEP 367: Odeberte nástroje Pack200 a API
- JEP 368: Textové bloky (druhý náhled)
- JEP 370: API pro přístup do cizí paměti (inkubátor)
JEP 305, například Pattern Matching, zjednodušuje běžný případ instanceof
testu, po kterém bezprostředně následuje obsazení a nahrazení
if (obj instanceof String) {
String s = (String) obj;
System.out.println( s.length() );
}
s
if (obj instanceof String s) {
System.out.println( s.length() );
}
Záznamy JEP 359 umožňují snadné vytváření jednoduchých neměnných tříd typu Tuple .
record Point(int x, int y) { }
Point p = new Point(3,4);
System.out.println( p.x() );
Aktualizace Java 14
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 14 | 17.03.2020 | Vydání obecné dostupnosti |
Java SE 14.0.1 | 14. dubna 2020 | Opravy zabezpečení a chyb |
Java SE 14.0.2 | 14. července 2020 | Opravy zabezpečení a chyb |
Java SE 15
Vydáno | 15. září 2020 |
---|---|
Počet JEP | 14 |
Pozoruhodné vlastnosti | Skryté třídy, ZGC ( popelář ), Shenandoah (popelář), textové bloky |
Pozoruhodné odstranění | JavaScript engine, porty Solaris a SPARC |
Funkce náhledu | Uzavřené třídy , vzorů z instanceof , záznamy |
Inkubační funkce | Přístup do cizí paměti |
JDK 15 byl vydán 15. září 2020. Java 15 přidává např. Podporu víceřádkových řetězcových literálů (aka Text Blocks). Popeláři Shenandoah a Z (posledně jmenovaní někdy zkráceně ZGC) jsou nyní připraveni k použití ve výrobě (tj. Již nejsou označeni jako experimentální). Podpora operačního systému Oracle Solaris (a procesorů SPARC) společnosti Oracle byla ukončena (i když je stále k dispozici např. V jazyce Java 11). Nashorn JavaScript Engine je odstraněn. Také odstranit některé kořenové certifikáty CA .
- JEP 339: Algoritmus digitálního podpisu Edwards-Curve (EdDSA)
- JEP 360: Sealed Classes (Preview)
- JEP 371: Skryté třídy
- JEP 372: Odeberte Nashorn JavaScript Engine
- JEP 373: Znovu implementujte rozhraní Legacy DatagramSocket API
- JEP 374: Deaktivujte a deaktivujte zkreslené zamykání
- JEP 375: Pattern Matching například (Druhý náhled)
- JEP 377: ZGC: Scalable Low-Latency Garbage Collector
- JEP 378: Textové bloky
- JEP 379: Shenandoah: Sběratel odpadků s nízkou pauzou
- JEP 381: Odstraňte porty Solaris a SPARC
- JEP 383: API pro přístup do cizí paměti (druhý inkubátor)
- JEP 384: Záznamy (druhý náhled)
- JEP 385: Odmítnutí aktivace RMI k odebrání
Uzavřené třídy JEP 360 přidávají zapečetěné třídy a rozhraní, která omezují, které další třídy nebo rozhraní je mohou rozšířit nebo implementovat. permits
Třídu nebo rozhraní mohou rozšířit pouze ty třídy uvedené v klauzuli.
package com.example.geometry;
public abstract sealed class Shape
permits Circle, Rectangle, Square {...}
Spolu se záznamy jsou uzavřené třídy algebraickými datovými typy , záznamy jsou produktovými typy a zapečetěné třídy jsou součtovými typy . Fungují dobře s dalšími novějšími funkcemi, jako jsou záznamy, výrazy přepínačů a párování vzorů pro instance-of. Všechny tvoří součást systému pro „párování vzorů v Javě“, který poprvé probrali Gavin Bierman a Brian Goetz v září 2018.
Aktualizace Java 15
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 15 | 15. 9. 2020 | Vydání obecné dostupnosti |
Java SE 15.0.1 | 2020-10-20 | Opravy zabezpečení a chyb |
Java SE 15.0.2 | 2021-01-19 | Opravy zabezpečení a chyb |
Java SE 16
Vydáno | 16. března 2021 |
---|---|
Počet JEP | 17 |
Pozoruhodné vlastnosti | Windows / AArch64 Port, jpackager, vzorů pro instanceof , záznamy |
Funkce náhledu | Utěsněné třídy |
Inkubační funkce | Cizí linker , přístup do cizí paměti |
JDK 16 byl vydán 16. března 2021. Java 16 odstraňuje možnosti kompilace Ahead-of-Time (a Graal JIT ). Samotná implementace Javy byla a stále je napsána v C ++ , zatímco od Javy 16 je povolen novější C ++ 14 (ale stále ne např. C ++ 17 nebo C ++ 20 ). Kód byl také přesunut na GitHub (zrušení systému řízení zdroje Mercurial ).
- JEP 338: Vector API (inkubátor)
- JEP 347: Povolit jazykové funkce C ++ 14
- JEP 357: Migrace z Mercurialu na Git
- JEP 369: Migrace na GitHub
- JEP 376: ZGC: Souběžné zpracování zásobníku vláken
- JEP 380: Kanálové zásuvky na doméně Unix
- JEP 386: Alpine Linux Port - zatím není stabilní
- JEP 387: Elastický metaspace
- JEP 388: Port Windows/AArch64
- JEP 389: Foreign Linker API (inkubátor)
- JEP 390: Varování pro třídy založené na hodnotách
- JEP 392: Balicí nástroj
- JEP 393: API pro přístup do cizí paměti (třetí inkubátor)
- JEP 394: Pattern Matching například
- JEP 395: Záznamy
- JEP 396: Ve výchozím nastavení silně zapouzdřuje interní JDK
- JEP 397: Sealed Classes (Druhý náhled)
Aktualizace Java 16
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 16 | 2021-03-16 | Vydání obecné dostupnosti |
Java SE 16.0.1 | 2021-04-20 | Aktualizace databáze časového pásma, opravy chyb a aktualizace zabezpečení |
Java SE 16.0.2 | 2021-07-20 | Opravy zabezpečení a chyb |
Java SE 17
Verze LTS | |
Vydáno | 14. září 2021 |
---|---|
Počet JEP | 14 |
Pozoruhodné vlastnosti | Port macOS /AArch64, uzavřené třídy |
Pozoruhodné odstranění | Kompilátor AOT , aktivace RMI |
Funkce náhledu | Přepnout shodu vzoru |
Inkubační funkce | Vector API, cizí funkce a paměť API |
JDK 17 je aktuální vydání dlouhodobé podpory (LTS) od září 2021. Java 17 je 2. vydání dlouhodobé podpory (LTS) od přechodu na novou kadenci 6měsíčního vydání (první z nich je Java 11).
- JEP 306: Restore Always-Strict Floating-Point Sémantika
- JEP 356: Vylepšené generátory pseudonáhodných čísel
- JEP 382: Nový kanál vykreslování macOS
- JEP 391: Port macOS/AArch64
- JEP 398: Odmítněte Applet API pro odebrání
- JEP 403: Silně zapouzdřené vnitřnosti JDK
- JEP 406: Pattern Matching for switch (Preview)
- JEP 407: Odebrat aktivaci RMI
- JEP 409: Utěsněné třídy
- JEP 410: Odeberte experimentální kompilátor AOT a JIT
- JEP 411: Odmítněte Security Manager pro odebrání
- JEP 412: Foreign Function & Memory API (inkubátor)
- JEP 414: Vector API (druhý inkubátor)
- JEP 415: Kontextově specifické deserializační filtry
Aktualizace Java 17
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Java SE 17 | 2021-09-14 | Vydání obecné dostupnosti: Dlouhodobá podpora |
Java SE 18
Vydáno | Března 2022 |
---|---|
Počet JEP | TBC |
Pozoruhodné vlastnosti | TBC |
Pozoruhodné odstranění | TBC |
Funkce náhledu | TBC |
Inkubační funkce | TBC |
JDK 18 je nyní v aktivním vývoji, má vyjít v březnu 2022, pokud budou pokračovat současné 6měsíční cykly vydání.
Aktualizace Java 18
Uvolnění | Datum vydání | Přednosti |
---|---|---|
Nejnovější sestavení | 2022-03-xx TBC | Předběžný přístup: Build 17 (2021-09-30) |
Funkce budoucnosti
- Projekt Valhalla : Typy hodnot , objekty bez identity, ale s efektivním rozložením paměti.
- Project Panama : Vylepšená interoperabilita s nativním kódem , umožňující zdrojovému kódu Java volat funkce a používat datové typy z jiných jazyků, a to způsobem, který je snazší a má lepší výkon než dnes.
- Project Loom : Virtuální vlákna , lehká alternativa naplánovaná v uživatelském režimu ke standardním vláknům spravovaným OS. Virtuální vlákna jsou namapována na vlákna OS ve vztahu mnoho k mnoha, na rozdíl od vztahu mnoho k jednomu z původní implementace zelených vláken v dřívějších verzích Javy.
Implementace
Oficiálně podporovanou platformou Java , nejprve vyvinutou ve společnosti Sun a nyní spravovanou společností Oracle, je Java SE . Vydání založené na projektu OpenJDK , bezplatném a open-source projektu s otevřeným vývojovým modelem . Existují však i jiné implementace Java - částečně kvůli rané historii Javy jako proprietárního softwaru . Naproti tomu některé implementace byly vytvořeny tak, aby nabízely určité výhody oproti standardní implementaci, často jako výsledek určité oblasti akademického nebo korporátního sponzorovaného výzkumu. Mnoho distribucí Linuxu zahrnuje sestavení OpenJDK prostřednictvím projektu IcedTea zahájeného společností Red Hat , který poskytuje přímočařejší prostředí pro vytváření a integraci .
Visual J ++ a Microsoft Java Virtual Machine byly vytvořeny jako nekompatibilní implementace. Po žalobě Sun v. Microsoft od ní Microsoft upustil a začal pracovat na platformě .NET . V roce 2021 začala společnost Microsoft distribuovat kompatibilní „Microsoft Build of OpenJDK“ pro Javu 11 a poté také pro Javu 17. Jejich sestavy podporují Windows, ale také Linux a macOS .
K dispozici jsou další proprietární implementace Java, například Azul 's Zing; Azul navíc nabízí certifikované open source OpenJDK buildy pod přezdívkou Zulu.
Před vydáním OpenJDK, zatímco implementace Sunu byla stále proprietární, byl vytvořen projekt GNU Classpath, který poskytuje bezplatnou a open-source implementaci platformy Java. Od vydání JDK 7, kdy se OpenJDK stala oficiální referenční implementací, původní motivace projektu GNU Classpath téměř úplně zmizela a jeho poslední vydání bylo v roce 2012.
Projekt Apache Harmony byl zahájen krátce před vydáním OpenJDK. Po prvotním vydání zdrojového kódu Sunu pokračoval projekt Harmony, který pracoval na zajištění implementace pod laxní licencí , na rozdíl od ochranné licence zvolené pro OpenJDK. Google později vyvinul Android a vydal jej pod laxní licencí. Android začlenil části projektu Harmony, doplněné o vlastní virtuální stroj Dalvik společnosti Google a ART . Apache Harmony byl od té doby v důchodu a Google změnil své komponenty Harmony na ekvivalentní od OpenJDK.
Jak Jikes, tak Jikes RVM jsou výzkumné projekty s otevřeným zdrojovým kódem, které vyvinula společnost IBM.
Existuje několik dalších implementací, které začaly jako proprietární software, ale nyní jsou open source. IBM původně vyvinula OpenJ9 jako proprietární J9, ale od té doby projekt relicencovala a darovala ho Eclipse Foundation . JRockit je proprietární implementace, kterou získala společnost Oracle a začlenila ji do následujících verzí OpenJDK.
Reference
externí odkazy
- Oficiální stahování Java SE
- Raná historie Javy
- Úplný seznam změn pro J2SE 1.3
- Úplný seznam změn pro J2SE 1.4
- Úplný seznam změn pro J2SE 5.0
- Úplný seznam změn pro Java SE 6
- Stránka pro vývoj Mustang pro Java SE 6
- Poznámky k verzi Java SE 7
- Verze podporované Sun Java a EOL
- Archiv stahování pro starší verzi Javy