Istoricul versiunilor Java SE

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 25 decembrie 2017; verificările necesită 37 de modificări .
Versiune Data de lansare Sfârșitul suportului gratuit Sfârșitul LTS
JDK Beta 1996 necunoscut necunoscut
JDK 1.0 ianuarie 1996
JDK 1.1 februarie 1997
J2SE 1.2 decembrie 1998
J2SE 1.3 mai 2000
J2SE 1.4 februarie 2002 octombrie 2008 februarie 2013
J2SE 5.0 septembrie 2004 noiembrie 2009 aprilie 2015
Java SE 6 decembrie 2006 aprilie 2013 decembrie 2018
Java SE 7 iulie 2011 aprilie 2015 iulie 2022
Java SE 8 (LTS) martie 2014
  • ianuarie 2019 (licență comercială Oracle)
  • Decembrie 2020 (Licență de utilizare personală Oracle)
  • Septembrie 2023 (pentru AdoptOpenJDK [1] )
martie 2025
Java SE 9

[2] [3] [4]

septembrie 2017 martie 2018 (OpenJDK)
Java SE 10 martie 2018 Septembrie 2018 (OpenJDK)
Java SE 11 (LTS) septembrie 2018 septembrie 2022 [1] septembrie 2026
Java SE 12 martie 2019 septembrie 2019
Java SE 13 septembrie 2019 martie 2020
Java SE 14 martie 2020 septembrie 2020
Java SE 15 septembrie 2020 martie 2021
Java SE 16 martie 2021 Septembrie 2021 (OpenJDK)
Java SE 17 (LTS) septembrie 2021 septembrie 2030

JDK 1.0 (23 ianuarie 1996)

Prima editie. Prima versiune stabilă a fost JDK 1.0.

JDK 1.1 (19 februarie 1997)

Cele mai semnificative completări:

J2SE 1.2 (8 decembrie 1998)

Nume de cod Locul de joacă .

Următoarea versiune de bază a Java a fost Java 2, care a simbolizat a doua generație. Prima versiune de Java 2 a primit numărul 1.2. Odată cu introducerea versiunii 2, SUN Microsystems a început să lanseze Java ca pachet J2SE (Java 2 Platform Standard Edition), iar numerele de versiune sunt acum specifice produsului respectiv.

Java 2 , sau Java 2.0, este o dezvoltare și o rafinare ulterioară a specificației limbajului Java original și standardului de platformă , care este acum denumit în mod obișnuit Java 1.0. În prezent, specificația platformei Java 2 continuă să fie intens dezvoltată și îmbogățită, completată cu noi funcții, în special datorită concurenței cu platforma .Net, care a adoptat o serie de caracteristici cheie din Java.

Principalele îmbunătățiri ale Java 2 față de Java 1.0 sunt:

J2SE 1.3 (8 mai 2000)

Nume de cod Kestrel .

J2SE 1.4 (6 februarie 2002)

Nume de cod Merlin .

J2SE 5.0 (30 septembrie 2004)

Nume de cod Tigru . Specificația Java 5 a fost lansată în septembrie 2004. În această versiune, dezvoltatorii au făcut o serie de completări fundamentale la limbaj:

Java SE 6 (11 decembrie 2006)

Nume de cod Mustang .

Java SE 7 (7 iulie 2011)

Java 7 (numit de cod Dolphin [5] ) este o actualizare majoră a Java. [6] . Procesul de dezvoltare a fost împărțit în 13 etape; ultima piatră de hotar a fost atinsă pe 18 februarie 2011 [7] [8] .

Caracteristici noi în Java 7 [9]

Funcția Lambda, proiectul Jigsaw și alte caracteristici ale proiectului Coin au fost depreciate în Java 7. Acestea vor fi amânate până la Java 8. [21]

Actualizări Java SE 7

Eliberare [22] data eliberarii Schimbări
Java SE 7

Actualizare 1

18 octombrie 2011 Această versiune conține:
  • remedieri de vulnerabilități de securitate
  • au remediat 6 erori
Java SE 7

Actualizare 2

12 decembrie 2011 Această versiune conține:
  • Noua JVM (Java HotSpot Virtual Machine, versiunea 22) care îmbunătățește fiabilitatea și performanța
  • Suport pentru Oracle Solaris 11
  • Suport pentru Firefox 5 și mai vechi
  • JavaFX este inclus cu Java SE
...
Java SE 7

Actualizare 80

14 aprilie 2015 Această versiune conține:
  • remedieri de vulnerabilități de securitate
  • S-au remediat 104 erori

Aceasta este ultima versiune publică lansată de Java SE 7

Java SE 8 (18 martie 2014)

Lansat 18 martie 2014 [23] .

Caracteristici noi în Java 8

