Java version history: Difference between revisions

Content deleted Content added
m copy-edit
Java SE 25 (LTS): add JEPs and add to infobox, add release date
 
(3 intermediate revisions by 2 users not shown)
Line 23:
The first version was released on January 23, 1996.<ref name="pr10">{{cite press release|url=http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml |title=JavaSoft ships Java 1.0 |access-date=2008-02-05 |url-status=dead |archive-url=https://web.archive.org/web/20070310235103/http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml |archive-date=March 10, 2007}}</ref><ref name=JavaHistory>{{cite book |last1=Ortiz |first1=C. Enrique |last2=Giguère |first2=Éric |title=Mobile Information Device Profile for Java 2 Micro Edition: Developer's Guide |year=2001 |publisher=[[John Wiley & Sons]] |isbn=978-0-471-03465-0 |url=https://archive.org/details/mobileinformatio0000orti |access-date=May 30, 2012 |url-access=registration }}</ref> The first stable version, JDK 1.0.2, is called Java&nbsp;1.<ref name=JavaHistory/>
{{-}}
 
It included:
 
* core language features (basic java types in java.lang, and utility classes in java.util)
* support for graphics ([[Abstract_Window_Toolkit|AWT]] framework)
* support for creating a [[Java applet]]
* libraries for [[Input/output|I/O]] and [[Computer_network|networking]]
 
== JDK 1.1 ==
Line 33 ⟶ 40:
* [[inner class]]es added to the language
* [[JavaBeans]]
* [[Java Database Connectivity]] (JDBC) and support for [[sql]]
* [[Java remote method invocation]] (RMI) and [[serialization]]
* [[Reflective programming|reflection]] which supported Introspection only, no modification at runtime was possible. (The ability to modify objects reflectively was added in J2SE 1.2, by introducing the {{Javadoc|module=java.base|package=java.lang.reflect|class=AccessibleObject|text=AccessibleObject}} class and its subclasses such as the {{Javadoc|module=java.base|package=java.lang.reflect|class=Field|text=Field}} class.)
Line 873 ⟶ 880:
|Java SE 8 Update 451<ref>{{Cite web |title=Java SE Development Kit 8, Update 451 Release Notes |url=https://www.oracle.com/java/technologies/javase/8u451-relnotes.html |website=oracle.com}}</ref>
|2025-04-15
|
|-
|Java SE 8 Update 461<ref>{{Cite web |title=Java SE Development Kit 8, Update 461 Release Notes |url=https://www.oracle.com/java/technologies/javase/8u461-relnotes.html |website=oracle.com}}</ref>
|2025-07-15
|
|-
Line 2,441 ⟶ 2,452:
| version name = Java SE 25
| lts = yes
| released = {{Start date and age|2025|9|16|df=y|br=yes|paren=yes}}
| jeps = 018
| features = {{Ubl|
* Module Import Declarations
* Flexible Constructor Bodies
}}
| removed = {{Ubl|
* 32-bit x86 Port
}}
| previews = {{Ubl |
* Primitive Types in Patterns, instanceof, and switch
* PEM Encodings of Cryptographic Objects
}}
| unreleased = yes
}}
 
{{As of|2024|December}}, theThe specification for Java 25 haswas notfinalized yetin beenJuly finalized.2025, Javawith 2518 isJEPs scheduledmaking forit releaseinto inthe September 2025release.<ref>{{Cite web |title=Java SE 25 Platform JSR 400 |url=https://openjdk.org/projects/jdk/25/spec/ |access-date=2024-12-15 |website=openjdk.org}}</ref> Java 25 is scheduled for release on September 16, 2025.<ref>{{Cite web |title=JDK 25 |url=https://openjdk.org/projects/jdk/25/ |access-date=2025-07-21 |website=openjdk.org}}</ref>
 
# {{Java JEP|470|PEM Encodings of Cryptographic Objects (Preview)}}
# {{Java JEP|502|Stable Values (Preview)}}
# {{Java JEP|503|Remove the 32-bit x86 Port}}
# {{Java JEP|505|Structured Concurrency (Fifth Preview)}}
# {{Java JEP|506|Scoped Values}}
# {{Java JEP|507|Primitive Types in Patterns, instanceof, and switch (Third Preview)}}
# {{Java JEP|508|Vector API (Tenth Incubator)}}
# {{Java JEP|509|JFR CPU-Time Profiling (Experimental)}}
# {{Java JEP|510|Key Derivation Function API}}
# {{Java JEP|511|Module Import Declarations}}
# {{Java JEP|512|Compact Source Files and Instance Main Methods}}
# {{Java JEP|513|Flexible Constructor Bodies}}
# {{Java JEP|514|Ahead-of-Time Command-Line Ergonomics}}
# {{Java JEP|515|Ahead-of-Time Method Profiling}}
# {{Java JEP|518|JFR Cooperative Sampling}}
# {{Java JEP|519|Compact Object Headers}}
# {{Java JEP|520|JFR Method Timing & Tracing}}
# {{Java JEP|521|Generational Shenandoah}}
 
{{Clear}}