跳转到内容

Java版本歷史:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Lnnocentius留言 | 贡献
添加{{expand}}标记到条目
Mantogogo留言 | 贡献
通过翻译页面“Java version history”创建
第1行: 第1行:
{{expand|time=2017-01-08T04:07:10+00:00}}
[[Java|Java語言]]自[[JDK]] 1.0以來經歷了多次更改,也大量在基本的[[程式庫]]中增加了[[类 (计算机科学)|類別]]和包裝。自J2SE 1.4開始,Java語言的演變受Java Community Process(JCP)的約束,JCP使用Java規範請求(Java Specification Requests,JSRs)來建議和指定對[[Java平台]]的添加和編修。Java語言由Java語言規範組織(Java Language Specification,JLS)指定,對JLS的更改由[[JSR 901]]負責管理。
[[Java|Java語言]]自[[JDK]] 1.0以來經歷了多次更改,也大量在基本的[[程式庫]]中增加了[[类 (计算机科学)|類別]]和包裝。自J2SE 1.4開始,Java語言的演變受Java Community Process(JCP)的約束,JCP使用Java規範請求(Java Specification Requests,JSRs)來建議和指定對[[Java平台]]的添加和編修。Java語言由Java語言規範組織(Java Language Specification,JLS)指定,對JLS的更改由[[JSR 901]]負責管理。


除了語言上變化,多年來對Java類別庫(JCL)進行了更加戲劇性的改變,從JDK 1.0中的幾百個類別增長到J2SE 5中的三千多個類別。全新的[[应用程序接口|API]],像是[[Swing (Java)|Swing]]和Java2D皆已經啟用,許多原來的JDK 1.0類別和方法卻已被拋棄使用。當然,仍然有一些程式可以將Java程式從新版本的Java平台轉換為較舊版本(例如Java 5.0降轉到1.4)(可參考Java backporting tools)。 
除了語言上變化,多年來對Java類別庫(JCL)進行了更加戲劇性的改變,從JDK 1.0中的幾百個類別增長到J2SE 5中的三千多個類別。全新的[[应用程序接口|API]],像是[[Swing (Java)|Swing]]和Java2D皆已經啟用,許多原來的JDK 1.0類別和方法卻已被拋棄使用。當然,仍然有一些程式可以將Java程式從新版本的Java平台轉換為較舊版本(例如Java 5.0降轉到1.4)(可參考Java backporting tools)。 


