Java 是 ぜ 一種廣泛使用的電腦程 ほど 式 しき 設計 せっけい 語 ご 言 げん ,擁 よう 有 ゆう 跨 またが 平台 ひらだい 、物件 ぶっけん 導 しるべ 向 むこう 、泛型程 ほど 式 しき 設計 せっけい 的 てき 特性 とくせい ,广泛应用于企业级Web应用开发和 わ 移 うつり 动应用 よう 开发。
任 にん 職 しょく 於昇 のぼり 陽 よう 電腦 でんのう 的 てき 詹姆斯·高 だか 斯林 等 とう 人 ひと 于1990年代 ねんだい 初 はつ 开发Java語 ご 言 げん 的 てき 雛形 ひながた ,最初 さいしょ 被 ひ 命名 めいめい 为Oak,目標 もくひょう 設定 せってい 在 ざい 家 いえ 用 よう 电器等 ひとし 小型 こがた 系統 けいとう 的 てき 程 ほど 式 しき 语言 ,應用 おうよう 在 ざい 电视机 つくえ 、电话 、闹钟 、烤面包 つつみ 机 つくえ 等 とう 家 いえ 用 よう 电器的 てき 控 ひかえ 制 せい 和 わ 通 どおり 訊。由 よし 于这些智能 ちのう 化 か 家 か 电的 いくわ 市 し 场需求 もとめ 没 ぼつ 有 ゆう 预期的 てき 高 だか ,昇 のぼり 陽 よう 電腦 でんのう 放 ひ 弃了该项计划。随 ずい 着 ぎ 1990年代 ねんだい 網 あみ 際 ぎわ 網 もう 路 ろ 的 てき 发展,昇 のぼり 陽 よう 電腦 でんのう 看 み 見 み Oak在 ざい 網 あみ 際 ぎわ 網 もう 路 ろ 上 うえ 应用的 てき 前景 ぜんけい ,于是改造 かいぞう 了 りょう Oak,於1995年 ねん 5月 がつ 以Java的 てき 名称 めいしょう 正式 せいしき 发布。Java伴 とも 随 ずい 着 ぎ 互联网的迅猛发展而发展 てん ,逐渐成 なり 为重要 じゅうよう 的 てき 网络编程语言。
Java编程语言的 てき 风格十 じゅう 分 ふん 接近 せっきん C++ 语言。继承了 りょう C++语言面 めん 向 こう 对象技 わざ 术的核心 かくしん ,舍 しゃ 弃了容易 ようい 引起错误的 てき 指標 しひょう ,以參照 さんしょう 取 と 代 だい ;移 うつり 除 じょ 了 りょう C++中 ちゅう 的 てき 运算符 ふ 重 じゅう 载 和 わ 多重 たじゅう 继承特性 とくせい ,用 よう 接 せっ 口 こう 取 と 代 だい ;增加 ぞうか 垃圾回收 かいしゅう 器 き 功 こう 能 のう 。在 ざい Java SE 1.5版 はん 本中 ほんなか 引入了 りょう 泛型编程 、类型安全 あんぜん 的 てき 枚 まい 举、不定 ふてい 长参数 すう 和 わ 自 じ 动装/拆箱特性 とくせい 。昇 のぼり 陽 よう 電腦 でんのう 对Java语言的 てき 解 かい 释是:「Java编程语言是 ぜ 个简单、面 めん 向 こう 对象、分布 ぶんぷ 式 しき 、解 かい 释性、健 けん 壮 たけし 、安全 あんぜん 、与 あずか 系 けい 统无关、可 か 移植 いしょく 、高性能 こうせいのう 、多 た 线程和 わ 动态的 てき 语言」。
Java不同 ふどう 於一般 いっぱん 的 てき 编译語 ご 言 げん 或 ある 直譯 ちょくやく 語 ご 言 げん 。它首先 さき 将 はた 源 みなもと 代 だい 码 编译成 なり 字 じ 节码 ,再 さい 依 よ 赖各种不同 どう 平台 ひらだい 上 うえ 的 てき 虚 きょ 拟机来 らい 解 かい 释执行 ぎょう 字 じ 节码,从而具有 ぐゆう “一 いち 次 じ 编写,到 いた 处运行 ぎょう ”的 てき 跨 またが 平台 ひらだい 特性 とくせい 。在 ざい 早期 そうき JVM 中 なか ,这在一定程度上降低了Java程 ほど 序 じょ 的 てき 运行效率 こうりつ 。但 ただし 在 ざい J2SE1.4.2发布后 きさき ,Java的 てき 執行 しっこう 速度 そくど 有 ゆう 了 りょう 大幅 おおはば 提 ひさげ 升 ます 。
与 あずか 传统型 がた 態 たい 不同 ふどう ,昇 のぼり 陽 よう 電腦 でんのう 在 ざい 推出Java時 じ 就将其作为开放的 てき 技 わざ 术。全 ぜん 球 たま 的 てき Java开发公司 こうし 被 ひ 要求 ようきゅう 所 しょ 设计的 てき Java软件必须兼 けん 容 よう 。“Java语言靠 もたれ 群 ぐん 体 からだ 的 てき 力量 りきりょう 而非公司 こうし 的 てき 力量 りきりょう ”是 ぜ 昇 のぼり 陽 よう 電腦 でんのう 的 てき 口 くち 号 ごう 之 の 一 いち ,并获得 とく 了 りょう 广大软件开发商 しょう 的 てき 认同。这与微 ほろ 软公司 こうし 所 しょ 倡导的 てき 注 ちゅう 重 じゅう 精 せい 英和 えいわ 封 ふう 闭式的 てき 模 も 式 しき 完全 かんぜん 不同 ふどう ,此外,微 ほろ 软公司 こうし 後來 こうらい 推出了 りょう 与 あずか 之 これ 竞争的 てき .NET平台 ひらだい 以及模 も 仿Java的 てき C# 语言。後來 こうらい 昇 のぼり 陽 よう 電腦 でんのう 被 ひ 甲 かぶと 骨 こつ 文 ぶん 公司 こうし 併購[ 14] ,Java也隨之 の 成 なり 為 ため 甲 かぶと 骨 こつ 文 ぶん 公司 こうし 的 てき 產品 さんぴん 。
目前 もくぜん ,行動 こうどう 作業 さぎょう 系統 けいとう Android 大 だい 部分 ぶぶん 的 てき 代 だい 碼採用 さいよう Java程 ほど 式 しき 設計 せっけい 語 ご 言 げん 編 へん 程 ほど 。
Java的 てき 发明人 じん 詹姆斯·高 だか 斯林
Duke,Java語 ご 言 げん 的 てき 吉祥 きっしょう 物 ぶつ
語 かたり 言 げん 最 さい 開始 かいし 只 ただ 是 これ 昇 のぼり 陽 よう 電腦 でんのう (Sun MicroSystems)公司 こうし 在 ざい 1990年 ねん 12月開始 かいし 研究 けんきゅう 的 てき 一 いち 個 こ 內部項目 こうもく 。昇 のぼり 陽 よう 電腦 でんのう 公司 こうし 的 てき 一 いち 個 こ 叫 さけべ 做帕特里 さと 克 かつ ·諾 だく 頓 とみ 的 てき 工程 こうてい 師 し 被 ひ 公司 こうし 自己 じこ 開發 かいはつ 的 てき C++ 和 わ C語 ご 言 げん 編 へん 譯 やく 器 き 搞得焦 こげ 頭 あたま 爛 ただれ 額 がく ,因 いん 為 ため 其中的 てき API 極 ごく 其難用 よう 。帕特里 さと 克 かつ 決定 けってい 改 あらため 用 よう NeXT ,同時 どうじ 他 た 也獲得 かくとく 了 りょう 研究 けんきゅう 公司 こうし 的 てき 一 いち 個 こ 叫 さけべ 做「Stealth計 けい 劃」 的 てき 項目 こうもく 的 てき 機會 きかい 。
「Stealth計 けい 劃」後來 こうらい 改名 かいめい 為 ため 「Green計 けい 劃 」,詹姆斯·高 だか 斯林 和 かず 麥 むぎ 克 かつ ·舍 しゃ 林 はやし 丹 まこと (Mike Sheridan)也加入 かにゅう 了 りょう 帕特里 さと 克 かつ 的 てき 工作 こうさく 小 しょう 組 ぐみ 。他 た 們和其他幾 いく 個 こ 工程 こうてい 師 し 一 いち 起 おこり 在 ざい 加 か 利 り 福 ぶく 尼 あま 亞 あ 州 しゅう 門 もん 羅 ら 帕克市 し 沙 すな 丘 おか 路 ろ 的 てき 一個小工作室裡面研究開發新技術,瞄準下 か 一 いち 代 だい 智能 ちのう 家電 かでん (如微 ほろ 波 なみ 爐 ろ )的 てき 程 ほど 序 じょ 設計 せっけい ,昇 のぼり 陽 よう 電腦 でんのう 預 あずか 料 りょう 未來 みらい 科技 かぎ 將 はた 在家 ざいけ 用 よう 電器 でんき 領域 りょういき 大 だい 顯 あらわ 身 み 手 しゅ 。團 だん 隊 たい 最初 さいしょ 考慮 こうりょ 使用 しよう C++語 かたり 言 ごと ,但 ただし 是 ぜ 很多成員 せいいん 包括 ほうかつ 昇 のぼり 陽 よう 電腦 でんのう 的 てき 首席 しゅせき 科學 かがく 家 か 比 ひ 爾 なんじ ·喬 たかし 伊 い ,發現 はつげん C++和 かず 可用 かよう 的 てき API在 ざい 某 ぼう 些方面 ほうめん 存在 そんざい 很大問題 もんだい 。
工作 こうさく 小 しょう 組 ぐみ 使用 しよう 的 てき 是 ぜ 嵌入 かんにゅう 式 しき 系統 けいとう ,可 か 以用的 てき 資源 しげん 極 ごく 其有限 げん 。很多成員 せいいん 發現 はつげん C++太 ふと 複雜 ふくざつ 以至很多開發 かいはつ 者 しゃ 經常 けいじょう 錯誤 さくご 使用 しよう 。他 た 們發現 はつげん C++缺 かけ 少 すくな 垃圾回收 かいしゅう 系統 けいとう ,還 かえ 有可 ゆか 移植 いしょく 的 てき 安全 あんぜん 性 せい 、分 ぶん 佈程序 じょ 設計 せっけい 、和 わ 多 た 執行 しっこう 緒 いとぐち 功 こう 能 のう 。最後 さいご ,他 た 們想要 よう 一種易於移植到各種設備上的平台。
根據 こんきょ 可用 かよう 的 てき 資金 しきん ,喬 たかし 伊 い 決定 けってい 開發 かいはつ 一 いち 種 しゅ 集 しゅう C語 ご 言 げん 和 わ Mesa語 ご 言 げん 大成 たいせい 的 てき 新語 しんご 言 ごと ,在 ざい 一 いち 份報告 ほうこく 上 じょう ,喬 たかし 伊 い 把 わ 它叫做「未來 みらい 」,他 た 提議 ていぎ 昇 のぼり 陽 よう 電腦 でんのう 的 てき 工程 こうてい 師 し 應 おう 該在C++的 てき 基礎 きそ 上 じょう ,開發 かいはつ 一 いち 種 しゅ 物件 ぶっけん 導 しるべ 向 むこう 的 てき 環境 かんきょう 。最初 さいしょ ,高 こう 斯林試 ためし 圖 ず 修 おさむ 改 あらため 和 わ 擴展C++的 てき 功 こう 能 のう ,他 た 自己 じこ 稱 しょう 這種新語 しんご 言 げん 為 ため C++ -- [來 らい 源 みなもと 請求 せいきゅう ] ,但 ただし 是 ぜ 後來 こうらい 他 た 放棄 ほうき 了 りょう 。他 た 將 しょう 要 よう 創造 そうぞう 出 で 一種全新的語言,被 ひ 他 た 命名 めいめい 為 ため 「Oak 」(橡 とち 樹 じゅ ),以他的 てき 辦公室外 しつがい 的 てき 橡 とち 樹 じゅ 命名 めいめい 。
就像很多開發 かいはつ 新 しん 技術 ぎじゅつ 的 てき 秘密 ひみつ 工程 こうてい 一 いち 樣 よう ,工作 こうさく 小 しょう 組 ぐみ 沒 ぼつ 日沒 にちぼつ 夜 よる 地 ち 工作 こうさく 到 いた 了 りょう 1993年 ねん 的 てき 夏 なつ 天 たかし ,他 た 們能夠演示 しめせ 新 しん 平台 ひらだい 的 てき 一 いち 部分 ぶぶん 了 りょう ,包括 ほうかつ Green操作 そうさ 系 けい 统 ,Oak的 てき 程 ほど 序 じょ 設計 せっけい 語 ご 言 げん ,類 るい 庫 こ 及其硬 かた 件 けん 。最初 さいしょ 的 てき 嘗試是 ぜ 面 めん 向 こう 一 いち 種類 しゅるい PDA 設備 せつび ,被 ひ 命名 めいめい 為 ため Star7 ,這種設備 せつび 有 ゆう 鮮豔的 てき 圖形 ずけい 界面 かいめん 和 わ 被 ひ 稱 しょう 為 ため 「Duke」的 てき 智能 ちのう 代理 だいり 來 らい 幫助用 よう 戶 ど 。1992年 ねん 12月3日 にち ,這台設備 せつび 進行 しんこう 了 りょう 展示 てんじ 。
同年 どうねん 11月 がつ ,Green計 けい 劃被轉化 てんか 成 なり 了 りょう 「FirstPerson有限 ゆうげん 公司 こうし 」,一個昇陽電腦的全資子公司,團 だん 隊 たい 也被重 おも 新 しん 安 やす 排 はい 到 いた 了 りょう 帕洛阿 おもね 爾 しか 托 たく 。FirstPerson團 だん 隊 たい 對 たい 建造 けんぞう 一種高度互動的設備感興趣,當 とう 時代 じだい 華 はな 納 おさむ 發 はつ 佈了一 いち 個 こ 關 せき 於電 でん 視 し 機 き 頂 いただき 盒的 てき 徵求 ちょうきゅう 提議 ていぎ 書 しょ 時 じ (Request for proposal),FirstPerson改變 かいへん 了 りょう 他 た 們的目標 もくひょう ,作為 さくい 對 たい 徵求 ちょうきゅう 意見 いけん 書 しょ 的 てき 響 ひびき 應 おう ,提出 ていしゅつ 了 りょう 一個機頂盒平台的提議。但 ただし 是 これ 有線 ゆうせん 電 でん 視 し 業界 ぎょうかい 覺 さとし 得 とく FirstPerson的 てき 平台 ひらだい 給 きゅう 予 よ 用 よう 戶 と 過多 かた 的 てき 控 ひかえ 制 せい 權 けん ,因 いん 此FirstPerson的 てき 投 とう 標 しるべ 敗 はい 給 きゅう 了 りょう SGI 。與 あずか 3DO公司 こうし 的 てき 另外一筆關於機頂盒的交易也沒有成功,由 よし 於他們的平台 ひらだい 不能 ふのう 在 ざい 電 でん 視 し 工業 こうぎょう 產 さん 生 せい 任 にん 何 なん 效 こう 益 えき ,公司 こうし 被 ひ 併回昇 のぼり 陽 よう 電腦 でんのう 。
由 よし 于商 しょう 标搜索 そうさく 显示Oak已 やめ 被 ひ 一家显示卡制造商注册。于是同年 どうねん ,Oak被 ひ 改名 かいめい 为Java 。当 とう 使用 しよう 十 じゅう 六进制编辑器打开由Java源 げん 代 だい 码编译出的 てき 二 に 进制文 ぶん 件 けん (.class文 ぶん 件 けん )的 てき 话,最前 さいぜん 面 めん 的 てき 32位 い 将 はた 显示为CA FE BA BE,即 そく 词组“CAFE BABE”(咖啡屋 や 宝 たから 贝)。
一 いち 套Java編輯 へんしゅう 器 き 軟體
J2SE 環境 かんきょう 與 あずか CDC的 てき 關連 かんれん
JVM的 てき 所在 しょざい 角 かく 色 しょく
JSPX 網 あみ 頁 ぺーじ 的 てき 概念 がいねん
1994年 ねん 6月 がつ ,在 ざい 同 どう 约翰·盖吉 、詹姆斯·高 だか 斯林 、比 ひ 尔·乔伊 、帕特里 さと 克 かつ ·诺顿 、韦恩·罗斯因 いん 和 わ 埃 ほこり 里 さと 克 かつ ·施 ほどこせ 密 みつ 特 とく 经历了 りょう 一场历时三天的头脑风暴 后 きさき ,团队决定再 さい 一次改变努力的目标,这次他 た 们决定 てい 将 しょう 该技术应用 よう 于万 まん 维网 。他 た 们认为随着 ぎ Mosaic 浏览器 き 的 てき 到来 とうらい ,因 いん 特 とく 网正在 ざい 向 こう 同 どう 样的高度 こうど 互动的 てき 远景演 えんじ 变,而这一远景正是他们在有线电视网中看到的。作 さく 为原型 がた ,帕特里 さと 克 かつ ·诺顿写 うつし 了 りょう 一个小型万维网浏览器,WebRunner,后 きさき 来 らい 改名 かいめい 为HotJava [ 15] 。
1994年 ねん 10月 がつ ,HotJava和 わ Java平台 ひらだい 为公司 こうし 高 だか 层进行 ぎょう 演 えんじ 示 しめせ 。1994年 ねん ,Java 1.0a版本 はんぽん 已 やめ 经可以提供 ていきょう 下 か 載 の ,但 ただし 是 ぜ Java和 わ HotJava浏览器 き 的 てき 第 だい 一次公开发布却是在1995年 ねん 3月 がつ 23日 にち SunWorld大会 たいかい 上 じょう 进行的 てき 。昇 のぼり 陽 よう 電腦 でんのう 的 てき 科学 かがく 指 ゆび 导约翰·盖吉宣告 せんこく Java技 わざ 术。这个发布是 ぜ 与 あずか 网景 公司 こうし 的 てき 执行副 ふく 总裁马克·安 やす 德森 とくのもり 的 てき 惊人发布一 いち 起 おこり 进行的 てき ,宣布 せんぷ 网景将 はた 在 ざい 其浏览器中 ちゅう 包含 ほうがん 对Java的 てき 支持 しじ 。1996年 ねん 1月 がつ ,昇 のぼり 陽 よう 電腦 でんのう 成立 せいりつ 了 りょう Java业务集 しゅう 团,专门开发Java技 わざ 术。
在 ざい 流行 りゅうこう 几年之 の 后 きさき ,Java在 ざい 浏览器 き 中 ちゅう 的 てき 地位 ちい 被 ひ 逐步侵 おかせ 蚀。它在简单交互 こうご 性 せい 动画方面 ほうめん 的 てき 用途 ようと 已 やめ 经完全 ぜん 被 ひ Adobe 公司 こうし 的 てき Flash 排 はい 挤,2005年 ねん Java倾向只 ただ 被 ひ 用 よう 于雅 まさ 虎 とら 游 ゆう 戏那 な 样的更 さら 为复杂的应用程 ほど 序 じょ 。Java同 どう 时遭受到来 とうらい 自 じ 微 ほろ 软的反 はん 对,他 た 们决定 てい 在 ざい 新 しん 版本 はんぽん 的 てき Internet Explorer 和 わ Windows 中 ちゅう 不 ふ 再 さい 附 ふ 带Java平台 ひらだい 。
与 あずか 此相反 あいはん ,在 ざい 万维网的服务器端和手持设备上,Java变得更 さら 加 か 流行 りゅうこう 。很多网站在 ざい 後端 こうたん 使用 しよう JSP 和 かず 其他的 てき Java技 わざ 术。
在 ざい 桌面系 けい 统上,独立 どくりつ 的 てき Java程 ほど 序 じょ 还是相 しょう 对少见。这是因 いん 为Java平台 ひらだい 的 てき 运行开销较大,而许多 おお 人的 じんてき 电脑上 じょう 没 ぼつ 有安 ありやす 装 そう Java,由 ゆかり 于网络带宽在以前 いぜん 较小,下 しも 载Java曾经是 ぜ 个耗时的事情 じじょう 。但 ただし 是 ぜ 随 ずい 着 ぎ 计算机 つくえ 计算能力 のうりょく 、网络带宽在 ざい 10年 ねん 中 ちゅう 取得 しゅとく 了 りょう 很大的 てき 进步,同 どう 时虚拟机和 わ 编译器 き 的 てき 质量得 え 到 いた 了 りょう 提 ひさげ 高 だか ,许多应用程 ほど 序 じょ 得 え 到 いた 了 りょう 广泛的 てき 使用 しよう ,包括 ほうかつ :
开源软件
商業 しょうぎょう 軟體
目前 もくぜん Java提供 ていきょう 以下 いか 三 さん 个版本 はんぽん :
2006年 ねん 昇 のぼり 陽 よう 電腦 でんのう 在 ざい JavaOne 公 おおやけ 佈Java 開放 かいほう 原始 げんし 碼項目 こうもく ,並 なみ 推出OpenJDK 计划[ 16] 。Java虛 きょ 擬 なずらえ 機 き 、Java編 へん 譯 やく 器 き 和 かず Java類 るい 庫 こ 以GNU通用 つうよう 公共 こうきょう 許可 きょか 證 しょう 公開 こうかい 。
1995年 ねん 5月 がつ 23日 にち ,Java语言诞生
1996年 ねん 1月 がつ ,第 だい 一 いち 个JDK -JDK1.0 诞生
1996年 ねん 4月 がつ ,10个最主要 しゅよう 的 てき 操作 そうさ 系 けい 统供 きょう 应商申 さる 明 あかり 将 はた 在 ざい 其产品 ひん 中 ちゅう 嵌入 かんにゅう JAVA技 わざ 术
1996年 ねん 9月 がつ ,约8.3万个网页应用了JAVA技 わざ 术来制作 せいさく
1997年 ねん 2月 がつ 18日 にち ,JDK1.1 发布
1997年 ねん 4月 がつ 2日 にち ,JavaOne会 かい 议召开,参与 さんよ 者 しゃ 逾一万 まん 人 にん ,创当时全球 だま 同 どう 类会议规模 も 之 の 纪录
1997年 ねん 9月 がつ ,JavaDeveloperConnection 社 しゃ 区 く 成 なる 员超过十 じゅう 万 まん
1998年 ねん 2月 がつ ,JDK1.1 被 ひ 下 した 载超过2,000,000 次 つぎ
1998年 ねん 12月8日 にち ,JAVA2 企 くわだて 业平台 だい J2EE发布
1999年 ねん 6月 がつ ,昇 のぼり 陽 よう 電腦 でんのう 发布Java的 てき 三 さん 个版本 はんぽん :标准版 ばん (J2SE )、企 くわだて 业版(J2EE )和 かず 微 ほろ 型 かた 版 ばん (J2ME )
2000年 ねん 5月 がつ 8日 にち ,JDK1.3 发布
2000年 ねん 5月 がつ 29日 にち ,JDK1.4 发布
2001年 ねん 6月 がつ 5日 にち ,NOKIA 宣布 せんぷ ,到 いた 2003年 ねん 将 はた 出 で 售1亿部支持 しじ Java的 てき 手 て 机 つくえ
2001年 ねん 9月 がつ 24日 にち ,J2EE1.3 发布
2002年 ねん 2月 がつ 26日 にち ,J2SE1.4 发布,自 じ 此Java的 てき 计算能力 のうりょく 有 ゆう 了 りょう 大幅 おおはば 提 ひさげ 升 ます
2004年 ねん 9月 がつ 30日 にち 18:00PM,J2SE1.5 发布,成 なり 为Java语言发展史上 しじょう 的 てき 又 また 一 いち 里程 りてい 碑 ひ 。为了表示 ひょうじ 该版本 はんぽん 的 てき 重要 じゅうよう 性 せい ,J2SE1.5 更 さら 名 めい 为Java SE 5.0
2005年 ねん 6月 がつ ,JavaOne大会 たいかい 召开,昇 のぼり 陽 よう 電腦 でんのう 公 こう 开Java SE 6。此时,Java的 てき 各 かく 种版本 ほん 已 やめ 经更名 めい ,以取消 とりけし 其中的 てき 数字 すうじ “2”:J2EE更 さら 名 めい 为Java EE,J2SE更 さら 名 めい 为Java SE,J2ME更 さら 名 めい 为Java ME
2006年 ねん 12月,昇 のぼり 陽 よう 電腦 でんのう 发布JRE6.0
2009年 ねん 12月,昇 のぼり 陽 よう 電腦 でんのう 发布Java EE 6
2010年 ねん 11月,由 ゆかり 於Oracle公司 こうし 對 たい 於Java社 しゃ 群 ぐん 的 てき 不 ふ 友 とも 善 ぜん ,因 いん 此Apache揚言 ようげん 將 はた 退出 たいしゅつ JCP[ 17]
2011年 ねん 7月 がつ 28日 にち ,Oracle公司 こうし 發 はつ 佈Java SE 7
2014年 ねん 3月 がつ 18日 にち ,Oracle公司 こうし 发布Java SE 8
2017年 ねん 9月 がつ 21日 にち ,Oracle公司 こうし 发布Java SE 9
2018年 ねん 3月 がつ 21日 にち ,Oracle公司 こうし 发布Java SE 10
2018年 ねん 9月 がつ 25日 にち ,Oracle公司 こうし 发布Java SE 11 (LTS)
2019年 ねん 3月 がつ ,Oracle公司 こうし 发布Java SE 12
2019年 ねん 9月 がつ ,Oracle公司 こうし 发布Java SE 13
2020年 ねん 3月 がつ ,Oracle公司 こうし 发布Java SE 14
2020年 ねん 9月 がつ ,Oracle公司 こうし 发布Java SE 15
2021年 ねん 3月 がつ ,Oracle公司 こうし 发布Java SE 16
2021年 ねん 9月 がつ ,Oracle公司 こうし 发布Java SE 17
2022年 ねん 3月 がつ ,Oracle公司 こうし 发布Java SE 18
2022年 ねん 9月 がつ ,Oracle公司 こうし 发布Java SE 19
2023年 ねん 3月 がつ ,Oracle公司 こうし 发布Java SE 20
2023年 ねん 9月 がつ ,Oracle公司 こうし 发布Java SE 21
Java之 の 所以 ゆえん 被 ひ 开发,是 ぜ 要 よう 达到以下 いか 五 ご 个目的 もくてき :
应当使用 しよう 面 めん 向 こう 对象程 ほど 序 じょ 设计方法 ほうほう 学 がく
应当允 まこと 许同一程序在不同的计算机平台执行
应当包括 ほうかつ 内 ない 建 けん 的 てき 对计算 さん 机 つくえ 网络的 てき 支持 しじ
应当被 ひ 设计成 なり 安全 あんぜん 地 ち 执行远端代 だい 码
应当易 えき 于使用 しよう ,并借鉴以前 ぜん 那 な 些面向 こう 对象语言(如C++)的 てき 长处。
Java技 わざ 术主要 しゅよう 分 ぶん 成 なり 几个部分 ぶぶん :Java语言、Java執行 しっこう 環境 かんきょう 、类库。一般情况下说Java时并不 ふ 区分 くぶん 指 ゆび 的 てき 是 ぜ 哪个部分 ぶぶん 。
Java在 ざい 1.5版本 はんぽん 時 じ ,做了重大 じゅうだい 改變 かいへん ,昇 のぼり 陽 よう 電腦 でんのう 並 なみ 1.5版本 はんぽん 重 おも 新 しん 命名 めいめい 為 ため Java 5.0 。
Java的 てき 特 とく 点 てん 之 の 一 いち 就是面 めん 向 こう 对象 ,是 ぜ 程 ほど 序 じょ 设计方法 ほうほう 的 てき 一 いち 种。“面 めん 向 こう 对象程 ほど 序 じょ 设计语言”的 てき 核心 かくしん 之 の 一 いち 就是开发者 しゃ 在 ざい 设计软件的 てき 时候可 か 以使用 しよう 自 じ 定 てい 义的类型和 わ 关联操作 そうさ 。代 だい 码和数 すう 据 すえ 的 てき 实际集合 しゅうごう 体 たい 叫 さけべ 做“对象”。一个对象可以想象成绑定了很多“行 くだり 为(代 だい 码)”和 かず “状 じょう 态(数 かず 据 すえ )”的 てき 物体 ぶったい 。对于数 すう 据 すえ 结构的 てき 改 あらため 变需要 よう 和代 かずよ 码进行 ぎょう 通信 つうしん 然 しか 后 きさき 操作 そうさ ,反 たん 之 の 亦 また 然 しか 。面 めん 向 こう 对象设计让大型 がた 软件工程 こうてい 的 てき 计划和 わ 设计变得更 さら 容易 ようい 管理 かんり ,能 のう 增强 ぞうきょう 工程 こうてい 的 てき 健康 けんこう 度 ど ,减少失 しつ 败工程 こうてい 的 てき 数量 すうりょう 。
跨 またが 平台 ひらだい 性 せい 是 ぜ Java主要 しゅよう 的 てき 特性 とくせい 之 の 一 いち ,跨 またが 平台 ひらだい 使 し 得用 とくよう Java语言编写的 てき 程 ほど 序 じょ 可 か 以在编译后 きさき 不用 ふよう 经过任 にん 何 なん 更改 こうかい ,就能在任 ざいにん 何 なに 硬 かた 件 けん 设备条件下 じょうけんか 运行。这个特性 とくせい 经常被 ひ 称 しょう 为“一 いち 次 じ 编译,到 いた 处运行 ぎょう ”。
执行Java应用程 ほど 式 しき 必须安 あん 装 そう Java 运行时环境 さかい (Java Runtime Environment,JRE ),JRE包括 ほうかつ Java虚 きょ 拟机 (Java Virtual Machine,JVM),以及Java平台 ひらだい 核心 かくしん 类和基 もと 础Java 平台 ひらだい 库。[ 18] 通 つう 过JVM才能 さいのう 在 ざい 电脑系 けい 统执行 ぎょう Java应用程 ほど 序 じょ (Java Application),这与.Net Framework 的 てき 情 じょう 况一样,所以 ゆえん 电脑上 じょう 没 ぼつ 有安 ありやす 装 そう JVM,那 な 么这些java程 ほど 序 じょ 将 はた 不能 ふのう 够执行 ぎょう 。
实现跨平台 ひらだい 性 せい 的 てき 方法 ほうほう 是 ぜ 大 だい 多数 たすう 编译器 き 在 ざい 进行Java语言程 ほど 序 じょ 的 てき 编码时候会 かい 生成 せいせい 一 いち 个用字 じ 节码写 うつし 成 なり 的 てき “半 はん 成 なり 品 ひん ”,这个“半 はん 成 なり 品 ひん ”会 かい 在 ざい Java虚 きょ 拟机(解 かい 释层)的 てき 帮助下 か 运行,虚 きょ 拟机会 かい 把 わ 它转换成当 とう 前 まえ 所 しょ 处硬件 けん 平台 ひらだい 的 てき 原始 げんし 代 だい 码。之 これ 后 きさき ,Java虚 きょ 拟机会 かい 打 だ 开标准 じゅん 库,进行数 すう 据 すえ (图片、线程和 わ 网络)的 てき 存 そん 取 と 工作 こうさく 。主要 しゅよう 注意 ちゅうい 的 てき 是 ぜ ,尽 つき 管 かん 已 やめ 经存在 そんざい 一个进行代码翻译的解释层,有 ゆう 些时候 こう Java的 てき 字 じ 节码代 だい 码还是 ぜ 会 かい 被 ひ JIT 编译器 き 进行二 に 次 じ 编译。
有 ゆう 些编译器,比 ひ 如GCJ ,可 か 以自动生成 せいせい 原始 げんし 代 だい 码而不 ふ 需要 じゅよう 解 かい 释层。但 ただし 是 ぜ 这些编译器 き 所 しょ 生成 せいせい 的 てき 代 だい 码只能 のう 应用于特定 とくてい 平台 ひらだい 。并且GCJ 目前 もくぜん 只 ただ 支持 しじ 部分 ぶぶん 的 てき Java API。
甲 かぶと 骨 こつ 文 ぶん 公司 こうし 对于Java的 てき 许可是 ぜ “全 ぜん 兼 けん 容 よう 的 てき ”,这也导致了 りょう 微 ほろ 软和昇 のぼり 陽 よう 電腦 でんのう 关于微 ほろ 软的程 ほど 序 じょ 不 ふ 支持 しじ RMI 和 わ JNI 接 せっ 口 こう 、并且增加 ぞうか 特性 とくせい 为己所用 しょよう 的 てき 法律 ほうりつ 争 そう 端 はし 。昇 のぼり 陽 よう 電腦 でんのう 最 さい 终赢得 とく 了 りょう 官 かん 司 し ,获得了 りょう 大 だい 约两千万美元的赔偿,法 ほう 院 いん 强制 きょうせい 要求 ようきゅう 微 ほろ 软执行 ぎょう 昇 のぼり 陽 よう 電腦 でんのう 关于Java的 てき 许可要求 ようきゅう 。作 さく 为回应,微 ほろ 软不 ふ 再 さい 在 ざい Windows 系 けい 统中捆绑Java,最新 さいしん 的 てき Windows版本 はんぽん ,Windows Vista 和 かず Internet Explorer 7.0版本 はんぽん 也不再 さい 提供 ていきょう 对于Java应用程 ほど 序 じょ 和 わ 控 ひかえ 件 けん 的 てき 支持 しじ 。但 ただし 是 ぜ 昇 のぼり 陽 よう 電腦 でんのう 和 わ 其他使用 しよう Java运行时系统的公司 こうし 在 ざい Windows操作 そうさ 系 けい 统下对用户提供 ていきょう 无偿的 てき 第 だい 三方插件和程序支持。
Java语言在 ざい 最 さい 开始应用的 てき 时候是 ぜ 没 ぼつ 有 ゆう 解 かい 释层的 てき ,所有 しょゆう 需要 じゅよう 编译的 てき 代 だい 码都直接 ちょくせつ 转换成 なり 机 つくえ 器 き 的 てき 原始 げんし 代 だい 码。这样做虽然 しか 使 つかい 程 ほど 序 じょ 获得了 りょう 最 さい 佳 けい 的 てき 性能 せいのう ,但 ただし 是 ぜ 导致程 ほど 序 じょ 异常臃肿。从JIT技 わざ 术 开始,Java的 てき 程 ほど 序 じょ 都 と 经过一次转换之后才变成机器码。很多老 ろう 牌 ぱい 的 てき 第 だい 三方虚拟机都使用一种叫做“动态编译 ”的 てき 技 わざ 术,也就是 ぜ 说虚拟机实时监测和 わ 分析 ぶんせき 程 ほど 序 じょ 的 てき 运行行 ぎょう 为,同 どう 时选择性地 ち 对程序 じょ 所 しょ 需要 じゅよう 的 てき 部分 ぶぶん 进行编译和 わ 优化。所有 しょゆう 这些技 わざ 术都改善 かいぜん 了 りょう 代 だい 码的运行速度 そくど ,但 ただし 是 これ 又 また 不 ふ 会 かい 让程序 じょ 的 てき 体 からだ 积变得失 とくしつ 常 つね 。
程 ほど 序 じょ 的 てき 轻便性 せい 事 ごと 实上是 ぜ 软件编写很难达到的 てき 一 いち 个目标,Java虽然成功 せいこう 地 ち 实现了 りょう “一 いち 次 じ 编译,到 いた 处运行 ぎょう ”,但 ただし 是 ぜ 由 よし 于平台 だい 和平 わへい 台 だい 之 の 间的差 さ 异,所 しょ 编写的 てき 程 ほど 序 じょ 在 ざい 转换代 だい 码的时候难免会 かい 出 で 现微小 びしょう 的 てき 、不可 ふか 察觉的 てき 错误和 わ 意外 いがい 。有 ゆう 些程序 じょ 员对此非常 ひじょう 头疼,他 た 们嘲笑 ちょうしょう Java的 てき 程 ほど 序 じょ 不 ふ 是 ぜ “一 いち 次 じ 编译,到 いた 处运行 ぎょう ”,而是“一 いち 次 じ 编译,到 いた 处调试”。以Java AWT為 ため 例 れい ,早期 そうき Java AWT內提供 ていきょう 的 てき 按鈕、文字 もじ 區 く 等 とう 均 ひとし 是 ぜ 以電腦 でんのう 系統 けいとう 所 しょ 預 あずか 設 しつらえ 的 てき 樣式 ようしき 而顯示 けんじ 。這令Java程 ほど 式 しき 在 ざい 有 ゆう 些沒有 ゆう 提供 ていきょう 圖案 ずあん 的 てき 電腦 でんのう 系統 けいとう 產 さん 生 せい 錯誤 さくご (在 ざい Microsoft Windows設 しつらえ 有 ゆう 視 し 窗 まど 管理 かんり 員 いん ,在 ざい 一 いち 些Linux distribution則 そく 沒 ぼつ 有 ゆう )。後來 こうらい 昇 のぼり 陽 よう 電腦 でんのう 針 はり 對 たい Java AWT一些問題而推出Java Swing。
平台 ひらだい 无关性 せい 让Java在 ざい 服 ふく 务器端 はし 软件领域非常 ひじょう 成功 せいこう 。很多服 ふく 务器端 はし 软件都 と 使用 しよう Java或 ある 相 あい 关技术建立 こんりゅう 。
自動 じどう 垃圾回收 かいしゅう (Garbage Collection)[ 编辑 ]
C++語 かたり 言 げん 被 ひ 用 よう 戶 ど 詬病的 てき 原因 げんいん 之 の 一 いち 是 ぜ 大 だい 多數 たすう C++編 へん 譯 やく 器 き 不 ふ 支持 しじ 垃圾收集 しゅうしゅう 機 き 制 せい 。通常 つうじょう 使用 しよう C++編 へん 程 ほど 的 てき 時候 じこう ,程 ほど 式 しき 設計 せっけい 師 し 於程式 しき 中 ちゅう 初 はつ 始 はじめ 化 か 對象 たいしょう 時 じ ,會 かい 在 ざい 主 あるじ 機 き 記憶 きおく 體 たい 堆 うずたか 疊 たたみ 上 うえ 分配 ぶんぱい 一塊記憶體與位址,當 とう 不 ふ 需要 じゅよう 此對象 たいしょう 時 じ ,進行 しんこう 解 かい 構或者 しゃ 刪除的 てき 時候 じこう 再 さい 釋放 しゃくほう 分配 ぶんぱい 的 てき 記憶 きおく 體位 たいい 址 し 。如果對象 たいしょう 是 ぜ 在 ざい 堆 うずたか 疊 たたみ 上 じょう 分配 ぶんぱい 的 てき ,而程序 じょ 員 いん 又 また 忘記進行 しんこう 刪除,那 な 麼就會 かい 造成 ぞうせい 記憶 きおく 體 たい 洩 も 漏 も (Memory Leak)。長 ちょう 此以往 いおう ,程 ほど 序 じょ 運行 うんこう 的 てき 時候 じこう 可能 かのう 會 かい 生成 せいせい 很多不 ふ 清 きよし 除 じょ 的 てき 垃圾,浪費 ろうひ 了 りょう 不 ふ 必要 ひつよう 的 てき 記憶 きおく 體 たい 空間 くうかん 。而且如果同 どう 一記憶體地址被刪除兩次的話,程 ほど 序 じょ 會 かい 變 へん 得 え 不 ふ 穩定,甚至崩潰 ほうかい 。因 よし 此有經驗 けいけん 的 てき C++程 ほど 序 じょ 員 いん 都會 とかい 在 ざい 刪除之 これ 後 ご 將 はた 指標 しひょう 重 じゅう 置 おけ 為 ため NULL,然 しか 後 ご 在 ざい 刪除之 の 前 ぜん 先 さき 判斷 はんだん 指標 しひょう 是 ぜ 否 ひ 為 ため NULL。
C++中也 ちゅうや 可 か 以使用 しよう 「智慧 ちえ 指標 しひょう 」(Smart Pointer)或 ある 者 もの 使用 しよう C++託 たく 管 かん 擴展 編 へん 譯 やく 器 き 的 てき 方法 ほうほう 來 らい 實現 じつげん 自動 じどう 化 か 記憶 きおく 體 たい 釋放 しゃくほう ,智慧 ちえ 指標 しひょう 可 か 以在標準 ひょうじゅん 類 るい 庫 こ 中 ちゅう 找到,而C++託 たく 管 かん 擴展被 ひ 微 ほろ 軟的Visual C++ 7.0及以上 じょう 版本 はんぽん 所 しょ 支持 しじ 。智慧 ちえ 指標 しひょう 的 てき 優 ゆう 點 てん 是 ぜ 不 ふ 需引入 にゅう 緩慢 かんまん 的 てき 垃圾收集 しゅうしゅう 機 き 制 せい ,而且可 か 以不考慮 こうりょ 線 せん 程 ほど 安全 あんぜん 的 てき 問題 もんだい ,但 ただし 是 ぜ 缺點 けってん 是 ぜ 如果不善 ふぜん 使用 しよう 智慧 ちえ 指標 しひょう 的 てき 話 ばなし ,性能 せいのう 有 ゆう 可能 かのう 不 ふ 如垃圾收集 しゅうしゅう 機 き 制 せい ,而且不斷 ふだん 地 ち 分配 ぶんぱい 和 わ 釋放 しゃくほう 記憶 きおく 體 たい 可能 かのう 造成 ぞうせい 記憶 きおく 體 たい 碎片 さいへん ,需要 じゅよう 手動 しゅどう 對 たい 堆 うずたか 進行 しんこう 壓縮 あっしゅく 。除 じょ 此之外 がい ,由 ゆかり 於智慧 ちえ 指標 しひょう 是 ぜ 一個基於模板的功能,所以 ゆえん 沒 ぼつ 有 ゆう 經驗 けいけん 的 てき 程 ほど 序 じょ 員 いん 在 ざい 需要 じゅよう 使用 しよう 多 た 態 たい 特性 とくせい 進行 しんこう 自動 じどう 清 きよし 理 り 時 じ 也可能 かのう 束 たば 手 しゅ 無策 むさく 。
Java語 ご 言 げん 則 そく 不同 ふどう ,上述 じょうじゅつ 的 てき 情況 じょうきょう 被 ひ 自動 じどう 垃圾收集 しゅうしゅう 功 こう 能 のう 自動 じどう 處理 しょり 。對象 たいしょう 的 てき 建立 こんりゅう 和 わ 放置 ほうち 都 と 是 ぜ 在 ざい 記憶 きおく 體 たい 堆 うずたか 疊 たたみ 上面 うわつら 進行 しんこう 的 てき 。當 とう 一個物件沒有任何引用的時候,Java的 てき 自動 じどう 垃圾收集 しゅうしゅう 機 き 制 せい 就發揮 はっき 作用 さよう ,自動 じどう 刪除這個物件 ぶっけん 所 しょ 佔用的 てき 空間 くうかん ,釋放 しゃくほう 記憶 きおく 體 たい 以避免 めん 記憶 きおく 體 たい 洩 も 漏 も 。
注意 ちゅうい 程 ほど 式 しき 設計 せっけい 師 し 不 ふ 需要 じゅよう 修 おさむ 改 あらため finalize方法 ほうほう ,自動 じどう 垃圾收集 しゅうしゅう 也會發生 はっせい 作用 さよう 。但 ただし 是 ぜ 記憶 きおく 體 たい 洩 も 漏 も 並 なみ 不 ふ 是 ぜ 就此避免了 りょう ,當 とう 程 ほど 序 じょ 員 いん 疏忽大 だい 意地 いじ 忘記解除 かいじょ 一個物件不應該有的引用時,記憶 きおく 體 たい 洩 も 漏 も 仍然不可避 ふかひ 免 めん 。
不同 ふどう 廠 しょう 商 しょう 、不同 ふどう 版本 はんぽん 的 てき JVM中 ちゅう 的 てき 記憶 きおく 體 たい 垃圾回收 かいしゅう 機 き 制 せい 並 なみ 不完全 ふかんぜん 一 いち 樣 よう ,通常 つうじょう 越 こし 新 しん 版本 はんぽん 的 てき 記憶 きおく 體 たい 回收 かいしゅう 機 き 制 せい 越 こし 快 かい ,IBM、BEA、昇 のぼり 陽 よう 電腦 でんのう 等 とう 等 とう 開發 かいはつ JVM的 てき 公司 こうし 都 と 曾宣稱 たたえ 過 か 自己 じこ 製造 せいぞう 出 で 了 りょう 世界 せかい 上 じょう 最 さい 快 かい 的 てき JVM,JVM性能 せいのう 的 てき 世界 せかい 紀 き 錄 ろく 也在不斷 ふだん 的 てき 被 ひ 打破 だは 並 なみ 提 ひさげ 高 だか 。
IBM有 ゆう 一 いち 篇 へん 有 ゆう 關 せき Java記憶 きおく 體 たい 回收 かいしゅう 機 き 制 せい 比 ひ 不 ふ 啟 けい 用 よう 垃圾收集 しゅうしゅう 機 き 制 せい 的 てき C++記憶 きおく 體 たい 處理 しょり 快 かい 數 すう 倍 ばい 的 てき 技術 ぎじゅつ 文章 ぶんしょう [ 19] ,而著名 めい 的 てき Java技術 ぎじゅつ 書籍 しょせき 《Java編 へん 程 ほど 思想 しそう 》(Thinking in Java )也有 やゆう 一段 いちだん 論述 ろんじゅつ Java記憶 きおく 體 たい 及性能 せいのう 達 たち 到 いた 甚至超過 ちょうか C++的 てき 章節 しょうせつ [ 20] 。
编写Java程 ほど 序 じょ 前 ぜん 应注意 ちゅうい 以下 いか 几点:
大小 だいしょう 写 うつし 敏感 びんかん :Java是 ぜ 大小 だいしょう 写 うつし 敏感 びんかん 的 てき ,这就意味 いみ 着 ぎ 标识符 ふ Hello
与 あずか hello
是 ぜ 不同 ふどう 的 てき 。
类名 :对于所有 しょゆう 的 てき 类来说,类名的 てき 首 くび 字母 じぼ 应该大 だい 写 うつし 。如果类名由 よし 若干 じゃっかん 单词组成,那 な 么每个单词的首 くび 字母 じぼ 应该大 だい 写 うつし ,例 れい 如MyFirstJavaClass
。
方法 ほうほう 名 めい :所有 しょゆう 的 てき 方法 ほうほう 名 めい 都 と 应该以小写字 しゃじ 母 はは 开头。如果方法 ほうほう 名 めい 含有 がんゆう 若干 じゃっかん 单词,则后面 めん 的 てき 每 まい 个单词首字母 じぼ 大 だい 写 うつし ,例 れい 如myFirstJavaMethod
。
源 みなもと 文 ぶん 件名 けんめい :源 みなもと 文 ぶん 件名 けんめい 必须和文 わぶん 件 けん 内 ない 名字 みょうじ 唯一 ゆいいつ 且公开(由 ゆかり public 关键词修饰)的 てき 类名相 しょう 同 どう 。当 とう 保存 ほぞん 文 ぶん 件 けん 的 てき 时候,你应该使用 しよう 该类名作 めいさく 为文件名 けんめい 保存 ほぞん (切 きり 记Java是 ぜ 大小 だいしょう 写 うつし 敏感 びんかん 的 てき ),文 ぶん 件名 けんめい 的 てき 后 きさき 缀为.java
。(如果文 ぶん 件名 けんめい 和 わ 类名不 ふ 相 あい 同 どう 则会导致编译错误)。
主 しゅ 方法 ほうほう 入口 いりくち :所有 しょゆう 的 てき Java程 ほど 序 じょ 由 よし public static void main(String[] args)
方法 ほうほう 开始执行。
下面 かめん 列 れつ 出 で 了 りょう Java关键字 じ 。这些关键字 じ 不能 ふのう 用 よう 于常 つね 量 りょう 、变量 、和 かず 任 つとむ 何 なに 标识符 ふ 的 てき 名称 めいしょう 。
类别
关键字 じ
说明
访问控 ひかえ 制 せい
private
私有 しゆう 的 てき
protected
受保护的
public
公共 こうきょう 的 てき
类、方法 ほうほう 和 わ 变量修 おさむ 饰符
abstract
声明 せいめい 抽象 ちゅうしょう
class
类
extends
扩充,继承
final
最 さい 终值,不可 ふか 改 あらため 变的
implements
实现(接 せっ 口 こう )
interface
接 せっ 口 こう
native
本地 ほんじ ,原生 げんせい 方法 ほうほう (非 ひ Java实现)
new
新 しん ,创建
static
静 せい 态
strictfp
严格,精 せい 准 じゅん
synchronized
线程,同 どう 步 ふ
transient
短 たん 暂
volatile
易 えき 失 しつ
程 ほど 序 じょ 控 ひかえ 制 せい 语句
break
跳 とべ 出 で 循环
case
定 てい 义一个值以供switch选择
continue
继续
default
默 だま 认
do
运行
else
否 いや 则
for
循环
if
如果
instanceof
实例
return
返 かえし 回 かい
switch
根 ね 据 すえ 值选择执行 ぎょう
while
循环
错误处理
assert
断言 だんげん 表 ひょう 达式是 ぜ 否 ひ 为真
catch
捕捉 ほそく 异常
finally
有 ゆう 没 ぼつ 有 ゆう 异常都 と 执行
throw
抛 ほう 出 で 一个异常对象
throws
声明 せいめい 一个异常可能被抛出
try
捕 と 获异常 つね
包 つつみ 相 しょう 关
import
引入
package
包 つつみ
基本 きほん 类型
boolean
布 ぬの 尔型
byte
字 じ 节型
char
字 じ 符 ふ 型 がた
double
双 そう 精度 せいど 浮点
float
单精度 せいど 浮点
int
整 せい 型 がた
long
长整型 がた
short
短 たん 整 せい 型 がた
null
空 そら
变量引用 いんよう
super
父 ちち 类,超 ちょう 类
this
本 ほん 类
void
无返回 かい 值
保留 ほりゅう 关键字 じ
goto
是 ぜ 关键字 じ ,但 ただし 不能 ふのう 使用 しよう
const
是 ぜ 关键字 じ ,但 ただし 不能 ふのう 使用 しよう
注 ちゅう 释
注 ちゅう 释的 てき 作用 さよう :标识程 ほど 序 じょ 是 ぜ 干 ひ 什么的 てき ,以及它是如何 いか 构建的 てき 。注 ちゅう 释帮助 すけ 程 ほど 序 じょ 员进行 ぎょう 相互 そうご 沟通以及理解 りかい 程 ほど 序 じょ 。注 ちゅう 释不是 ぜ 程 ほど 序 じょ 设计语言,所以 ゆえん 编译器 き 编译程 ほど 序 じょ 时忽略 りゃく 它们。
Java自 じ 带了创建接 せっ 口 こう 的 てき 类別,可 か 以这样使用 しよう :
public interface Deleteable {
void delete ();
}
这段代 だい 码的意思 いし 是 ぜ 任 にん 何 なん 实现(implement)Deleteable
接 せっ 口 こう 的 てき 类別都 と 必须实现delete()
方法 ほうほう 。每 まい 个类別 べつ 对这个方法的 ほうてき 实现可 か 以自行 ぎょう 定 じょう 制 せい 。由 よし 此概念 がいねん 可 か 以引出 で 很多种使用 しよう 方法 ほうほう ,下面 かめん 是 ぜ 一 いち 个类別 べつ 的 てき 例 れい 子 こ :
public class Fred implements Deleteable {
// 必須 ひっす 實 み 作 さく Deleteable介 かい 面 めん 中 ちゅう 的 てき delete方法 ほうほう
@Override
public void delete () {
// 實 み 作 さく 的 てき 程 ほど 式 しき 碼
}
// 這個類別 るいべつ 也可以包含其他 た 方法 ほうほう
public void doOtherStuff () {
}
}
在 ざい 另外一 いち 个类別 べつ 中 ちゅう ,可 か 以使用 しよう 这样的 てき 代 だい 码:
public void deleteAll ( Deleteable [] list ) {
for ( int i = 0 ; i < list . length ; i ++ ) {
list [ i ] . delete ();
}
}
因 いん 为队列 れつ 中 ちゅう 所有 しょゆう 的 てき 对象都 と 可 か 以使用 しよう delete()
方法 ほうほう 。Deleteable
队列中 ちゅう 包含 ほうがん Fred
对象的 てき 引用 いんよう ,而这个类別 べつ 和 わ 其他Deleteable
类別在 ざい 使用 しよう deleteAll()
方法 ほうほう 时候不 ふ 需要 じゅよう 进行任 にん 何 なん 改 あらため 变。
之 これ 所以 ゆえん 这样做就是 ぜ 为了在 ざい 接 せっ 口 こう 的 てき 执行和 わ 其代码之间进行 あるき 区 く 别。举例来 らい 说,一 いち 个名叫 さけべ Collection
的 てき 接 せっ 口 こう 可 か 以包含 ほうがん 任 にん 何 なん 对象所 しょ 需要 じゅよう 的 てき 引入、转换和 わ 存 そん 储数据 すえ 的 てき 方法 ほうほう ,其他的 てき 类都可 か 以使用 しよう 这个接 せっ 口 こう 。但 ただし 是 ぜ 这个接 せっ 口 こう 可 か 以是一个可重定义大小的队列、一 いち 个链表 或 ある 者 もの 是 ぜ 其他功 こう 能 のう 的 てき 集合 しゅうごう 。
这种特性 とくせい 其实是 ぜ 一种折中的办法。Java的 てき 设计者 しゃ 们不想 そう 让Java有 ゆう 多重 たじゅう 继承的 てき 特性 とくせい ,因 いん 为C++的 てき 多重 たじゅう 继承显示了 りょう 这种特性 とくせい 的 てき 困 こま 难。Java的 てき 接 せっ 口 こう 功 こう 能 のう 可 か 以提供 ていきょう 同 どう 样的功 こう 能 のう ,但 ただし 是 これ 又 また 不 ふ 会 かい 很复杂。
在 ざい Java语言中 ちゅう ,应用程 ほど 序 じょ 接 せっ 口 こう (API)化身 けしん 成 なり 类,并且分 ぶん 组成为包。每 まい 个包中 ちゅう 包 つつみ 含有 がんゆう 相 しょう 关的接 せっ 口和 くちわ 类。对于不同 ふどう 的 てき 平台 ひらだい ,Java提供 ていきょう 了 りょう 不同 ふどう 版本 はんぽん 的 てき 包 つつみ 。API的 てき 设定由 ゆかり 昇 のぼり 陽 よう 電腦 でんのう 和 わ 其他公司 こうし 通 どおり 过JCP (Java社 しゃ 群 ぐん 程 ほど 序 じょ )决定。任 にん 何 なん 公司 こうし 和 わ 个人都 と 可 か 以参与 さんよ 这个工程 こうてい ,对API进行设计。2004年 ねん ,IBM 和 わ BEA 公司 こうし 准 じゅん 备联合 あい 对官方 かた 的 てき Java开源软件工程 こうてい 进行支持 しじ ,但 ただし 是 ぜ 2005年初 ねんしょ ,昇 のぼり 陽 よう 電腦 でんのう 拒 こばめ 绝了这个支持 しじ 。
下面 かめん 这个程 ほど 序 じょ 显示“Hello world!”然 しか 后 きさき 结束运行,注意 ちゅうい java.lang
套件是 ぜ 自動 じどう 載 の 入 いれ 的 てき ,所以 ゆえん 不 ふ 需要 じゅよう 在 ざい 程 ほど 式 しき 之 の 前 ぜん 加入 かにゅう import java.lang.*;
class HelloWorld {
public static void main ( String [] args ) {
System . out . println ( "hello, world!" );
}
}
JavaOne研 けん 討會發言 はつげん 紀 き 念 ねん 戒指,側面 そくめん 刻 こく 有 ゆう 昇 のぼり 陽 よう 字 じ 樣 さま
Java試 ためし 圖 ず 通過 つうか 新 しん 的 てき 方式 ほうしき 解決 かいけつ 軟體編 へん 寫 うつし 的 てき 複雜 ふくざつ 性 せい 。很多人 じん 認 みとめ 為 ため Java語 ご 言 げん 做到了 りょう 它承諾 しょうだく 的 てき 一切 いっさい ,然 しか 而,某 ぼう 些情况下,Java会 かい 将 はた 简单问题导向复杂化 か 。尽 つき 管 かん Java並 なみ 不 ふ 是 ぜ 一門 いちもん 完 かん 美的 びてき 語 ご 言 げん ,但 ただし 它的出 で 现确实给大 だい 规模软件协同开发提供 ていきょう 了 りょう 新 しん 的 てき 思 おもえ 路 ろ 。
並 なみ 不 ふ 是 ぜ 所有 しょゆう 的 てき 工程 こうてい 和 わ 環境 かんきょう 需要 じゅよう 企業 きぎょう 等級 とうきゅう 的 てき 複雜 ふくざつ 性 せい ,比 ひ 如一個簡單的個人網站或者獨自編程的程式師所寫的程式。這些程 ほど 式 しき 師 し 會 かい 發現 はつげん Java的 てき 複雜 ふくざつ 管理 かんり 對 たい 於自己 じこ 要 よう 做的程 ほど 式 しき 來 らい 說 せつ 過 か 於強大 だい 了 りょう 。一些人覺得Java在 ざい 物件 ぶっけん 導 しるべ 向上 こうじょう 面 めん 做的沒 ぼつ 有 ゆう Ruby 和 わ Smalltalk 純粹 じゅんすい 。但 ただし 是 ぜ 最新 さいしん 出現 しゅつげん 的 てき 用 よう Java實現 じつげん 的 てき 語 ご 言 げん Groovy 解決 かいけつ 了 りょう 這些問題 もんだい 。
作為 さくい 一種已經建立的新技術,Java顯然 けんぜん 綜合 そうごう 了 りょう 很多語 ご 言 げん 的 てき 特性 とくせい ,比 ひ 如C++、C語 ご 言 げん 、Python 等 ひとし 等 ひとし 。一 いち 些對於Java的 てき 評論 ひょうろん 認 みとめ 為 ため Java的 てき 不變 ふへん 性 せい 在 ざい 動搖 どうよう 。
有 ゆう 些程式 しき 師 し 不 ふ 喜 き 歡原始 げんし 類型 るいけい (primitive type)和 かず 類別 るいべつ (class)的 てき 分離 ぶんり ,尤 ゆう 其是那 な 些曾經 けい 使用 しよう 過 か Smalltalk 和 わ Ruby 的 てき 程 ほど 序 じょ 员。Java的 てき 代 だい 碼相對 そうたい 於其他 た 的 てき 代 だい 碼來說 せつ 過 か 於冗長 ちょう ,這與它的輕便 けいべん 化 か 聲明 せいめい 相 しょう 違背 いはい 。此外Java一般也會默認式的自動植入過多的標準庫代碼,導 しるべ 致整體 せいたい 運行 うんこう 會 かい 出現 しゅつげん 緩慢 かんまん
Java是 ぜ 一 いち 種 しゅ 單 たん 繼承 けいしょう 的 まと 語 ご 言 げん 。這也導 しるべ 致了程 ほど 式 しき 師 し 在 ざい 試 ためし 圖 ず 使用 しよう 多重 たじゅう 繼承 けいしょう 時候 じこう 的 てき 不便 ふべん ,而很多 た 語 ご 言 げん 都 と 可 か 以使用 しよう 這個特性 とくせい 。但 ただし 是 ぜ Java可 か 以使用 しよう 介 かい 面 めん 類 るい ,把 わ 多重 たじゅう 繼承 けいしょう 可能 かのう 導 しるべ 致的風 ふう 險 けん 減少 げんしょう 到 いた 最小 さいしょう 。Java不 ふ 支持 しじ 運算 うんざん 符 ふ 重 おも 載 の ,這是為 ため 了 りょう 防止 ぼうし 運算 うんざん 符 ふ 重 おも 載 の 使 つかい 得 とく 代 だい 碼的功 こう 能 のう 變 へん 得 え 不 ふ 清 きよし 晰。但 ただし 是 ぜ 用 よう Java實現 じつげん 的 てき 語 ご 言 げん Groovy 可 か 以進行 しんこう 運算 うんざん 符 ふ 重 おも 載 の 。過去 かこ Java對 たい 於文本 ほん 的 てき 操作 そうさ 和 わ 其他語 ご 言 げん ,比 ひ 如Perl 和 わ PHP 相 あい 比 ひ 差 さ 的 てき 較多,但 ただし Java在 ざい 1.4版本 はんぽん 時候 じこう 引入了 りょう 正 せい 则表达式 。
至 いたり Java 1.7为止,Java语言不 ふ 支持 しじ 闭包 (closure)和 わ 混入 こんにゅう (mixin)特性 とくせい 。
Java 1.8加入 かにゅう lambda表 ひょう 达式 (Lambda Expressions)[ 21] 。
使用 しよう Swing 平臺 ひらだい 編 へん 寫 うつし 的 てき 帶 たい 有 ゆう GUI (圖形 ずけい 用 よう 戶 と 介 かい 面 めん )的 てき 程 ほど 式 しき 和 わ 其他原始 げんし 程 ほど 式 しき 非常 ひじょう 不同 ふどう 。選 せん 用 よう AWT 工具 こうぐ 包 つつみ 編 へん 寫 うつし 程 ほど 式 しき 的 てき 程 ほど 式 しき 師 し 看 み 到 いた 的 てき 都 と 是 ぜ 原始 げんし 介 かい 面 めん ,而且也無法 ほう 獲得 かくとく 先進 せんしん 的 てき GUI編 へん 程 ほど 支援 しえん ,如果使用 しよう 的 てき 話 ばなし ,就要提供 ていきょう 每 ごと 個 こ 平臺 ひらだい 上面 うわつら 所 しょ 需的API,這將是 ぜ 一 いち 項 こう 龐大的 てき 工程 こうてい 。Swing則 そく 是 ぜ 完全 かんぜん 用 よう Java語 ご 言 げん 所 しょ 寫 うつし 的 てき 程 ほど 式 しき ,避免了 りょう 介 かい 面 めん 元素 げんそ 重複 じゅうふく 的 てき 問題 もんだい ,只 ただ 使用 しよう 所有 しょゆう 平臺 ひらだい 都 と 支持 しじ 的 てき 最 さい 基本 きほん 的 てき 繪圖 えず 機 き 制 せい 。但 ただし 是 ぜ 很多用 たよう 戶 ど 不知 ふち 道 どう 如何 いか 在 ざい Java風 ふう 格和 かくわ Windows風格 ふうかく 之 の 間 あいだ 進行 しんこう 轉換 てんかん ,結果 けっか 造成 ぞうせい 了 りょう Java程 ほど 式 しき 的 てき 介 かい 面 めん 在 ざい 很多程 ほど 式 しき 中 ちゅう 非常 ひじょう 特殊 とくしゅ 。蘋果電腦 でんのう 已 やめ 經 けい 提供 ていきょう 了 りょう 優 ゆう 化 か 過 か 的 てき Java運行 うんこう 時 じ 程 ほど 式 しき ,包含 ほうがん 了 りょう Mac OS X 的 てき 經典 きょうてん Aqua 介 かい 面 めん 風格 ふうかく 。
在 ざい IBM捐赠给Eclipse基金 ききん 会 かい 的 てき SWT 界面 かいめん 框 かまち 架 か 中 ちゅう ,用 よう 户会看 み 到 いた 熟 じゅく 悉的本地 ほんじ 风格界面 かいめん 。但 ただし 这又引起了 りょう 不同 ふどう 喜好 きよし 的 てき 开发人 じん 员之间的争 そう 论。
由 よし 於Java編 へん 譯 やく 器 き 和 わ 虛 きょ 擬 なずらえ 機 き 的 てき 不同 ふどう 對 たい Java代 だい 碼的性能 せいのう 影響 えいきょう 比 ひ 語 ご 言 げん 本身 ほんみ 的 てき 影響 えいきょう 大 だい 的 てき 多 た ,所以 ゆえん 統一 とういつ 討論 とうろん Java的 てき 程 ほど 式 しき 的 てき 性能 せいのう 經常 けいじょう 是 ぜ 有 ゆう 誤 あやま 導 しるべ 性 せい 的 てき 。據 よりどころ IBM的 てき 資料 しりょう ,在 ざい 同樣 どうよう 的 てき 硬 かた 體 たい 上 じょう 2001年 ねん 時 じ 的 てき IBM JDK 版本 はんぽん 的 てき 性能 せいのう 是 ぜ 1996年 ねん 的 てき JDK版本 はんぽん 的 てき 十 じゅう 倍 ばい 左右 さゆう 。[ 22] 而即使 し 是 ぜ 在 ざい 同一 どういつ 時期 じき ,不同 ふどう 公司 こうし 的 てき JDK 和 わ JRE 的 てき 性能 せいのう 也不一 いち 樣 よう ,比 ひ 如昇陽 ひ 電腦 でんのう 、IBM 、BEA 等 とう 公司 こうし 都 と 有 ゆう 自己 じこ 開發 かいはつ 的 てき JDK和 わ JRE。
Java語 ご 言 げん 的 てき 一些特性不可避免的有額外的性能代價,例 れい 如陣列 じんれつ 範圍 はんい 檢 けん 查 、運行 うんこう 時 じ 類型 るいけい 檢 けん 查等 ひとし 等 ひとし 。Java程 ほど 式 しき 的 てき 性能 せいのう 還 かえ 會 かい 因 いん 為 ため 不同 ふどう 的 てき 動態 どうたい 複雜 ふくざつ 性 せい 和 わ 垃圾處理 しょり 機 き 制 せい 使用 しよう 的 てき 多少 たしょう 而各有 ゆう 不同 ふどう 。如果JVM 的 てき 實現 じつげん 比較 ひかく 優 ゆう 化 か 的 てき 話 ばなし ,那 な 麼這些功能 のう 甚至可 か 以增加 ぞうか 記憶 きおく 體 たい 分配 ぶんぱい 的 てき 性能 せいのう 。這和總 そう 是 ぜ 使用 しよう STL 或 ある 者 もの 託 たく 管 かん C++的 てき 程 ほど 式 しき 的 てき 情況 じょうきょう 類似 るいじ 。
儘管如此,仍然有 ゆう 許多 きょた 人 じん 認 みとめ 為 ため Java的 てき 性能 せいのう 低 ひく 。這部分 ぶぶん 歸 き 因 いん 於昇陽 ひ 電腦 でんのう 最初 さいしょ 的 てき JVM實現 じつげん 使用 しよう 未 み 優 ゆう 化 か 的 てき 解釋 かいしゃく 機 き 制 せい 來 らい 執行 しっこう 位 い 元 もと 組 くみ 碼。一 いち 些新版本 はんぽん 的 てき JVM使用 しよう Just-In-Time(JIT )編 へん 譯 やく 器 き ,在 ざい 載 の 入 にゅう 位 い 元 もと 組 ぐみ 碼的時候 じこう 將 はた 其編譯 やく 成 なり 針 はり 對 たい 運行 うんこう 環境 かんきょう 的 てき 本 ほん 地代 じだい 碼來實現 じつげん 一些本地編譯器的優化特性。Just-In-Time機 き 制 せい 和本 わほん 地 ち 編 へん 譯 やく 的 てき 性能 せいのう 比較 ひかく 仍舊是 ぜ 一 いち 個 こ 有 ゆう 爭議 そうぎ 的 てき 話題 わだい 。JIT編 へん 譯 やく 需要 じゅよう 很多時間 じかん ,對 たい 於運行 うんこう 時間 じかん 不 ふ 長 なが 或 ある 者 もの 代 だい 碼很多 た 的 てき 大型 おおがた 程 ほど 式 しき 並 なみ 不 ふ 適宜 てきぎ 。但 ただし 是 ぜ 不 ふ 算 さん JIT編 へん 譯 やく 階段 かいだん 的 てき 話 ばなし ,程 ほど 式 しき 的 てき 運行 うんこう 性能 せいのう 在 ざい 很多JVM 下 した 可 か 以和本地 ほんじ 編 へん 譯 やく 的 てき 程 ほど 式 しき 一 いち 爭 そう 短長 たんちょう ,甚至在 ざい 一些計算比較密集的數值計算領域也是這樣。目前 もくぜん ,Java已 やめ 經 けい 使用 しよう 更 さら 先進 せんしん 的 てき HotSpot 技術 ぎじゅつ 來 らい 代替 だいたい JIT技術 ぎじゅつ ,Java的 てき 性能 せいのう 有 ゆう 了 りょう 更進 こうしん 一 いち 步 ほ 的 てき 提 ひさげ 升 ます 。另外,在 ざい 使用 しよう -server選 せん 項 こう 運行 うんこう Java程 ほど 式 しき 時 じ ,也可以對Java進行 しんこう 更 さら 深入 ふかいり 的 てき 優 ゆう 化 か ,比 ひ 如在運行 うんこう 時 じ 將 はた 調 しらべ 用 よう 較多的 てき 方法 ほうほう 內聯(inline)到 いた 程 ほど 式 しき 中 ちゅう 來 らい 提 ひさげ 高 だか 運行 うんこう 速度 そくど ,這就是 ぜ 所謂 いわゆる 的 てき “動態 どうたい 優 ゆう 化 か ”,而本地 ち 編 へん 譯 やく 器 き 是 ぜ 無法 むほう 做到這一 いち 點 てん 的 てき ;這也是 ぜ 一 いち 些Java代 だい 碼比對 たい 應用 おうよう C/C++等 とう 語 ご 言 げん 編 へん 寫 うつし 的 てき 本 ほん 地代 じだい 碼運行 うんこう 的 てき 更 さら 快 かい 的 てき 原因 げんいん 之 の 一 いち 。微 ほろ 軟的.NET平臺 ひらだい 也使用 しよう JIT編 へん 譯 やく 器 き ,所以 ゆえん 也有 やゆう 類似 るいじ 問題 もんだい 。
Java的 てき 設計 せっけい 目的 もくてき 主要 しゅよう 是 ぜ 安全 あんぜん 性 せい 和 わ 可 か 攜性,所以 ゆえん 對 たい 於一些特性 せい ,比 ひ 如對硬 かた 體 からだ 架 か 構和記憶 きおく 體位 たいい 址 し 的 てき 直接 ちょくせつ 訪問 ほうもん 都 と 被 ひ 去 さ 除 じょ 了 りょう 。如果需要 じゅよう 間接 かんせつ 調 ちょう 用 よう 這些底 そこ 層 そう 功 こう 能 のう 的 てき 話 ばなし ,就需要 よう 使用 しよう JNI (Java本地 ほんじ 介 かい 面 めん )來 らい 調 しらべ 用 よう 本 ほん 地代 じだい 碼,而間接 かんせつ 訪問 ほうもん 意味 いみ 著 ちょ 頻繁 ひんぱん 調 ちょう 用 よう 這些特性 とくせい 時 じ 性能 せいのう 損失 そんしつ 會 かい 很大,微 ほろ 軟的.NET平臺 ひらだい 也有 やゆう 這樣的 てき 問題 もんだい 。所以 ゆえん 到 いた 目前 もくぜん 為 ため 止 どめ ,性能 せいのう 敏感 びんかん 的 てき 代 だい 碼,例 れい 如驅動 くどう 程 ほど 式 しき 和 わ 3D电子游 ゆう 戏,還 かえ 是 ぜ 大 だい 多 た 使用 しよう 本地 ほんじ 編 へん 譯 やく ,甚至直接 ちょくせつ 以不直接 ちょくせつ 支援 しえん 面 めん 向 こう 对象的 てき C語 ご 言 げん 或 ある 機器 きき 碼編寫 うつし 。但 ただし 最近 さいきん 已 やめ 經 けい 有 ゆう 了 りょう 許多 きょた 用 よう 純 じゅん Java編 へん 寫 うつし 的 てき 3D遊戲 ゆうぎ ,其效果 こうか 與 あずか 用 よう C語 ご 言 げん 編 へん 寫 うつし 的 てき 不 ふ 相上 あいあげ 下 か ,例 れい 如“合金 ごうきん 戰士 せんし ”(英文 えいぶん 名 めい :Chrome)。這主要 よう 是 ぜ 因 いん 為 ため 新版 しんぱん 的 てき Java 3D技術 ぎじゅつ 已 やめ 經 けい 能 のう 像 ぞう C++一樣調用硬體加速,也就是 ぜ 使用 しよう 顯 あらわ 卡來 らい 加速 かそく ,無論 むろん 是 ぜ C++還 かえ 是 ぜ Java語 ご 言 げん 寫 うつし 的 てき 3D遊戲 ゆうぎ 都 と 是 ぜ 使用 しよう 顯 あらわ 卡及GPU 來 らい 處理 しょり ,從 したがえ 而使得 とく CPU 可 か 以專注 ちゅう 於其他 た 方面 ほうめん 的 てき 工作 こうさく 。
桌面GUI应用程 ほど 序 じょ :
Java通 どおり 过抽象 ちゅうしょう 窗 まど 口 こう 工具 こうぐ 包 つつみ (AWT),Swing和 わ JavaFX等 とう 多 た 种方式 しき 提供 ていきょう GUI开发。虽然AWT包含 ほうがん 许多预先构建的 てき 组件,如菜单,按钮,列 れつ 表 ひょう 以及众多第 だい 三 さん 方 ぽう 组件,但 ただし Swing(一 いち 个GUI小部 おべ 件 けん 工具 こうぐ 包 つつみ )还提供 ていきょう 某 ぼう 些高级组件 けん ,如树,表 ひょう 格 かく ,滚动窗 まど 格 かく ,选项卡式面 めん 板 いた 和 わ 列 れつ 表 ひょう 。JavaFX是 ぜ 一组图形和媒体包,提供 ていきょう 了 りょう Swing互操作性 そうさせいわる ,3D图形功 こう 能 のう 和 わ 自 じ 包含 ほうがん 的 てき 部署 ぶしょ 模型 もけい ,可 か 以快速 そく 编写Java小 しょう 应用程 ほど 序 じょ 和 わ 应用程 ほど 序 じょ 的 てき 脚本 きゃくほん 。[ 23]
移 うつり 动应用 よう 程 ほど 序 じょ :
Java Platform,Micro Edition(Java ME或 ある J2ME)是 ぜ 一个跨平台框架,用 よう 于构建 けん 可 か 在 ざい 所有 しょゆう Java支持 しじ 的 てき 设备(包括 ほうかつ 功 こう 能 のう 手 しゅ 机 つくえ 和 わ 智能 ちのう 手 しゅ 机 つくえ )上 じょう 运行的 てき 应用程 ほど 序 じょ 。此外,最 さい 受欢迎 むかえ 的 てき 移 うつり 动操作 そうさ 系 けい 统之一 いち 的 てき Android应用程 ほど 序 じょ 通常 つうじょう 使用 しよう Android软件开发工具 こうぐ 包 つつみ (SDK)或 ある 其他环境在 ざい Java中 ちゅう 编写脚本 きゃくほん 。
嵌入 かんにゅう 式 しき 系 けい 统:
从微型 がた 芯 しん 片 へん 到 いた 专用计算机 つくえ 的 てき 嵌入 かんにゅう 式 しき 系 けい 统是执行专门任 にん 务的大型 おおがた 机 つくえ 电系统的组件。诸如SIM卡,蓝光光 こう 盘播放器 き ,公用 こうよう 事 ごと 业仪表 ひょう 和 わ 电视机 つくえ 等 とう 多 た 种设备都使用 しよう 嵌入 かんにゅう 式 しき Java技 わざ 术。据 すえ 甲 かぶと 骨 こつ 文 ぶん 公司 こうし 称 たたえ ,100%的 てき 蓝光光 こう 盘播放器 き 和 わ 1.25亿台电视设备都 と 采 さい 用 よう Java技 わざ 术。
Web应用程 ほど 序 じょ :
Java通 どおり 过Servlets,Struts或 ある JSP提供 ていきょう 对Web应用程 ほど 序 じょ 的 てき 支持 しじ 。编程语言提供 ていきょう 的 てき 简单编程和 わ 更 さら 高 だか 的 てき 安全 あんぜん 性 せい 使 し 得 とく 大量 たいりょう 政府 せいふ 应用程 ほど 序 じょ 可用 かよう 于基于Java的 てき 健康 けんこう ,社会 しゃかい 安全 あんぜん ,教育 きょういく 和 わ 保 ほ 险。Java也可以使用 しよう Broadleaf等 とう 开源电子商 しょう 务平台 だい 开发电子商 しょう 务Web应用程 ほど 序 じょ 。
分布 ぶんぷ 式 しき 系 けい 统:
Java更 さら 多 た 时候用 よう 于构建 けん 大型 おおがた 分布 ぶんぷ 式 しき 应用, 基 もと 于Java的 てき 分布 ぶんぷ 式 しき 生 せい 态非常 ひじょう 丰富, 各 かく 种成熟 せいじゅく 的 てき 基 もと 础组件 けん 帮助Java开发者 しゃ 迅速 じんそく 搭建起 おこり 分布 ぶんぷ 式 しき 系 けい 统. 比 ひ 较著名 めい 的 てき 分布 ぶんぷ 式 しき 框 かまち 架 か 有 ゆう : Spring Cloud, Dubbo, ZooKeeper 等 ひとし 。
Web服 ふく 务器和 わ 应用程 ほど 序 じょ 服 ふく 务器:
今 こん 天 てん 的 てき Java生 せい 态系统包含 ほうがん 多 た 个Java Web服 ふく 务器和 わ 应用程 ほど 序 じょ 服 ふく 务器。虽然Apache Tomcat,Simple,Jo !, Rimfaxe Web服 ふく 务器(RWS)和 かず Project Jigsaw占 うらない 据 すえ 了 りょう Web服 ふく 务器空 そら 间,但 ただし WebLogic,WebSphere和 わ Jboss EAP在 ざい 商 しょう 业应用 よう 服 ふく 务器领域占 うらない 据 すえ 重要 じゅうよう 地位 ちい [ 24] 。
企 くわだて 业应用 よう 程 ほど 序 じょ :
Java企 くわだて 业版(Java EE)是 ぜ 一 いち 种流行 りゅうこう 的 てき 平台 ひらだい ,为脚本 ほん 和 わ 运行企 くわだて 业软件 けん (包括 ほうかつ 网络应用程 ほど 序 じょ 和 わ Web服 ふく 务)提供 ていきょう API和 わ 运行时环境 さかい 。甲 かぶと 骨 こつ 文宣 ふみのぶ 称 しょう Java可 か 以在97%的 てき 企 くわだて 业计算 さん 机上 きじょう 运行。Java凭 もたれ 借 か 更 さら 高 だか 的 てき 性能 せいのう 保 ほ 证和更 さら 快 かい 的 てき 计算能力 のうりょく 使 し 得 とく 像 ぞう Murex这样的 てき 高 だか 频交易 こうえき 系 けい 统可以被编入脚本 きゃくほん 中 ちゅう 。同 どう 时它也是各 かく 种银行 ぎょう 应用程 ほど 序 じょ 的 てき 中枢 ちゅうすう ,它们将 はた Java从前端 はし 用 よう 户端运行到 いた 后 きさき 端 はし 服 ふく 务器端 はし 。
科学 かがく 应用:
Java是 ぜ 许多软件开发人 じん 员用于编写 うつし 涉 わたる 及科学 かがく 计算和 わ 数学 すうがく 运算的 てき 应用程 ほど 序 じょ 的 てき 选择之 の 一 いち 。这些程 ほど 序 じょ 通常 つうじょう 被 ひ 认为是 ぜ 快速 かいそく 和 わ 安全 あんぜん 的 てき ,具有 ぐゆう 更 さら 高 だか 的 てき 便 びん 携性和 わ 低 てい 维护性 せい 。像 ぞう MATLAB这样的 てき 应用程 ほど 序 じょ 使用 しよう Java来 らい 作 さく 为交互 こうご 用 よう 户界面 めん 和作 わさく 为核心 しん 系 けい 统的一 いち 部分 ぶぶん 。
^ The History of Java Technology . [2012-10-06 ] . (原始 げんし 内容 ないよう 存 そん 档 于2012-11-06).
^ JDK 21 .
^ Java 5 catches up with C# . www.barrycornelius.com. [2006-11-30 ] . (原始 げんし 内容 ないよう 存 そん 档 于2011-03-19).
^ Lévénez, Éric. Computer Languages History . www.levenez.com. [2006-11-30 ] . (原始 げんし 内容 ないよう 存 そん 档于2006-01-07).
^ 5.0 5.1 5.2 5.3 Barbara Liskov with John Guttag . Program Development in Java - Abstraction, Specification, and Object-Oriented Design . USA, Addison Wesley. 2000. ISBN 9780201657685 . Java is a successor to a number of languages, including Lisp, Simula67, CLU, and SmallTalk. Java is superficially similar to C and C++ because its syntax is borrowed from them. However, at a deeper level it is very different from these languages.
^ Gosling, James; McGilton, Henry. The Java Language Environment . May 1996 [2015-12-22 ] . (原始 げんし 内容 ないよう 存 そん 档 于2014-05-06).
^ Gosling, James; Joy, Bill; Steele, Guy; and Bracha, Gilad. The Java Language Specification, 2nd Edition . [2013-02-28 ] . (原始 げんし 内容 ないよう 存 そん 档 于2013-05-12).
^ The A-Z of Programming Languages: Modula-3 . Computerworld.com.au. [2010-06-09 ] . (原始 げんし 内容 ないよう 存 そん 档于2009-01-05).
^ Java Was Strongly Influenced by Objective-C . cs.gmu.edu. [2013-02-28 ] . (原始 げんし 内容 ないよう 存 そん 档 于2011-07-13).
^ TechMetrix Research. History of Java (PDF) . Java Application Servers Report. 1999 [2015-12-22 ] . (原始 げんし 内容 ないよう (PDF) 存 そん 档于2010-12-29). The project went ahead under the name "green" and the language was based on an old model of UCSD Pascal , which makes it possible to generate interpretive code
^ A Conversation with James Gosling – ACM Queue . Queue.acm.org. 2004-08-31 [2010-06-09 ] . (原始 げんし 内容 ないよう 存 そん 档 于2015-07-16).
^ White Paper About Microsoft's "Delegates"
^ Facebook Q&A: Hack brings static typing to PHP world . InfoWorld. 2014-03-26 [2015-01-11 ] . (原始 げんし 内容 ないよう 存 そん 档 于2015-02-13).
^ Oracle to Buy Sun . web.archive.org. 2009-04-22 [2022-03-18 ] . 原始 げんし 内容 ないよう 存 そん 档于2009-04-22.
^ Byous, Jon. Java Technology: An Early History (PDF) . Sun Microsystems . 1998 [2010-11-24 ] . (原始 げんし 内容 ないよう (PDF) 存 そん 档于2011-07-19).
^ OpenJDK . [2008-09-04 ] . (原始 げんし 内容 ないよう 存 そん 档 于2009-10-25).
^ Statement by the ASF Board on our participation in the Java Community Process . [2010-11-12 ] . (原始 げんし 内容 ないよう 存 そん 档 于2020-11-09).
^ 什么是 ぜ Java?为何需要 じゅよう Java? . www.java.com. [2018-04-11 ] . (原始 げんし 内容 ないよう 存 そん 档 于2020-09-19) (中 ちゅう 文 ぶん (中国 ちゅうごく 大 だい 陆)) .
^ Java理論 りろん 與 あずか 實踐 じっせん :再 さい 談 だん Urban性能 せいのう 傳言 でんごん . [2009-01-19 ] . (原始 げんし 内容 ないよう 存 そん 档 于2007-08-18).
^ 存 そん 档副本 ふくほん . [2008-08-03 ] . (原始 げんし 内容 ないよう 存 そん 档于2008-12-10).
^ What's New in JDK 8 . www.oracle.com. [2019-05-19 ] . (原始 げんし 内容 ないよう 存 そん 档 于2020-04-13).
^ 見 み IBM東京 とうきょう 研究 けんきゅう 院 いん 的 てき 資料 しりょう :http://www.is.titech.ac.jp/ppl2004/proceeding (页面存 そん 档备份 ,存 そん 于互联网档案 あん 馆 )
s/ishizaki_slides.pdf (页面存 そん 档备份 ,存 そん 于互联网档案 あん 馆 )
^ Applications of Java Programming Language . [2018-04-11 ] . (原始 げんし 内容 ないよう 存 そん 档 于2020-08-04).
^ 存 そん 档副本 ふくほん . [2018-04-11 ] . (原始 げんし 内容 ないよう 存 そん 档 于2020-11-11).
Jon Byous, Java technology: The early years (页面存 そん 档备份 ,存 そん 于互联网档案 あん 馆 )。Sun Developer Network, no date [ca. 1998]。Retrieved April 22, 2005.
James Gosling ,A brief history of the Green project 。Java.net, no date [ca. Q1/1998]。Retrieved April 22, 2005.
James Gosling ,Bill Joy ,Guy Steele ,and Gilad Bracha ,The Java language specification , second edition. Addison-Wesley, 2000. ISBN 0-201-31008-2 .
James Gosling ,Bill Joy ,Guy Steele ,and Gilad Bracha ,The Java language specification , third edition. Addison-Wesley, 2005. ISBN 0-321-24678-0 .
Tim Lindholm and Frank Yellin. The Java Virtual Machine specification , second edition. Addison-Wesley, 1999. ISBN 0-201-43294-3 .
蔡學鏞 :《從 したがえ 編 へん 譯 やく 器 き 與 あずか VM角度 かくど 分析 ぶんせき Java2 v5.0語 ご 言 げん 的 てき 新 しん 特色 とくしょく 》
Java官 かん 方 かた 网站 (页面存 そん 档备份 ,存 そん 于互联网档案 あん 馆 )
軟體 硬 かた 體 からだ 教育 きょういく 與 あずか 認證 にんしょう
網 あみ 頁 ぺーじ 技術 ぎじゅつ 與 あずか 標準 ひょうじゅん
文 ぶん 档呈现语言 げん 样式格式 かくしき 描述语言 动态网页技 わざ 术 用 よう 戶 ど 端 はし 互動技 わざ 术用 よう 戶 ど 端 はし 手 しゅ 稿 こう 語 ご 言 げん 标识定位 ていい 语言 文 ぶん 档纲要 よう 语言*
代表 だいひょう 由 よし W3C 制定 せいてい 和 わ 维护
的 てき 标准
与 あずか 规范