Java version history: Difference between revisions

Content deleted Content added
Java SE 8 (LTS): Fixed typo
Tags: Mobile edit Mobile web edit Advanced mobile edit
m copy-edit
Line 2:
{{About|the Java programming language||History of Java (disambiguation){{!}}History of Java}}
 
The [[Java (programming language)|Java language]] has undergone several changes since [[Java Development Kit|JDK]]&nbsp;1.0 as well as numerous additions of [[class (computer science)|classes]] and packages to the standard [[library (computer science)|library]]. Since J2SE&nbsp;1.4, the evolution of the Java language has been governed by the [[Java Community Process]] (JCP), which uses ''Java Specification Requests'' (JSRs) to propose and specify additions and changes to the [[Java (software platform)|Java platform]]. The language is specified by the ''Java Language Specification'' (JLS); changes to the JLS are managed under [http://www.jcp.org/en/jsr/detail?id=901 JSR&nbsp;901]. In September 2017, Mark Reinhold, chief Architectarchitect of the Java Platform, proposed to change the release train to "one feature release every six months" rather than the then-current two-year schedule.<ref name="6monthsReinhold">{{cite web| title=Moving Java Forward Faster | last=Reinhold | first=Mark | url=https://mreinhold.org/blog/forward-faster | date=2017-09-06 | access-date=2017-09-16}}</ref><ref name="6monthsServerSide">{{cite web| title=Calling 'all aboard' on the six-month Java release train |publisher=theserverside.com | url=http://www.theserverside.com/news/450426185/Calling-all-aboard-on-the-six-month-Java-release-train | date=2017-09-12 | access-date=2017-09-16}}</ref> This proposal took effect for all following versions, and is still the current release schedule.
 
In addition to the language changes, other changes have been made to the [[Java Class Library]] over the years, which has grown from a few hundred classes in JDK&nbsp;1.0 to over three thousand in J2SE&nbsp;5. Entire new [[API]]s, such as [[Swing (Java)|Swing]] and [[Java2D]], have been introduced, and many of the original JDK&nbsp;1.0 classes and methods have been [[deprecation|deprecated]], and very few APIs have been removed (at least one, for threading, in Java 22<ref name="removed_API_in Java_22"/>). Some programs allow the conversion of Java programs from one version of the [[Java (software platform)|Java platform]] to an older one (for example Java&nbsp;5.0 backported to 1.4) (see [[Java backporting tools]]).
Line 136:
=== Versioning change ===
This version introduced a new versioning system for the Java language, although the old versioning system continued to be used for developer libraries:
{{QuoteBlockquote|text=Both version numbers "1.5.0" and "5.0" are used to identify this release of the Java 2 Platform Standard Edition. Version "5.0" is the product version, while "1.5.0" is the developer version. The number "5.0" is used to better reflect the level of maturity, stability, scalability and security of the J2SE.|source="Version 1.5.0 or 5.0?", Java release notes<ref>{{cite web |title=Version 1.5.0 or 5.0? |url=https://docs.oracle.com/javase/1.5.0/docs/relnotes/version-5.0.html |publisher=Oracle.com |access-date=April 18, 2016}}</ref>}}
 
This correspondence continued through later releases (Java 6 = JDK 1.6, Java 7 = JDK 1.7, and so on).
Line 1,737:
* {{Java JEP|376|ZGC: Concurrent Thread-Stack Processing}}
* {{Java JEP|380|Unix-Domain Socket Channels}}
* {{Java JEP|386|Alpine Linux Port}}{{snd}}&nbsp;— not yet stable
* {{Java JEP|387|Elastic Metaspace}}
* {{Java JEP|388|Windows/AArch64 Port}}
Line 2,474:
Both [[Jikes]] and [[Jikes RVM]] are open-source research projects that IBM developed.
 
Several other implementations exist that started as proprietary software, but are now open source. IBM initially developed [[OpenJ9]] as the proprietary J9,<ref>{{Cite web|url=https://developer.ibm.com/javasdk/downloads/|title=Downloads – Overview|date=July 18, 2016}}</ref> but has since relicensed the project and donated it to the [[Eclipse Foundation]]. [[JRockit]] is a proprietary implementation that was acquired by Oracle and incorporated into subsequent OpenJDK versions.
 
== References ==