国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Java平臺技術

2019-11-18 11:51:49
字體:
來源:轉載
供稿:網(wǎng)友

     在 這 一 講 中, 我 們 將 重 點 介 紹java 平 臺 技 術, 首 先 介 紹Java 核 心 技 術Java 虛 擬 機 的 概 貌、 結 構, 然 后 再 說 明100 % 純Java 的 概 念 和 純Java 程 序 應 遵 循 的 原 則, 在 本 講 的 最 后, 我 們 將 介 紹 幾 種 主 要 的Java 開 發(fā) 工 具 和 瀏 覽 工 具。 
  
  一、Java 虛 擬 機
     上 一 講 我 們 已 經(jīng) 提 到 平 臺 無 關 性 是Java 最 重 要 的 特 性, 而 實 現(xiàn) 這 一 特 性 的 基 礎 就 是Java 虛 擬 機。 因 此, 了 解Java 虛 擬 機 的 結 構 和 工 作 方 式 對 進 一 步 理 解Java 概 念 十 分 有 益。 下 面 我 們 將 從 兩 個 方 面 介 紹Java 虛 擬 機。 
  
     1、 什 么 是Java 虛 擬 機 
  
     可 以 說,Java 不 僅 僅 是 一 種 語 言, 更 重 要 是 一 種 區(qū) 別 于 傳 統(tǒng) 系 統(tǒng), 遵 循" 網(wǎng) 絡 就 是 計 算 機" 信 條 的 平 臺 技 術。Java 平 臺 將 面 向 對 象 系 統(tǒng) 擴 展 成 包 括 程 序 和 數(shù) 據(jù) 的 網(wǎng) 絡 計 算 機, 而 這 個 平 臺 的 核 心 就 是Java 虛 擬 機, 許 多 使Java 成 為 萬 能 開 發(fā) 平 臺 的 屬 性 都 源 于Java 虛 擬 機 的 概 念 和 實 現(xiàn)。 
  
     從 底 層 看,Java 虛 擬 機 就 是 以Java 字 節(jié) 碼 為 指 令 組 的 軟CPU。 附 圖 顯 示 了Java 系 統(tǒng) 流 程 圖( 內(nèi) 含Java 虛 擬 機)。 從 附 圖 可 以 看 出, 在 服 務 器 端 首 先 由 開 發(fā) 人 員 編 寫Java 程 序 并 存 為. Java 文 件; 其 次,Java 編 譯 器 將.java 文 件 編 譯 成 由 字 節(jié) 碼 組 成 的.class 文 件; 最 后, 將.class 文 件 存 放 在Web 服 務 器 上。 到 此,Java 程 序 已 作 為Internet 或Intranet 資 源 存 放 在Web 服 務 器 上 隨 時 可 讓 客 戶 使 用。 在 客 戶 端, 用 戶 使 用WWW 瀏 覽 器, 通 過Internet/Intranet 將Web 服 務 器 上 的 含 有Java 程 序 的 主 頁 下 載, 再 依 賴 本 地Java 虛 擬 機 對.class 文 件 解 釋 執(zhí) 行。 這 樣, 內(nèi) 容 豐 富 的Java 應 用 資 源 便 由 服 務 器 傳 送 到 客 戶 端, 并 在 用 戶 瀏 覽 器 上 顯 示 出 來。 
  Java平臺技術
  圖1 Java 程 序 開 發(fā) 和 運 行 過 程 
  
  
  
     和 普 通 的 程 序 裝 入 器 一 樣,Java 虛 擬 機 執(zhí) 行 程 序 時 首 先 從 網(wǎng) 絡 或 本 地 存 儲 器 中 裝 入.class 文 件。 由 于 網(wǎng) 絡 的 不 安 全 因 素 較 多,Hacker 的 惡 意 攻 擊, 網(wǎng) 絡 病 毒 的 侵 襲 等 等, 因 此,Java 虛 擬 機 在 執(zhí) 行.class 文 件 前, 首 先 要 對 其 進 行 驗 證。 如 果 沒 有 通 過 驗 證, 則 不 執(zhí) 行 并 給 出 錯 誤 信 息, 相 反, 如 果 程 序 成 功 地 經(jīng) 過 驗 證 階 段,Java 虛 擬 機 將 運 行 翻 譯 器 讀 取 字 節(jié) 碼, 把 字 節(jié) 碼 轉 換 成 操 作 系 統(tǒng) 硬 件 相 關 的 指 令, 并 在 真 正 的CPU 上 執(zhí) 行。 
  
     字 節(jié) 碼 是Java 虛 擬 機 的 指 令 組( 很 象CPU 上 的 微 碼)。 字 節(jié) 碼 形 式 為< 操 作 碼><... 操 作 數(shù)>。 其 中, 操 作 碼 就 是 指 令 碼, 占 一 個 字 節(jié) 的 長 度, 一 個 字 節(jié) 碼 可 以 有 多 少 操 作 數(shù)。 目 前,Java 虛 擬 機 規(guī) 范 中 定 度 了220 個 字 節(jié) 碼 指 令。 由 于 字 節(jié) 碼 指 令 數(shù) 目 種 類 繁 多, 相 對 于 機 器 碼 語 義 層 次 較 高, 因 此,Java 語 言 編 譯 成 字 節(jié) 碼 后 文 件 尺 寸 較 小 便 于 網(wǎng) 絡 傳 輸。 為 了 運 行Java 字 節(jié) 碼, 硬 件 廠 商 或 操 作 系 統(tǒng) 廠 商 在 自 己 的 硬 件 和 操 作 &I> 
  
  
  --------------------------------------------------------------------------------
  
  Transfer interrupted!
  cute; 合 中 實 現(xiàn)Java 虛 擬 機。Java 虛 擬 機 程 序 模 塊 通 常 用C、C + + 或 相 應CPU 支 持 的 匯 編 語 言 編 寫。Java 虛 擬 機 用 主 機 操 作 系 統(tǒng) 幫 助 完 成 內(nèi) 存、 文 件 系 統(tǒng)、 顯 示 器、 鼠 標、 鍵 盤、 網(wǎng) 絡 和 其 它 設 備 驅(qū) 動 器 以 及 線 程 處 理 等。 另 外, 各 廠 商 開 發(fā) 自 己 系 統(tǒng) 的Java 虛 擬 機 需 要 獲 得Java 許 可 證。 標 準 的Javasoft 許 可 包 括Java 類 庫 和Java 虛 擬 機。 每 個 拿 到 許 可 證 的 公 司 都 會 在 自 己 的 平 臺 上 成 為Java 的 監(jiān) 護 人, 他 們 可 以 優(yōu) 化 系 統(tǒng) 性 能, 但 必 須 保 證 獨 立 于 平 臺 的 純Java 小 程 序 能 在 他 們 的 系 統(tǒng) 上 運 行。 
  
     從 概 念 上 講,Java 虛 擬 機 的 基 本 執(zhí) 行 單 元 是.class 文 件。 一 個Java 程 序 經(jīng) 過 編 譯 后 將 形 成 多 個.class 文 件, 而 每 個 文 件 都 對 應 一 個 程 序 中 定 義 的 類。 因 此, 帶 有 多 個.class 文 件 的Java 程 序 在 執(zhí) 行 時 與 傳 統(tǒng) 程 序 相 比 就 有 其 特 殊 性。 傳 統(tǒng) 的 程 序 在 運 行 前, 系 統(tǒng) 要 裝 入 含 有 全 部 程 序 碼 的 單 一 執(zhí) 行 文 件, 而Java 虛 擬 機 在 執(zhí) 行 程 序 時 則 不 同, 它 遵 循" 即 用 即 裝 入" 的 原 則。 具 體 講, 由 于 一 個.class 文 件 可 以 引 用 許 多 其 它.class 文 件( 在Java 語 言 中, 通 過import,implement 或extends 語 句 實 現(xiàn)), 當 運 行 的 類 需 要 其 他 類 時,Java 虛 擬 機 即 從 網(wǎng) 絡 或 本 地 文 件 系 統(tǒng) 裝 入.class 文 件。 將 這 個 概 念 拓 廣, 不 同 類 可 以 由 不 同 開 發(fā) 者 在 不 同 服 務 器 上 開 發(fā),Java 虛 擬 機 能 夠 動 態(tài) 地 裝 入 和 聯(lián) 接 所 需 要 的 類 文 件。 這 對 今 后 軟 件 開 發(fā) 以 及 分 布 式 計 算 都 將 有 深 遠 的 意 義。 例 如: 這 種 結 構 可 以 使 在 服 務 器 向 客 戶 機 提 供 軟 件 新 版 本 時, 只 更 新 相 應 的.class 文 件, 真 正 實 現(xiàn) 零 管 理 客 戶 機 以 及 無 版 本 軟 件 等。 
  
     另 外,Java 虛 擬 機 是 使.class 文 件 具 有 跨 平 臺 能 力 的 核 心 結 構, 同 一.class 文 件 可 以 運 行 在 實 現(xiàn)Java 虛 擬 機 的 不 同 計 算 機 上。 虛 擬 機 只 需 要 知 道.class 文 件 應 該 是 什 么 結 構 和 應 當 包 含 什 么, 而 不 必 管.class 文 件 對 應 的 源 程 序 代 碼 是 由 何 種 語 言 編 寫 的。 由 于 各 種 語 言 的 編 譯 器 與Java 虛 擬 機 本 身 無 關, 因 此 只 要 不 同 語 言 的 編 譯 器 能 從 這 些 源 文 件 中 產(chǎn) 生Java 字 節(jié) 碼, 開 發(fā) 人 員 就 可 以 使 用 各 人 所 熟 悉 的Ada,C 或C + + 語 言 編 寫 的 運 行 在 任 何Java 虛 擬 機 上 的 應 用 程 序, 而 不 必 一 定 要 學 習Java 語 言。 實 現(xiàn) 以 上 所 說 的 內(nèi) 容, 將 大 大 簡 化 現(xiàn) 有 軟 件 向 平 臺 無 關 軟 件 轉 化 的 工 作。 
  
     2、Java 虛 擬 機 結 構 
  
     Java 虛 擬 機 體 系 結 構 包 括 以 下 部 分: 數(shù) 據(jù) 類 型、 指 令 組、 寄 存 器 組、 方 法 區(qū)、 無 用 單 元 回 收 堆, 下 面 分 別 介 紹。 
  
     Java 虛 擬 機 規(guī) 定 了 統(tǒng) 一 的 數(shù) 據(jù) 類 型 以 及 類 型 長 度。 例 如, 整 型 為32 位 長, 浮 點 為IEEE 754 格 式 等 等。 對 于 各 種 操 作 系 統(tǒng) 如 硬 件 數(shù) 據(jù) 類 型 長 度 是 相 同 的。 程 序 沒 有 改 變 數(shù) 據(jù) 類 型 的 自 由。 
  
     Java 虛 擬 機 的 寄 存 器 用 于 保 存 機 器 的 運 行 狀 態(tài), 它 們 同 微 處 理 器 的 寄 存 器 很 類 似。Java 虛 擬 機 寄 存 器 有 四 種: 
  
     pc: Java 程 序 計 數(shù) 器, 包 含 下 一 字 節(jié) 碼 指 令 的 地 址 
  
     optop: 指 向 操 作 數(shù) 棧 頂 端 的 指 針 
  
     frame: 指 向 當 前 執(zhí) 行 方 法 的 執(zhí) 行 環(huán) 境 的 指 針 
  
     var: 指 向 當 前 執(zhí) 行 方 法 局 部 變 量 區(qū) 第 一 個 變 量 的 指 針 
  
     Java 虛 擬 機 是 棧 式 的, 它 不 定 義 或 使 用 寄 存 器 來 傳 遞 或 接 受 參 數(shù), 其 目 的 是 為 了 保 證 指 令 集 的 簡 潔 性 和 實 現(xiàn) 時 的 高 效 性( 特 別 是 對 于 寄 存 器 數(shù) 目 不 多 的 處 理 器)。 
  
     Java 虛 擬 機 的 方 法 區(qū) 是 編 譯 后 的 代 碼 區(qū) 域, 它 包 括 方 法 代 碼、 符 號 表 等。 
  
     Java 虛 擬 機 的 棧 有 三 個 區(qū) 域: 局 部 變 量 區(qū)、 執(zhí) 行 環(huán) 境 區(qū)、 操 作 數(shù) 區(qū)。Java 虛 擬 機 并 不 保 證 任 何 內(nèi) 存 單 元 回 收 的 時 間 安 排, 所 以Java 編 程 人 員 不 要 誤 以 為 只 要 對 象 不 再 在 程 序 中 使 用, 對 象 占 用 的 內(nèi) 存 就 立 即 可 用。 這 就 意 味 著, 開 發(fā) 需 要 大 量 內(nèi) 存 的 程 序 時 必 須 格 外 小 心, 連 續(xù) 申 請 內(nèi) 存 可 能 引 起 內(nèi) 存 不 足 的 錯 誤。 
  
     3.Java 虛 擬 機 的 安 全 措 施。 
  
     前 面 已 經(jīng) 提 到,Java 程 序 可 以 從 網(wǎng) 絡 上 下 載 運 行, 這 必 然 帶 來 許 多 不 安 全 因 素。 一 些 惡 意 的Hacker 可 以 直 接 寫 出 字 節(jié) 代 碼 段 攻 擊 用 戶 節(jié) 點, 如 刪 除 文 件、 搞 亂 硬 盤 或 未 經(jīng) 用 戶 許 可 在 網(wǎng) 上 發(fā) 送 本 地 信 息 等。 這 些 防 衛(wèi) 本 地 機 被 攻 擊 的 任 務 就 交 給 了Java 虛 擬 機 完 成。Java 虛 擬 機 提 供 了 幾 種 安 全 機 制, 其 中 兩 種 主 要 的 機 制 是 安 全 管 理 器 和Java 類 文 件 認 證 器。 
  
     安 全 管 理 器 是 安 全 的 實 施 者, 它 是 一 個 可 擴 展 類, 提 供 加 在 應 用 程 序 和 特 寫 系 統(tǒng) 上 的 安

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜黄县| 乐平市| 景宁| 望谟县| 德庆县| 甘肃省| 洛川县| 鄂托克旗| 灵寿县| 安丘市| 铜梁县| 尉犁县| 阿合奇县| 故城县| 兴安县| 沅陵县| 团风县| 金川县| 田阳县| SHOW| 梧州市| 固安县| 白水县| 高雄县| 唐河县| 百色市| 阳春市| 宁远县| 水富县| 馆陶县| 拜城县| 剑川县| 肥乡县| 当雄县| 兴文县| 烟台市| 千阳县| 金山区| 开化县| 会昌县| 望城县|