在Java 7發布之後,[[Oracle]]承諾回到以前每兩年發布一次的發布週期<ref name="oracle-curl">{{Cite news|url=http://www.theregister.co.uk/2012/03/07/oracle_java_9_10_roadmap/|title=Java won't curl up and die like Cobol, insists Oracle|last=Clarke|first=Gavin|date=2012-03-07|work=The Register}}</ref>然而,在2013年時,Oracle卻宣布他們將Java 8延遲一年,為了修復與Java安全漏洞<ref>{{Cite news|url=http://www.infoworld.com/d/application-development/java-8-release-delayed-until-next-year-216797|title=Java 8 release delayed until next year|last=Krill|first=Paul|date=2013-04-18|work=InfoWorld|accessdate=2013-05-06}}</ref>。 
在Java 7發布之後,Oracle承諾回到以前每兩年發布一次的發布週期。但是,在2013年時,Oracle卻宣布他們將Java 8延遲一年,為了修復與Java安全漏洞。 


Java 8是唯一公開支援的版本,而在舊版本的公開支援期間結束後,已經為Java 7和其它更早的版本發布了非公開的更新。
Java 8是唯一公開支援的版本,而在舊版本的公開支援期間結束後,已經為Java 7和其它更早的版本發布了非公開的更新。
{| class="wikitable" style="float: right; margin-left: 9px; margin-bottom: 10px;"
{| class="wikitable" style="float: right; margin-left: 9px; margin-bottom: 10px;" autocomplete="off"
! 版本
! 版本
! 年份
! 年份
第46行: 第45行:


== JDK 1.0 ==
== JDK 1.0 ==
第一個版本於1996年1月23日發布,叫做為Oak<ref name="pr10">Error in webarchive template: Check <code style="color:inherit; border:inherit; padding:inherit;">&#x7C;url=</code> value. 空的
第一個版本於1996年1月23日發布,叫做為Oak<ref name="pr10">{{Webarchive|url=https://web.archive.org/web/20070310235103/http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml|date=March 10, 2007|title=JAVASOFT SHIPS JAVA 1.0}}</ref>。而真正第一個穩定的版本 JDK 1.0.2,被稱作Java 1
[[Category:Webarchive模板错误]]</ref>。而真正第一個穩定的版本 JDK 1.0.2,被稱作Java 1。<ref name="JavaHistory">{{Cite book|url=http://www.oracle.com/technetwork/java/chapter1-159190.pdf|title=Mobile Information Device Profile for Java 2 Micro Edition: Developer's Guide|last=Ortiz|first=C. Enrique|last2=Giguère|first2=Éric|publisher=[[John Wiley & Sons]]|accessdate=May 30, 2012|year=2001|isbn=978-0471034650|format=PDF}}</ref>


== References ==
== JDK 1.1 ==
1997年2月19日發布的新增功能,主要包括:<ref name="pr11">[http://web.archive.org/web/20080210044125/http://www.sun.com/smi/Press/sunflash/1997-02/sunflash.970219.0001.xml Version 1.1 press release], Sun.</ref>
* [[AWT]]事件模型大規模重新編製
* 加入了內部類別
* [[JavaBeans]]
* [[Java数据库连接|JDBC]]
* [[Java远程方法调用|RMI]]
* 能夠支援自理的[[反射 (计算机科学)|反射]]能力,在運行時不可能有修改。
* 由Symantec為JavaSoft生產的[[即時編譯]]器,能夠在Microsoft Windows平台上運作。
* 支持 Internationalization 和 [[Unicode]] ,源自於Taligent<ref name="taligentau">[http://www.computerworld.co.nz/article/518735/taligent_prepares_internationalisation_technology_big_time/ Taligent prepares internationalisation technology for the big time]</ref>

== 參考文獻 ==
{{reflist|colwidth=30em}}
{{reflist|colwidth=30em}}
[[Category:軟體史]]
[[Category:軟體史]]

2017年1月8日 (日) 12:39的版本

Java語言JDK 1.0以來經歷了多次更改,也大量在基本的程式庫中增加了類別和包裝。自J2SE 1.4開始,Java語言的演變受Java Community Process(JCP)的約束,JCP使用Java規範請求(Java Specification Requests,JSRs)來建議和指定對Java平台的添加和編修。Java語言由Java語言規範組織(Java Language Specification,JLS)指定,對JLS的更改由JSR 901負責管理。

除了語言上變化,多年來對Java類別庫(JCL)進行了更加戲劇性的改變,從JDK 1.0中的幾百個類別增長到J2SE 5中的三千多個類別。全新的API,像是Swing和Java2D皆已經啟用,許多原來的JDK 1.0類別和方法卻已被拋棄使用。當然,仍然有一些程式可以將Java程式從新版本的Java平台轉換為較舊版本(例如Java 5.0降轉到1.4)(可參考Java backporting tools)。 

在Java 7發布之後,Oracle承諾回到以前每兩年發布一次的發布週期。但是,在2013年時,Oracle卻宣布他們將Java 8延遲一年,為了修復與Java安全漏洞。 

Java 8是唯一公開支援的版本,而在舊版本的公開支援期間結束後,已經為Java 7和其它更早的版本發布了非公開的更新。

版本 年份
JDK Beta 1994
JDK 1.0 1996
JDK 1.1 1997
J2SE 1.2 1998
J2SE 1.3 2000
J2SE 1.4 2002
J2SE 5.0 2005
Java SE 6 2006
Java SE 7 2011
Java SE 8 2014

JDK Alpha 和 Beta

第一個1995年發布的alpha和beta Java公開版本的APIABI非常不穩定。 支援Java Web瀏覽器被取名為WebRunner。

JDK 1.0

第一個版本於1996年1月23日發布,叫做為Oak[1]。而真正第一個穩定的版本 JDK 1.0.2,被稱作Java 1。

JDK 1.1

1997年2月19日發布的新增功能,主要包括:[2]

  • AWT事件模型大規模重新編製
  • 加入了內部類別
  • JavaBeans
  • JDBC
  • RMI
  • 能夠支援自理的反射能力,在運行時不可能有修改。
  • 由Symantec為JavaSoft生產的即時編譯器,能夠在Microsoft Windows平台上運作。
  • 支持 Internationalization 和 Unicode ,源自於Taligent[3]

參考文獻