Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類參考

Java 有用資源

Java - 歷史



Java 歷史

Java 程式語言最初由 Sun Microsystems 開發,由 James Gosling 發起,並於 1995 年作為 Sun Microsystems Java 平臺(Java 1.0 [J2SE])的核心元件釋出。即使是 Java 的命名歷史也非常有趣。它經歷了許多名稱。

Java 名稱歷史

GreenTalk

James Gosling 領導著一個名為“Green”的團隊。該團隊的目標是建立一個新的專案。最初,C++ 是開發該專案的最初選擇。James Gosling 希望增強 C++ 以實現目標,但由於記憶體使用量過高,該想法被否決,團隊開始使用一種新的語言,最初命名為 GreenTalk。使用的副檔名為 .gt。後來,這種語言被稱為 Oak,最終稱為 Java。

Oak

James Gosling 將語言重新命名為 Oak。他的辦公室前有一棵橡樹。James Gosling 使用 Oak 作為名稱,因為它代表團結,橡樹是美國、法國、羅馬尼亞等多個國家的國樹。但 Oak Technologies 已經將 Oak 作為商標,James 的團隊不得不為該語言想出一個其他的名稱。

最終確定 Java

團隊提出了多個名稱,如 DNA、Silk、Ruby 和 Java。Java 最終被團隊確定。James Gosling 基於一種濃縮咖啡豆的型別提出了 Java 這個名稱。爪哇島是印度尼西亞的一個島嶼,在那裡發現了被稱為爪哇咖啡的新咖啡。根據 James Gosling 的說法,Java 與 Silk 一樣是首選名稱之一。最終選擇了 Java,因為它非常獨特,體現了動態、革命性和趣味性。

Sun 於 1995 年釋出了第一個公開實現版本 Java 1.0。它承諾一次編寫,隨處執行 (WORA),在流行平臺上提供免費的執行時環境。

2006 年 11 月 13 日,Sun 在 GNU 通用公共許可證 (GPL) 的條款下,將大部分 Java 作為免費和開源軟體釋出。

2007 年 5 月 8 日,Sun 完成了這一過程,使所有 Java 的核心程式碼都成為免費和開源的,除了 Sun 未持有版權的一小部分程式碼。

Java Standard Edition 的最新版本是 Java SE 21。隨著 Java 的發展及其廣泛的流行,構建了多種配置以適應各種型別的平臺。例如:用於企業應用程式的 J2EE,用於移動應用程式的 J2ME。

Java 版本歷史

在近 30 年的時間裡,Java 經歷了許多小版本和大版本。以下是迄今為止 Java 版本的簡要說明。

序號 版本 日期 描述
1 JDK Beta 1995 初始草稿版本
2 JDK 1.0 1996 年 1 月 23 日 一個穩定的變體 JDK 1.0.2 被稱為 JDK 1
3 JDK 1.1 1997 年 2 月 19 日 此版本中添加了主要功能,如JavaBeansRMIJDBC內部類
4 JDK 1.2 1998 年 12 月 8 日 SwingJIT 編譯器、Java 模組、集合 被引入到 Java 中,並且此版本取得了巨大的成功。
5 JDK 1.3 2000 年 5 月 8 日 添加了 HotSpot JVM、JNDI、JPDA、JavaSound 和對合成代理類的支援。
6 JDK 1.4 2002 年 2 月 6 日 添加了 Image I/O API 以建立/讀取 JPEG/PNG 影像。整合的XML 解析器 和 XSLT 處理器 (JAXP) 以及 Preferences API 是其他重要的更新。
7 JDK 1.5 或 J2SE 5 2004 年 9 月 30 日 向語言添加了各種新特性,例如 foreach、var-args、泛型等。
8 JAVA SE 6 2006 年 12 月 11 日

1. 去掉了對 JRockit 的支援,並升級到 JAXB 2.0,添加了對 JSR 269 和 JDBC 4.0 的支援。
9 JAVA SE 7 2011年7月7日 為 JVM 添加了對動態語言的支援。其他增強功能包括 switch case 中的字串、壓縮的 64 位指標等。
10 JAVA SE 8 2014年3月18日 添加了對函數語言程式設計的支援。引入了Lambda 表示式預設方法、新的日期時間 API
11 JAVA SE 9 2017年9月21日 引入了可應用於 JVM 平臺的模組系統
12 JAVA SE 10 2018年3月20日 添加了 Unicode 語言標籤擴充套件。引入了根證書、執行緒本地握手、對在備用記憶體裝置上進行堆分配的支援等。
13 JAVA SE 11 2018年9月5日 添加了動態類檔案常量、Epsilon(一個無操作垃圾收集器)、Lambda 引數中的區域性變數支援、低開銷堆分析支援。
14 JAVA SE 12 2019年3月19日 添加了實驗性垃圾收集器 Shenandoah(一個低暫停時間垃圾收集器)、微基準測試套件、JVM 常量 API。
15 JAVA SE 13 2019年9月17日 添加了功能 - 文字塊(多行字串)、增強的執行緒本地握手。
16 JAVA SE 14 2020年3月17日 添加了功能 - 記錄,一種用於建模的新類型別,instanceof 的模式匹配,直觀的空指標異常處理
17 JAVA SE 15 2020年9月15日 添加了功能 - 密封類隱藏類、外部函式和記憶體 API(孵化器)。
18 JAVA SE 16 2021年3月16日 添加了預覽功能 - 記錄、switch 的模式匹配、Unix 域套接字通道(孵化器)等。
19 JAVA SE 17 2021年9月14日 添加了最終功能 - 密封類、instanceof 的模式匹配、預設情況下對 JDK 內部進行強封裝。新的 macOS 渲染管道等。
20 JAVA SE 18 2022年3月22日 添加了功能 - 預設使用 UTF-8、Java API 文件中的程式碼片段、向量 API(第三個孵化器)、外部函式、記憶體 API(第二個孵化器)等。
21 JAVA SE 19 2022年9月20日 添加了功能 - 記錄模式、向量 API(第四個孵化器)、結構化併發(孵化器)等。
22 JAVA SE 20 2023年3月21日 添加了功能 - 作用域值(孵化器)、記錄模式(第二個預覽)、switch 的模式匹配(第四個預覽)、外部函式和記憶體 API(第二個預覽)等。
22 JAVA SE 21 2023年9月19日 添加了功能 - 字串模板(預覽)、順序集合、分代 ZGC、記錄模式、switch 的模式匹配等。
23 Java SE 22 2024年3月19日 添加了功能 - G1 垃圾回收器的區域固定、外部函式和記憶體 API、多檔案原始碼程式支援、字串模板、向量 API(第七個孵化器)、未命名變數、模式、流收集器(第一個預覽)等。
24 Java SE 23 2024年9月17日 添加了功能 - 模式中的基本型別、類檔案 API、向量 API(第八個孵化器)、流收集器(第二個預覽)、ZDC、預設情況下使用分代模式等。
廣告