Java 9

La JavaOne 2011, Oracle a discutat despre caracteristicile care ar putea fi lansate pentru Java 9 în 2016. 24] Java 9 trebuia să accepte un suport mai bun pentru heap-uri de mai mulți gigaocteți, o mai bună integrare a codului nativ , un colector de gunoi standard modificat (G1 cu „mai scurt retragere a timpului") [25] și auto-ajustare JVM. [26]

La începutul lui 2016, lansarea Java 9 a fost amânată până în martie 2017, [27] ulterior amânată înapoi în iulie 2017 [28] și ulterior amânată înapoi în septembrie 2017 [29] din cauza adoptării controversate a proiectului Jigsaw de către Comitetul executiv Java, [30] care a forțat Oracle să remedieze unele probleme de securitate și probleme tehnice critice. În ultimele zile ale lunii iunie 2017, Comitetul Executiv Java și-a exprimat acordul unanim pentru sistemul de module. [31]

Caracteristici adăugate în Java 9:

Prima versiune RC Java 9 a fost lansată pe 9 august 2017. [45] Prima lansare stabilă a fost pe 21 septembrie 2017 [46]

Actualizări Java 9

Eliberare data eliberarii Note
Java SE 9 [47] 21 septembrie 2017 Prima aparitie
Java SE 9.0.1 [48] 17 octombrie 2017 Corectarea a 12 erori, trecerea la un nou sistem de numerotare
Java SE 9.0.4 [49] 16 ianuarie 2018 Lansarea finală; corecții de securitate și remedieri de erori critice

Java 10

OpenJDK 10 a fost lansat pe 20 martie 2018 cu 12 funcții noi adăugate. Printre ei:

Actualizări Java 10

Eliberare Data de lansare Repere
Java SE 10 20 martie 2018 Prima aparitie
Java SE 10.0.1 17 aprilie 2018 Patch-uri de securitate și 5 erori remediate
Java SE 10.0.2 17 iulie 2018 Lansarea finală; corecții de securitate, 7 remedieri de erori

Java 11

OpenJDK 11 a fost lansat pe 25 septembrie 2018 cu 17 funcții noi adăugate. Printre ei:

Actualizări Java 11

Eliberare Data de lansare Repere
Java SE 11 28 iunie 2018 - 26 iulie 2018 Rampdown (în 2 faze)
Java SE 11.0.1 16 august 2018 Prima aparitie
Java SE 11.0.2 30 august 2018 Lansarea finală

Java 12

Java 13

Java 14

Java 15

Vezi și

Note

  1. 1 2 AdoptOpenJDK  . _ Preluat la 20 martie 2019. Arhivat din original la 3 februarie 2021.
  2. Shapiro, Alex . Oracle anunță Java SE 9 și Java EE 8  , Oracle Press Releases (  21 septembrie 2017). Arhivat din original pe 2 octombrie 2018. Preluat la 20 aprilie 2019.
  3. Oracle lansează Java SE 9 și Java EE 8 , OpenNET  (22 septembrie 2017). Arhivat din original pe 23 septembrie 2017. Preluat la 20 aprilie 2019.
  4. Note de lansare pentru  versiunile de actualizare JDK 9 și JDK 9 . Arhivat din original pe 20 aprilie 2019.
  5. JDK7 Arhivat pe 10 iunie 2007 la Wayback Machine , Sun.
  6. Flanagan, David The Open Road: Looking Ahead to Java 7 (8 septembrie 2007). Preluat la 9 martie 2008. Arhivat din original la 5 februarie 2012.
  7. JDK 7 la OpenJDK . Preluat la 9 iulie 2010. Arhivat din original la 8 ianuarie 2021.
  8. JDK 7 . Consultat la 9 iulie 2010. Arhivat din original la 30 octombrie 2020.
  9. Miller, Alex Java 7 . Data accesului: 30 mai 2008. Arhivat din original la 5 februarie 2012.
  10. Oops comprimat în Hotspot JVM (link descendent) . OpenJDK. Consultat la 16 aprilie 2010. Arhivat din original la 31 august 2009. 
  11. Project Coin . Microsisteme solare . Preluat la 30 martie 2009. Arhivat din original la 4 octombrie 2012.
  12. Darcy, Joseph D. Project Coin: Small Language Change Proposal Form Available (link indisponibil) (27 ianuarie 2009). Data accesului: 30 martie 2009. Arhivat din original la 30 ianuarie 2009. 
  13. Propunere: Strings in Switch . Consultat la 9 iulie 2010. Arhivat din original la 10 mai 2010.
  14. Propunere: Managementul automat al resurselor . Preluat la 9 iulie 2010. Arhivat din original la 10 iunie 2010.
  15. Propunere: Inferență de tip îmbunătățită pentru crearea de instanțe generice . Data accesului: 9 iulie 2010. Arhivat din original pe 29 iunie 2010.
  16. PROPUNERE: Invocarea metodei Varargs simplificate . Data accesului: 9 iulie 2010. Arhivat din original pe 29 iunie 2010.
  17. Darcy, Joseph D. Project Coin: The Final Five (Or So) (link indisponibil) . Consultat la 16 aprilie 2010. Arhivat din original la 1 septembrie 2009.  
  18. Concurență JSR-166 . Consultat la 16 aprilie 2010. Arhivat din original pe 26 iulie 2013.
  19. File I/O (Featuring NIO.2) (The Java™ Tutoriales > Essential Classes > Basic I/O) . Preluat la 9 iulie 2010. Arhivat din original la 1 martie 2009.
  20. Legacy File I/O Code (Tutorialele Java™ > Clase esențiale > I/O de bază) . Data accesului: 9 iulie 2010. Arhivat din original pe 2 iunie 2009.
  21. Re-thinking JDK 7 (downlink) (8 septembrie 2010). Consultat la 20 septembrie 2010. Arhivat din original pe 24 septembrie 2010. 
  22. Note de lansare a actualizării Java SE 7 . www.oracle.com. Preluat la 23 aprilie 2018. Arhivat din original la 23 aprilie 2018.
  23. Data lansării Java SE 9 .  (link indisponibil)
  24. Andy Patrizio. Marcați-vă calendarul: Java 9 are în sfârșit o  dată de lansare . Network World (7 mai 2015). Preluat: 12 noiembrie 2017.
  25. Uwe Schindler. Noul colector de gunoi din Java 9: ​​ce se schimbă? Ce rămâne?  (engleză) . jaxenter (26 iunie 2015). Consultat la 12 noiembrie 2017. Arhivat din original la 26 septembrie 2017.
  26. Eric Bruno. JavaOne: JavaFX 2, Java pe  iOS . Dr.Dobb's . Preluat: 12 noiembrie 2017.
  27. Euan Viveash . Data lansării Java 9 acum martie 2017  (engleză) , FileHippo  (5 ianuarie 2016). Arhivat din original pe 29 iulie 2017. Preluat la 12 noiembrie 2017.
  28. Simon Sharwood . Lansarea JDK 9 a amânat încă patru luni  , The Register (  14 septembrie 2016). Arhivat din original pe 9 mai 2017. Preluat la 12 noiembrie 2017.
  29. Christina Mercer . Java 9: ​​​​Data de lansare și funcții noi  , TechWorld (  26 septembrie 2017). Preluat la 12 noiembrie 2017.
  30. Paul Crill . Specificației de modularitate Java opuse de Red Hat, IBM este respinsă  , InfoWorld (  9 mai 2017). Preluat la 12 noiembrie 2017.
  31. Richard Chirgwin . Lansarea Java 9 din nou pe drumul cel bun, comunitatea votează „da”  , The Register (  2 iulie 2017). Arhivat din original pe 11 noiembrie 2017. Preluat la 12 noiembrie 2017.
  32. ↑ JSR 376 : JavaTM Platform Module System  . Procesul comunității Java . Consultat la 12 noiembrie 2017. Arhivat din original la 10 ianuarie 2018.
  33. Proiect  Jigsaw . Preluat la 12 noiembrie 2017. Arhivat din original la 09 ianuarie 2021.
  34. Mark Reinhold. Cerințe pentru modulul Java-Sistem - DRAFT 12  ( 19 aprilie 2011). Consultat la 12 noiembrie 2017. Arhivat din original la 23 septembrie 2013.
  35. Paul Crill . Proiectul Jigsaw amânat până la Java 9  , InfoWorld (  18 iulie 2012). Preluat la 12 noiembrie 2017.
  36. JEP 222: jshell: The Java Shell (Read-Eval-Print Loop  ) . Consultat la 12 noiembrie 2017. Arhivat din original pe 15 noiembrie 2017.
  37. Kulla  . _ Consultat la 12 noiembrie 2017. Arhivat din original la 28 ianuarie 2021.
  38. JEP 295: Ahead-of-Time  Compilation . Consultat la 12 noiembrie 2017. Arhivat din original la 7 februarie 2018.
  39. JEP 268:  Cataloage XML . Preluat la 12 noiembrie 2017. Arhivat din original la 1 decembrie 2020.
  40. 1 2 JEP 266: Mai multe  actualizări simultane . Preluat la 12 noiembrie 2017. Arhivat din original la 16 august 2020.
  41. Fluxuri reactive  . Consultat la 12 noiembrie 2017. Arhivat din original la 15 ianuarie 2016.
  42. Doug Lea. [concurrency-interest jdk9 Candidate classs Flow and SubmissionPublisher]  (engleză) (15 ianuarie 2015). Consultat la 12 noiembrie 2017. Arhivat din original la 20 ianuarie 2015.
  43. Abraham Marin Perez . Reactive Streams lansează prima versiune stabilă pentru JVM  , InfoQ (  1 ianuarie 2015). Arhivat din original pe 22 august 2017. Preluat la 12 noiembrie 2017.
  44. JEP 282: jlink: The Java  Linker . Consultat la 12 noiembrie 2017. Arhivat din original pe 3 noiembrie 2017.
  45. marca.reinhold. JDK 9: Candidat pentru prima lansare  ( 9 august 2017). Consultat la 12 noiembrie 2017. Arhivat din original la 12 noiembrie 2017.
  46. Christina Mercer . Java 9: ​​​​Data lansării și funcții noi  , TechWorld [ en  (26 septembrie 2017). Preluat la 12 noiembrie 2017.
  47. Note de lansare Java Development Kit 9 (21 septembrie 2017). Consultat la 12 noiembrie 2017. Arhivat din original la 14 noiembrie 2017.
  48. Note de lansare JDK 9.0.1 (17 octombrie 2017). Consultat la 12 noiembrie 2017. Arhivat din original pe 15 noiembrie 2017.
  49. Java™ SE Development Kit 9.0.4 Note de lansare . www.oracle.com. Preluat la 5 februarie 2019. Arhivat din original la 29 mai 2020.
  50. JEP 286: Local-Variable Type Inference . openjdk.java.net. Preluat la 26 februarie 2020. Arhivat din original la 18 noiembrie 2018.
  51. JEP 317: Compilator JIT experimental bazat pe Java . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 25 februarie 2020.
  52. JEP 310: Clasa de aplicație-Partajare de date . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 26 februarie 2020.
  53. JEP 322: Versiune de lansare în funcție de timp . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 26 februarie 2020.
  54. JEP 307: Parallel Full GC pentru G1 . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 26 februarie 2020.
  55. JEP 304: Interfața de colectare a gunoiului . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 26 februarie 2020.
  56. JEP 314: Extensii suplimentare de etichetă de limbă Unicode . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 26 februarie 2020.
  57. JEP 319: Certificate rădăcină . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 26 februarie 2020.
  58. JEP 312: Strângeri de mână Thread-Local . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 22 februarie 2020.
  59. JEP 316: Alocarea heap pe dispozitive de memorie alternative . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 26 februarie 2020.
  60. JEP 313: Eliminați instrumentul de generare a antetului nativ (javah) . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 26 februarie 2020.
  61. JEP 296: Consolidați pădurea JDK într-un singur depozit . openjdk.java.net. Consultat la 26 februarie 2020. Arhivat din original pe 26 februarie 2020.
  62. JEP 181: Controlul accesului bazat pe cuib . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 18 noiembrie 2018.
  63. JEP 309: Dynamic Class-File Constants . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 11 noiembrie 2020.
  64. JEP 315: Îmbunătățirea intrinsecilor Aarch64 . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 8 octombrie 2020.
  65. JEP 318: Epsilon: A No-Op Garbage Collector . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 18 noiembrie 2018.
  66. JEP 320: Eliminați modulele Java EE și CORBA . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 1 noiembrie 2020.
  67. JEP 321: Client HTTP (Standard) . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 24 noiembrie 2018.
  68. JEP 323: Sintaxa variabilă locală pentru parametrii Lambda . openjdk.java.net. Consultat la 17 octombrie 2020. Arhivat din original la 15 noiembrie 2018.
  69. JEP 324: Acord cheie cu Curve25519 și Curve448 . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 6 noiembrie 2020.
  70. JEP 327: Unicode 10 . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 18 noiembrie 2018.
  71. JEP 328: Flight Recorder . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 9 noiembrie 2020.
  72. JEP 329: Algoritmi criptografici ChaCha20 și Poly1305 . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 18 iulie 2020.
  73. JEP 330: Lansați programe cu cod sursă cu un singur fișier . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 9 noiembrie 2020.
  74. JEP 331: Profilarea grămadă la nivel scăzut . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 11 noiembrie 2020.
  75. JEP 332: Profilarea grămadă la nivel scăzut . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 18 noiembrie 2018.
  76. JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental) . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 18 noiembrie 2018.
  77. JEP 335: Deprecierea motorului JavaScript Nashorn . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 3 noiembrie 2020.
  78. JEP 336: Depreciați instrumentele și API-ul Pack200 . openjdk.java.net. Preluat la 17 octombrie 2020. Arhivat din original la 26 septembrie 2020.

Link -uri