javac: 负 责 的 是 编 译 的 部 分, 当 执 行 javac 时, 会 启 动 java 的 编 译 器 程 序 对 指 定 扩 展 名 的.java 文 件 进 行 编 译 生 成 了 jvm 可 以 识 别 的 字 节 码 文 件 也 就 是 class 文 件, 也 就 是 ja

Size: px
Start display at page:

Download "javac: 负 责 的 是 编 译 的 部 分, 当 执 行 javac 时, 会 启 动 java 的 编 译 器 程 序 对 指 定 扩 展 名 的.java 文 件 进 行 编 译 生 成 了 jvm 可 以 识 别 的 字 节 码 文 件 也 就 是 class 文 件, 也 就 是 ja"

Transcription

1 Java 基 础 知 识 总 结 一 :java 概 述 : 1,JDK:Java Development Kit,java 的 开 发 和 运 行 环 境,java 的 开 发 工 具 和 jre 2,JRE:Java Runtime Environment,java 程 序 的 运 行 环 境,java 运 行 的 所 需 的 类 库 +JVM(java 虚 拟 机 ) 3, 配 置 环 境 变 量 : 让 java jdk\bin 目 录 下 的 工 具, 可 以 在 任 意 目 录 下 运 行, 原 因 是, 将 该 工 具 所 在 目 录 告 诉 了 系 统, 当 使 用 该 工 具 时, 由 系 统 帮 我 们 去 找 指 定 的 目 录 环 境 变 量 的 配 置 : 1): 永 久 配 置 方 式 :JAVA_HOME=% 安 装 路 径 %\Java\jdk path=%java_home%\bin 2): 临 时 配 置 方 式 :set path=%path%;c:\program Files\Java\jdk\bin 特 点 : 系 统 默 认 先 去 当 前 路 径 下 找 要 执 行 的 程 序, 如 果 没 有, 再 去 path 中 设 置 的 路 径 下 找 classpath 的 配 置 : 1): 永 久 配 置 方 式 :classpath=.;c:\;e:\ 2): 临 时 配 置 方 式 :set classpath=.;c:\;e:\ 注 意 : 在 定 义 classpath 环 境 变 量 时, 需 要 注 意 的 情 况 如 果 没 有 定 义 环 境 变 量 classpath,java 启 动 jvm 后, 会 在 当 前 目 录 下 查 找 要 运 行 的 类 文 件 ; 如 果 指 定 了 classpath, 那 么 会 在 指 定 的 目 录 下 查 找 要 运 行 的 类 文 件 还 会 在 当 前 目 录 找 吗? 两 种 情 况 : CLASSPATH 是 什 么? 它 的 作 用 是 什 么? 它 是 javac 编 译 器 的 一 个 环 境 变 量 它 的 作 用 与 import package 关 键 字 有 关 当 你 写 下 improt java.util.* 时, 编 译 器 面 对 import 关 键 字 时, 就 知 道 你 要 引 入 java.util 这 个 package 中 的 类 ; 但 是 编 译 器 如 何 知 道 你 把 这 个 package 放 在 哪 里 了 呢? 所 以 你 首 先 得 告 诉 编 译 器 这 个 package 的 所 在 位 置 ; 如 何 告 诉 它 呢? 就 是 设 置 CLASSPATH 啦 :) 如 果 java.util 这 个 package 在 c:/jdk/ 目 录 下, 你 得 把 c:/jdk/ 这 个 路 径 设 置 到 CLASSPATH 中 去! 当 编 译 器 面 对 import java.util.* 这 个 语 句 时, 它 先 会 查 找 CLASSPATH 所 指 定 的 目 录, 并 检 视 子 目 录 java/util 是 否 存 在, 然 后 找 出 名 称 吻 合 的 已 编 译 文 件 (.class 文 件 ) 如 果 没 有 找 到 就 会 报 错!CLASSPATH 有 点 像 c/c++ 编 译 器 中 的 INCLUDE 路 径 的 设 置 哦, 是 不 是? 当 c/c++ 编 译 器 遇 到 include 这 样 的 语 句, 它 是 如 何 运 作 的? 哦, 其 实 道 理 都 差 不 多! 搜 索 INCLUDE 路 径, 检 视 文 件! 当 你 自 己 开 发 一 个 package 时, 然 后 想 要 用 这 个 package 中 的 类 ; 自 然, 你 也 得 把 这 个 package 所 在 的 目 录 设 置 到 CLASSPATH 中 去!CLASSPATH 的 设 定, 对 JAVA 的 初 学 者 而 言 是 一 件 棘 手 的 事 所 以 Sun 让 JAVA2 的 JDK 更 聪 明 一 些 你 会 发 现, 在 你 安 装 之 后, 即 使 完 全 没 有 设 定 CLASSPATH, 你 仍 然 能 够 编 译 基 本 的 JAVA 程 序, 并 且 加 以 执 行 PATH 环 境 变 量 PATH 环 境 变 量 作 用 是 指 定 命 令 搜 索 路 径, 在 命 令 行 下 面 执 行 命 令 如 javac 编 译 java 程 序 时, 它 会 到 PATH 变 量 所 指 定 的 路 径 中 查 找 看 是 否 能 找 到 相 应 的 命 令 程 序 我 们 需 要 把 jdk 安 装 目 录 下 的 bin 目 录 增 加 到 现 有 的 PATH 变 量 中, bin 目 录 中 包 含 经 常 要 用 到 的 可 执 行 文 件 如 javac/java/javadoc 等 待, 设 置 好 PATH 变 量 后, 就 可 以 在 任 何 目 录 下 执 行 javac/java 等 工 具 了 4,javac 命 令 和 java 命 令 做 什 么 事 情 呢? 要 知 道 java 是 分 两 部 分 的 : 一 个 是 编 译, 一 个 是 运 行 1 / 31

2 javac: 负 责 的 是 编 译 的 部 分, 当 执 行 javac 时, 会 启 动 java 的 编 译 器 程 序 对 指 定 扩 展 名 的.java 文 件 进 行 编 译 生 成 了 jvm 可 以 识 别 的 字 节 码 文 件 也 就 是 class 文 件, 也 就 是 java 的 运 行 程 序 java: 负 责 运 行 的 部 分. 会 启 动 jvm. 加 载 运 行 时 所 需 的 类 库, 并 对 class 文 件 进 行 执 行. 一 个 文 件 要 被 执 行, 必 须 要 有 一 个 执 行 的 起 始 点, 这 个 起 始 点 就 是 main 函 数. 二 :java 语 法 基 础 : 1. 标 示 符 : 1), 数 字 不 可 以 开 头 2), 不 可 以 使 用 关 键 字 2. 变 量 的 作 用 域 和 生 存 期 : 变 量 的 作 用 域 : 作 用 域 从 变 量 定 义 的 位 置 开 始, 到 该 变 量 所 在 的 那 对 大 括 号 结 束 ; 生 命 周 期 : 变 量 从 定 义 的 位 置 开 始 就 在 内 存 中 活 了 ; 变 量 到 达 它 所 在 的 作 用 域 的 时 候 就 在 内 存 中 消 失 了 ; 3. 数 据 类 型 : 1): 基 本 数 据 类 型 :byte short int long float double char boolean 简 单 类 型 boolean byte char short int long float double void 二 进 制 位 数 封 装 器 类 Boolean Byte Character Short Integer Long Float Double Void 4. 运 算 符 号 : 4) 逻 辑 运 算 符 & ^! && 逻 辑 运 算 符 除 了! 外 都 是 用 于 连 接 两 个 boolean 类 型 表 达 式 &: 只 有 两 边 都 为 true 结 果 是 true 否 则 就 是 false : 只 要 两 边 都 为 false 结 果 是 false, 否 则 就 是 true ^: 异 或 : 和 或 有 点 不 一 样 两 边 结 果 一 样, 就 为 false 两 边 结 果 不 一 样, 就 为 true. & 和 && 区 别 : & : 无 论 左 边 结 果 是 什 么, 右 边 都 参 与 运 算 &&: 短 路 与, 如 果 左 边 为 false, 那 么 右 边 不 参 数 与 运 算 和 区 别 : : 两 边 都 运 算 : 短 路 或, 如 果 左 边 为 true, 那 么 右 边 不 参 与 运 算 5) 位 运 算 符 : 用 于 操 作 二 进 制 位 的 运 算 符 2 / 31

3 & ^ << >> >>>( 无 符 号 右 移 ) 练 习 : 对 两 个 变 量 的 数 据 进 行 互 换 不 需 要 第 三 方 变 量 int a = 3,b = 5;-->b = 3,a = 5; 方 法 一 : a = a + b; a = 8; b = a - b; b = 3; a = a - b; a = 5; 方 法 二 : a = a ^ b;// b = a ^ b;//b = a ^ b ^ b = a a = a ^ b;//a = a ^ b ^ a = b; 练 习 : 高 效 的 算 出 2*8 = 2<<3; 5. 重 载 的 定 义 是 : 在 一 个 类 中, 如 果 出 现 了 两 个 或 者 两 个 以 上 的 同 名 函 数, 只 要 它 们 的 参 数 的 个 数, 或 者 参 数 的 类 型 不 同, 即 可 称 之 为 该 函 数 重 载 了 如 何 区 分 重 载 : 当 函 数 同 名 时, 只 看 参 数 列 表 和 返 回 值 类 型 没 关 系 重 写 : 父 类 与 子 类 之 间 的 多 态 性, 对 父 类 的 函 数 进 行 重 新 定 义 如 果 在 子 类 中 定 义 某 方 法 与 其 父 类 有 相 同 的 名 称 和 参 数, 我 们 说 该 方 法 被 重 写 (Overriding) 6. Java 内 存 管 理 Java 内 存 管 理 : 深 入 Java 内 存 区 域 Java 与 C++ 之 间 有 一 堵 由 内 存 动 态 分 配 和 垃 圾 收 集 技 术 所 围 成 的 高 墙, 墙 外 面 的 人 想 进 去, 墙 里 面 的 人 却 想 出 来 a) 概 述 : 对 于 从 事 C 和 C++ 程 序 开 发 的 开 发 人 员 来 说, 在 内 存 管 理 领 域, 他 们 既 是 拥 有 最 高 权 力 的 皇 帝, 又 是 从 事 最 基 础 工 作 的 劳 动 人 民 既 拥 有 每 一 个 对 象 的 所 有 权, 又 担 负 着 每 一 个 对 象 生 命 开 始 到 终 结 的 维 护 责 任 对 于 Java 程 序 员 来 说, 在 虚 拟 机 的 自 动 内 存 管 理 机 制 的 帮 助 下, 不 再 需 要 为 每 一 个 new 操 作 去 写 配 对 的 delete/free 代 码, 而 且 不 容 易 出 现 内 存 泄 漏 和 内 存 溢 出 问 题, 看 起 来 由 虚 拟 机 管 理 内 存 一 切 都 很 美 好 不 过, 也 正 是 因 为 Java 程 序 员 把 内 存 控 制 的 权 力 交 给 了 Java 虚 拟 机, 一 旦 出 现 内 存 泄 漏 和 溢 出 方 面 的 问 题, 如 果 不 了 解 虚 拟 机 是 怎 样 使 用 内 存 的, 那 排 查 错 误 将 会 成 为 一 项 异 常 艰 难 的 工 作 b) 运 行 时 数 据 区 域 Java 虚 拟 机 在 执 行 Java 程 序 的 过 程 中 会 把 它 所 管 理 的 内 存 划 分 为 若 干 个 不 同 的 数 据 区 域 这 些 区 域 都 有 各 自 的 用 途, 以 及 创 建 和 销 毁 的 时 间, 有 的 区 域 随 着 虚 拟 机 进 程 的 启 动 而 存 在, 有 些 区 域 则 是 依 赖 用 户 线 程 的 启 动 和 结 束 而 建 立 和 销 毁 根 据 Java 虚 拟 机 规 范 ( 第 2 版 ) 的 规 定,Java 虚 拟 机 所 管 理 的 内 存 将 会 包 括 以 下 几 个 运 行 时 数 据 区 域, 如 下 图 所 示 : 3 / 31

4 c) 程 序 计 数 器 程 序 计 数 器 (Program Counter Register) 是 一 块 较 小 的 内 存 空 间, 它 的 作 用 可 以 看 做 是 当 前 线 程 所 执 行 的 字 节 码 的 行 号 指 示 器 在 虚 拟 机 的 概 念 模 型 里 ( 仅 是 概 念 模 型, 各 种 虚 拟 机 可 能 会 通 过 一 些 更 高 效 的 方 式 去 实 现 ), 字 节 码 解 释 器 工 作 时 就 是 通 过 改 变 这 个 计 数 器 的 值 来 选 取 下 一 条 需 要 执 行 的 字 节 码 指 令, 分 支 循 环 跳 转 异 常 处 理 线 程 恢 复 等 基 础 功 能 都 需 要 依 赖 这 个 计 数 器 来 完 成 由 于 Java 虚 拟 机 的 多 线 程 是 通 过 线 程 轮 流 切 换 并 分 配 处 理 器 执 行 时 间 的 方 式 来 实 现 的, 在 任 何 一 个 确 定 的 时 刻, 一 个 处 理 器 ( 对 于 多 核 处 理 器 来 说 是 一 个 内 核 ) 只 会 执 行 一 条 线 程 中 的 指 令 因 此, 为 了 线 程 切 换 后 能 恢 复 到 正 确 的 执 行 位 置, 每 条 线 程 都 需 要 有 一 个 独 立 的 程 序 计 数 器, 各 条 线 程 之 间 的 计 数 器 互 不 影 响, 独 立 存 储, 我 们 称 这 类 内 存 区 域 为 线 程 私 有 的 内 存 如 果 线 程 正 在 执 行 的 是 一 个 Java 方 法, 这 个 计 数 器 记 录 的 是 正 在 执 行 的 虚 拟 机 字 节 码 指 令 的 地 址 ; 如 果 正 在 执 行 的 是 Natvie 方 法, 这 个 计 数 器 值 则 为 空 (Undefined) 此 内 存 区 域 是 唯 一 一 个 在 Java 虚 拟 机 规 范 中 没 有 规 定 任 何 OutOfMemoryError 情 况 的 区 域 d) Java 虚 拟 机 栈 与 程 序 计 数 器 一 样,Java 虚 拟 机 栈 (Java Virtual Machine Stacks) 也 是 线 程 私 有 的, 它 的 生 命 周 期 与 线 程 相 同 虚 拟 机 栈 描 述 的 是 Java 方 法 执 行 的 内 存 模 型 : 每 个 方 法 被 执 行 的 时 候 都 会 同 时 创 建 一 个 栈 帧 (Stack Frame) 用 于 存 储 局 部 变 量 表 操 作 栈 动 态 链 接 方 法 出 口 等 信 息 每 一 个 方 法 被 调 用 直 至 执 行 完 成 的 过 程, 就 对 应 着 一 个 栈 帧 在 虚 拟 机 栈 中 从 入 栈 到 出 栈 的 过 程 经 常 有 人 把 Java 内 存 区 分 为 堆 内 存 (Heap) 和 栈 内 存 (Stack), 这 种 分 法 比 较 粗 糙,Java 内 存 区 域 的 划 分 实 际 上 远 比 这 复 杂 这 种 划 分 方 式 的 流 行 只 能 说 明 大 多 数 程 序 员 最 关 注 的 与 对 象 内 存 分 配 关 系 最 密 切 的 内 存 区 域 是 这 两 块 其 中 所 指 的 堆 在 后 面 会 专 门 讲 述, 而 所 指 的 栈 就 是 现 在 讲 的 虚 拟 机 栈, 或 者 说 是 虚 拟 机 栈 中 的 局 部 变 量 表 部 分 局 部 变 量 表 存 放 了 编 译 期 可 知 的 各 种 基 本 数 据 类 型 (boolean byte char short int float long double) 对 象 引 用 (reference 类 型 ), 它 不 等 同 于 对 象 本 身, 根 据 不 同 的 虚 拟 机 实 现, 它 可 能 是 一 个 指 向 4 / 31

5 对 象 起 始 地 址 的 引 用 指 针, 也 可 能 指 向 一 个 代 表 对 象 的 句 柄 或 者 其 他 与 此 对 象 相 关 的 位 置 ) 和 returnaddress 类 型 ( 指 向 了 一 条 字 节 码 指 令 的 地 址 ) 其 中 64 位 长 度 的 long 和 double 类 型 的 数 据 会 占 用 2 个 局 部 变 量 空 间 (Slot), 其 余 的 数 据 类 型 只 占 用 1 个 局 部 变 量 表 所 需 的 内 存 空 间 在 编 译 期 间 完 成 分 配, 当 进 入 一 个 方 法 时, 这 个 方 法 需 要 在 帧 中 分 配 多 大 的 局 部 变 量 空 间 是 完 全 确 定 的, 在 方 法 运 行 期 间 不 会 改 变 局 部 变 量 表 的 大 小 在 Java 虚 拟 机 规 范 中, 对 这 个 区 域 规 定 了 两 种 异 常 状 况 : 如 果 线 程 请 求 的 栈 深 度 大 于 虚 拟 机 所 允 许 的 深 度, 将 抛 出 StackOverflowError 异 常 ; 如 果 虚 拟 机 栈 可 以 动 态 扩 展 ( 当 前 大 部 分 的 Java 虚 拟 机 都 可 动 态 扩 展, 只 不 过 Java 虚 拟 机 规 范 中 也 允 许 固 定 长 度 的 虚 拟 机 栈 ), 当 扩 展 时 无 法 申 请 到 足 够 的 内 存 时 会 抛 出 OutOfMemoryError 异 常 e) 本 地 方 法 栈 本 地 方 法 栈 (Native Method Stacks) 与 虚 拟 机 栈 所 发 挥 的 作 用 是 非 常 相 似 的, 其 区 别 不 过 是 虚 拟 机 栈 为 虚 拟 机 执 行 Java 方 法 ( 也 就 是 字 节 码 ) 服 务, 而 本 地 方 法 栈 则 是 为 虚 拟 机 使 用 到 的 Native 方 法 服 务 虚 拟 机 规 范 中 对 本 地 方 法 栈 中 的 方 法 使 用 的 语 言 使 用 方 式 与 数 据 结 构 并 没 有 强 制 规 定, 因 此 具 体 的 虚 拟 机 可 以 自 由 实 现 它 甚 至 有 的 虚 拟 机 ( 譬 如 Sun HotSpot 虚 拟 机 ) 直 接 就 把 本 地 方 法 栈 和 虚 拟 机 栈 合 二 为 一 与 虚 拟 机 栈 一 样, 本 地 方 法 栈 区 域 也 会 抛 出 StackOverflowError 和 OutOfMemoryError 异 常 f) Java 堆 对 于 大 多 数 应 用 来 说,Java 堆 (Java Heap) 是 Java 虚 拟 机 所 管 理 的 内 存 中 最 大 的 一 块 Java 堆 是 被 所 有 线 程 共 享 的 一 块 内 存 区 域, 在 虚 拟 机 启 动 时 创 建 此 内 存 区 域 的 唯 一 目 的 就 是 存 放 对 象 实 例, 几 乎 所 有 的 对 象 实 例 都 在 这 里 分 配 内 存 这 一 点 在 Java 虚 拟 机 规 范 中 的 描 述 是 : 所 有 的 对 象 实 例 以 及 数 组 都 要 在 堆 上 分 配, 但 是 随 着 JIT 编 译 器 的 发 展 与 逃 逸 分 析 技 术 的 逐 渐 成 熟, 栈 上 分 配 标 量 替 换 优 化 技 术 将 会 导 致 一 些 微 妙 的 变 化 发 生, 所 有 的 对 象 都 分 配 在 堆 上 也 渐 渐 变 得 不 是 那 么 绝 对 了 Java 堆 是 垃 圾 收 集 器 管 理 的 主 要 区 域, 因 此 很 多 时 候 也 被 称 做 GC 堆 (Garbage Collected Heap, 幸 好 国 内 没 翻 译 成 垃 圾 堆 ) 如 果 从 内 存 回 收 的 角 度 看, 由 于 现 在 收 集 器 基 本 都 是 采 用 的 分 代 收 集 算 法, 所 以 Java 堆 中 还 可 以 细 分 为 : 新 生 代 和 老 年 代 ; 再 细 致 一 点 的 有 Eden 空 间 From Survivor 空 间 To Survivor 空 间 等 如 果 从 内 存 分 配 的 角 度 看, 线 程 共 享 的 Java 堆 中 可 能 划 分 出 多 个 线 程 私 有 的 分 配 缓 冲 区 (Thread Local Allocation Buffer,TLAB) 不 过, 无 论 如 何 划 分, 都 与 存 放 内 容 无 关, 无 论 哪 个 区 域, 存 储 的 都 仍 然 是 对 象 实 例, 进 一 步 划 分 的 目 的 是 为 了 更 好 地 回 收 内 存, 或 者 更 快 地 分 配 内 存 在 本 章 中, 我 们 仅 仅 针 对 内 存 区 域 的 作 用 进 行 讨 论,Java 堆 中 的 上 述 各 个 区 域 的 分 配 和 回 收 等 细 节 将 会 是 下 一 章 的 主 题 根 据 Java 虚 拟 机 规 范 的 规 定,Java 堆 可 以 处 于 物 理 上 不 连 续 的 内 存 空 间 中, 只 要 逻 辑 上 是 连 续 的 即 可, 就 像 我 们 的 磁 盘 空 间 一 样 在 实 现 时, 既 可 以 实 现 成 固 定 大 小 的, 也 可 以 是 可 扩 展 的, 不 过 当 前 主 流 的 虚 拟 机 都 是 按 照 可 扩 展 来 实 现 的 ( 通 过 -Xmx 和 -Xms 控 制 ) 如 果 在 堆 中 没 有 内 存 完 成 实 例 分 配, 并 且 堆 也 无 法 再 扩 展 时, 将 会 抛 出 OutOfMemoryError 异 常 g) 方 法 区 方 法 区 (Method Area) 与 Java 堆 一 样, 是 各 个 线 程 共 享 的 内 存 区 域, 它 用 于 存 储 已 被 虚 拟 机 加 载 的 类 信 息 常 量 静 态 变 量 即 时 编 译 器 编 译 后 的 代 码 等 数 据 虽 然 Java 虚 拟 机 规 范 把 方 法 区 描 述 为 堆 的 一 个 逻 辑 部 分, 但 是 它 却 有 一 个 别 名 叫 做 Non-Heap( 非 堆 ), 目 的 应 该 是 与 Java 堆 区 分 开 来 5 / 31

6 对 于 习 惯 在 HotSpot 虚 拟 机 上 开 发 和 部 署 程 序 的 开 发 者 来 说, 很 多 人 愿 意 把 方 法 区 称 为 永 久 代 Permanent Generation), 本 质 上 两 者 并 不 等 价, 仅 仅 是 因 为 HotSpot 虚 拟 机 的 设 计 团 队 选 择 把 GC 分 代 收 集 扩 展 至 方 法 区, 或 者 说 使 用 永 久 代 来 实 现 方 法 区 而 已 对 于 其 他 虚 拟 机 ( 如 BEA JRockit IBM J9 等 ) 来 说 是 不 存 在 永 久 代 的 概 念 的 即 使 是 HotSpot 虚 拟 机 本 身, 根 据 官 方 发 布 的 路 线 图 信 息, 现 在 也 有 放 弃 永 久 代 并 搬 家 至 Native Memory 来 实 现 方 法 区 的 规 划 了 Java 虚 拟 机 规 范 对 这 个 区 域 的 限 制 非 常 宽 松, 除 了 和 Java 堆 一 样 不 需 要 连 续 的 内 存 和 可 以 选 择 固 定 大 小 或 者 可 扩 展 外, 还 可 以 选 择 不 实 现 垃 圾 收 集 相 对 而 言, 垃 圾 收 集 行 为 在 这 个 区 域 是 比 较 少 出 现 的, 但 并 非 数 据 进 入 了 方 法 区 就 如 永 久 代 的 名 字 一 样 永 久 存 在 了 这 个 区 域 的 内 存 回 收 目 标 主 要 是 针 对 常 量 池 的 回 收 和 对 类 型 的 卸 载, 一 般 来 说 这 个 区 域 的 回 收 成 绩 比 较 难 以 令 人 满 意, 尤 其 是 类 型 的 卸 载, 条 件 相 当 苛 刻, 但 是 这 部 分 区 域 的 回 收 确 实 是 有 必 要 的 在 Sun 公 司 的 BUG 列 表 中, 曾 出 现 过 的 若 干 个 严 重 的 BUG 就 是 由 于 低 版 本 的 HotSpot 虚 拟 机 对 此 区 域 未 完 全 回 收 而 导 致 内 存 泄 漏 根 据 Java 虚 拟 机 规 范 的 规 定, 当 方 法 区 无 法 满 足 内 存 分 配 需 求 时, 将 抛 出 OutOfMemoryError 异 常 h) 运 行 时 常 量 池 运 行 时 常 量 池 (Runtime Constant Pool) 是 方 法 区 的 一 部 分 Class 文 件 中 除 了 有 类 的 版 本 字 段 方 法 接 口 等 描 述 等 信 息 外, 还 有 一 项 信 息 是 常 量 池 (Constant Pool Table), 用 于 存 放 编 译 期 生 成 的 各 种 字 面 量 和 符 号 引 用, 这 部 分 内 容 将 在 类 加 载 后 存 放 到 方 法 区 的 运 行 时 常 量 池 中 Java 虚 拟 机 对 Class 文 件 的 每 一 部 分 ( 自 然 也 包 括 常 量 池 ) 的 格 式 都 有 严 格 的 规 定, 每 一 个 字 节 用 于 存 储 哪 种 数 据 都 必 须 符 合 规 范 上 的 要 求, 这 样 才 会 被 虚 拟 机 认 可 装 载 和 执 行 但 对 于 运 行 时 常 量 池,Java 虚 拟 机 规 范 没 有 做 任 何 细 节 的 要 求, 不 同 的 提 供 商 实 现 的 虚 拟 机 可 以 按 照 自 己 的 需 要 来 实 现 这 个 内 存 区 域 不 过, 一 般 来 说, 除 了 保 存 Class 文 件 中 描 述 的 符 号 引 用 外, 还 会 把 翻 译 出 来 的 直 接 引 用 也 存 储 在 运 行 时 常 量 池 中 运 行 时 常 量 池 相 对 于 Class 文 件 常 量 池 的 另 外 一 个 重 要 特 征 是 具 备 动 态 性,Java 语 言 并 不 要 求 常 量 一 定 只 能 在 编 译 期 产 生, 也 就 是 并 非 预 置 入 Class 文 件 中 常 量 池 的 内 容 才 能 进 入 方 法 区 运 行 时 常 量 池, 运 行 期 间 也 可 能 将 新 的 常 量 放 入 池 中, 这 种 特 性 被 开 发 人 员 利 用 得 比 较 多 的 便 是 String 类 的 intern() 方 法 既 然 运 行 时 常 量 池 是 方 法 区 的 一 部 分, 自 然 会 受 到 方 法 区 内 存 的 限 制, 当 常 量 池 无 法 再 申 请 到 内 存 时 会 抛 出 OutOfMemoryError 异 常 7. 对 象 访 问 介 绍 完 Java 虚 拟 机 的 运 行 时 数 据 区 之 后, 我 们 就 可 以 来 探 讨 一 个 问 题 : 在 Java 语 言 中, 对 象 访 问 是 如 何 进 行 的? 对 象 访 问 在 Java 语 言 中 无 处 不 在, 是 最 普 通 的 程 序 行 为, 但 即 使 是 最 简 单 的 访 问, 也 会 却 涉 及 Java 栈 Java 堆 方 法 区 这 三 个 最 重 要 内 存 区 域 之 间 的 关 联 关 系, 如 下 面 的 这 句 代 码 : Object obj = new Object(); 假 设 这 句 代 码 出 现 在 方 法 体 中, 那 Object obj 这 部 分 的 语 义 将 会 反 映 到 Java 栈 的 本 地 变 量 表 中, 作 为 一 个 reference 类 型 数 据 出 现 而 new Object() 这 部 分 的 语 义 将 会 反 映 到 Java 堆 中, 形 成 一 块 存 储 了 Object 类 型 所 有 实 例 数 据 值 (Instance Data, 对 象 中 各 个 实 例 字 段 的 数 据 ) 的 结 构 化 内 存, 根 据 具 体 类 型 以 及 虚 拟 机 实 现 的 对 象 内 存 布 局 (Object Memory Layout) 的 不 同, 这 块 内 存 的 长 度 是 不 固 定 的 另 外, 在 Java 堆 中 还 必 须 包 含 能 查 找 到 此 对 象 类 型 数 据 ( 如 对 象 类 型 父 类 实 现 的 接 口 方 法 等 ) 的 地 址 信 息, 这 些 类 型 数 据 则 存 储 在 方 法 区 中 6 / 31

7 由 于 reference 类 型 在 Java 虚 拟 机 规 范 里 面 只 规 定 了 一 个 指 向 对 象 的 引 用, 并 没 有 定 义 这 个 引 用 应 该 通 过 哪 种 方 式 去 定 位, 以 及 访 问 到 Java 堆 中 的 对 象 的 具 体 位 置, 因 此 不 同 虚 拟 机 实 现 的 对 象 访 问 方 式 会 有 所 不 同, 主 流 的 访 问 方 式 有 两 种 : 使 用 句 柄 和 直 接 指 针 如 果 使 用 句 柄 访 问 方 式,Java 堆 中 将 会 划 分 出 一 块 内 存 来 作 为 句 柄 池,reference 中 存 储 的 就 是 对 象 的 句 柄 地 址, 而 句 柄 中 包 含 了 对 象 实 例 数 据 和 类 型 数 据 各 自 的 具 体 地 址 信 息, 如 下 图 所 示 : 如 果 使 用 的 是 直 接 指 针 访 问 方 式,Java 堆 对 象 的 布 局 中 就 必 须 考 虑 如 何 放 置 访 问 类 型 数 据 的 相 关 信 息, reference 中 直 接 存 储 的 就 是 对 象 地 址, 如 下 图 所 示 : 这 两 种 对 象 的 访 问 方 式 各 有 优 势, 使 用 句 柄 访 问 方 式 的 最 大 好 处 就 是 reference 中 存 储 的 是 稳 定 的 句 柄 地 址, 在 对 象 被 移 动 ( 垃 圾 收 集 时 移 动 对 象 是 非 常 普 遍 的 行 为 ) 时 只 会 改 变 句 柄 中 的 实 例 数 据 指 针, 而 reference 7 / 31

8 本 身 不 需 要 被 修 改 使 用 直 接 指 针 访 问 方 式 的 最 大 好 处 就 是 速 度 更 快, 它 节 省 了 一 次 指 针 定 位 的 时 间 开 销, 由 于 对 象 的 访 问 在 Java 中 非 常 频 繁, 因 此 这 类 开 销 积 少 成 多 后 也 是 一 项 非 常 可 观 的 执 行 成 本 就 本 书 讨 论 的 主 要 虚 拟 机 Sun HotSpot 而 言, 它 是 使 用 第 二 种 方 式 进 行 对 象 访 问 的, 但 从 整 个 软 件 开 发 的 范 围 来 看, 各 种 语 言 和 框 架 使 用 句 柄 来 访 问 的 情 况 也 十 分 常 见 三 : 面 向 对 象 : 类 匿 名 对 象 使 用 场 景 : 1: 当 对 方 法 只 进 行 一 次 调 用 的 时 候, 可 以 使 用 匿 名 对 象 2: 当 对 象 对 成 员 进 行 多 次 调 用 时, 不 能 使 用 匿 名 对 象 必 须 给 对 象 起 名 字 类 中 怎 么 没 有 定 义 主 函 数 呢? 注 意 : 主 函 数 的 存 在, 仅 为 该 类 是 否 需 要 独 立 运 行, 如 果 不 需 要, 主 函 数 是 不 用 定 义 的 主 函 数 的 解 释 : 保 证 所 在 类 的 独 立 运 行, 是 程 序 的 入 口, 被 jvm 调 用 成 员 变 量 和 局 部 变 量 的 区 别 : 1: 成 员 变 量 直 接 定 义 在 类 中 局 部 变 量 定 义 在 方 法 中, 参 数 上, 语 句 中 2: 成 员 变 量 在 这 个 类 中 有 效 局 部 变 量 只 在 自 己 所 属 的 大 括 号 内 有 效, 大 括 号 结 束, 局 部 变 量 失 去 作 用 域 3: 成 员 变 量 存 在 于 堆 内 存 中, 随 着 对 象 的 产 生 而 存 在, 消 失 而 消 失 局 部 变 量 存 在 于 栈 内 存 中, 随 着 所 属 区 域 的 运 行 而 存 在, 结 束 而 释 放 构 造 函 数 : 用 于 给 对 象 进 行 初 始 化, 是 给 与 之 对 应 的 对 象 进 行 初 始 化, 它 具 有 针 对 性, 函 数 中 的 一 种 特 点 : 1: 该 函 数 的 名 称 和 所 在 类 的 名 称 相 同 2: 不 需 要 定 义 返 回 值 类 型 3: 该 函 数 没 有 具 体 的 返 回 值 记 住 : 所 有 对 象 创 建 时, 都 需 要 初 始 化 才 可 以 使 用 注 意 事 项 : 一 个 类 在 定 义 时, 如 果 没 有 定 义 过 构 造 函 数, 那 么 该 类 中 会 自 动 生 成 一 个 空 参 数 的 构 造 函 数, 为 了 方 便 该 类 创 建 对 象, 完 成 初 始 化 如 果 在 类 中 自 定 义 了 构 造 函 数, 那 么 默 认 的 构 造 函 数 就 没 有 了 一 个 类 中, 可 以 有 多 个 构 造 函 数, 因 为 它 们 的 函 数 名 称 都 相 同, 所 以 只 能 通 过 参 数 列 表 来 区 分 所 以, 一 个 类 中 如 果 出 现 多 个 构 造 函 数 它 们 的 存 在 是 以 重 载 体 现 的 构 造 代 码 块 和 构 造 函 数 有 什 么 区 别? 构 造 代 码 块 : 是 给 所 有 的 对 象 进 行 初 始 化, 也 就 是 说, 所 有 的 对 象 都 会 调 用 一 个 代 码 块 只 要 对 象 一 建 立 就 会 调 用 这 个 代 码 块 8 / 31

9 构 造 函 数 : 是 给 与 之 对 应 的 对 象 进 行 初 始 化 它 具 有 针 对 性 1. 执 行 顺 序 :( 优 先 级 从 高 到 低 ) 静 态 代 码 块 >mian 方 法 > 构 造 代 码 块 > 构 造 方 法 其 中 静 态 代 码 块 只 执 行 一 次 构 造 代 码 块 在 每 次 创 建 对 象 是 都 会 执 行 2. 静 态 代 码 块 的 作 用 : 比 如 我 们 在 调 用 C 语 言 的 动 态 库 时 会 可 把.so 文 件 放 在 此 处 3. 构 造 代 码 块 的 功 能 :( 可 以 把 不 同 构 造 方 法 中 相 同 的 共 性 的 东 西 写 在 它 里 面 ) 例 如 : 比 如 不 论 任 何 机 型 的 电 脑 都 有 开 机 这 个 功 能, 此 时 我 们 就 可 以 把 这 个 功 能 定 义 在 构 造 代 码 块 内 Person p = new Person(); 创 建 一 个 对 象 都 在 内 存 中 做 了 什 么 事 情? 1: 先 将 硬 盘 上 指 定 位 置 的 Person.class 文 件 加 载 进 内 存 2: 执 行 main 方 法 时, 在 栈 内 存 中 开 辟 了 main 方 法 的 空 间 ( 压 栈 - 进 栈 ), 然 后 在 main 方 法 的 栈 区 分 配 了 一 个 变 量 p 3: 在 堆 内 存 中 开 辟 一 个 实 体 空 间, 分 配 了 一 个 内 存 首 地 址 值 new 4: 在 该 实 体 空 间 中 进 行 属 性 的 空 间 分 配, 并 进 行 了 默 认 初 始 化 5: 对 空 间 中 的 属 性 进 行 显 示 初 始 化 6: 进 行 实 体 的 构 造 代 码 块 初 始 化 7: 调 用 该 实 体 对 应 的 构 造 函 数, 进 行 构 造 函 数 初 始 化 () 8: 将 首 地 址 赋 值 给 p,p 变 量 就 引 用 了 该 实 体 ( 指 向 了 该 对 象 ) 封 装 ( 面 向 对 象 特 征 之 一 ): 是 指 隐 藏 对 象 的 属 性 和 实 现 细 节, 仅 对 外 提 供 公 共 访 问 方 式 好 处 : 将 变 化 隔 离 ; 便 于 使 用 ; 提 高 重 用 性 ; 安 全 性 封 装 原 则 : 将 不 需 要 对 外 提 供 的 内 容 都 隐 藏 起 来, 把 属 性 都 隐 藏, 提 供 公 共 方 法 对 其 访 问 this: 代 表 对 象 就 是 所 在 函 数 所 属 对 象 的 引 用 this 到 底 代 表 什 么 呢? 哪 个 对 象 调 用 了 this 所 在 的 函 数,this 就 代 表 哪 个 对 象, 就 是 哪 个 对 象 的 引 用 开 发 时, 什 么 时 候 使 用 this 呢? 在 定 义 功 能 时, 如 果 该 功 能 内 部 使 用 到 了 调 用 该 功 能 的 对 象, 这 时 就 用 this 来 表 示 这 个 对 象 this 还 可 以 用 于 构 造 函 数 间 的 调 用 9 / 31

10 调 用 格 式 :this( 实 际 参 数 ); this 对 象 后 面 跟 上. 调 用 的 是 成 员 属 性 和 成 员 方 法 ( 一 般 方 法 ); this 对 象 后 面 跟 上 () 调 用 的 是 本 类 中 的 对 应 参 数 的 构 造 函 数 注 意 : 用 this 调 用 构 造 函 数, 必 须 定 义 在 构 造 函 数 的 第 一 行 因 为 构 造 函 数 是 用 于 初 始 化 的, 所 以 初 始 化 动 作 一 定 要 执 行 否 则 编 译 失 败 static: 关 键 字, 是 一 个 修 饰 符, 用 于 修 饰 成 员 ( 成 员 变 量 和 成 员 函 数 ) 特 点 : 1 static 变 量 按 照 是 否 静 态 的 对 类 成 员 变 量 进 行 分 类 可 分 两 种 : 一 种 是 被 static 修 饰 的 变 量, 叫 静 态 变 量 或 类 变 量 ; 另 一 种 是 没 有 被 static 修 饰 的 变 量, 叫 实 例 变 量 两 者 的 区 别 是 : 对 于 静 态 变 量 在 内 存 中 只 有 一 个 拷 贝 ( 节 省 内 存 ),JVM 只 为 静 态 分 配 一 次 内 存, 在 加 载 类 的 过 程 中 完 成 静 态 变 量 的 内 存 分 配, 可 用 类 名 直 接 访 问 ( 方 便 ), 当 然 也 可 以 通 过 对 象 来 访 问 ( 但 是 这 是 不 推 荐 的 ) 对 于 实 例 变 量, 没 创 建 一 个 实 例, 就 会 为 实 例 变 量 分 配 一 次 内 存, 实 例 变 量 可 以 在 内 存 中 有 多 个 拷 贝, 互 不 影 响 ( 灵 活 ) 2 静 态 方 法 静 态 方 法 可 以 直 接 通 过 类 名 调 用, 任 何 的 实 例 也 都 可 以 调 用, 因 此 静 态 方 法 中 不 能 用 this 和 super 关 键 字, 不 能 直 接 访 问 所 属 类 的 实 例 变 量 和 实 例 方 法 ( 就 是 不 带 static 的 成 员 变 量 和 成 员 成 员 方 法 ), 只 能 访 问 所 属 类 的 静 态 成 员 变 量 和 成 员 方 法 因 为 实 例 成 员 与 特 定 的 对 象 关 联! 这 个 需 要 去 理 解, 想 明 白 其 中 的 道 理, 不 是 记 忆!!! 因 为 static 方 法 独 立 于 任 何 实 例, 因 此 static 方 法 必 须 被 实 现, 而 不 能 是 抽 象 的 abstract 3 static 代 码 块 static 代 码 块 也 叫 静 态 代 码 块, 是 在 类 中 独 立 于 类 成 员 的 static 语 句 块, 可 以 有 多 个, 位 置 可 以 随 便 放, 它 不 在 任 何 的 方 法 体 内,JVM 加 载 类 时 会 执 行 这 些 静 态 的 代 码 块, 如 果 static 代 码 块 有 多 个,JVM 将 按 照 它 们 在 类 中 出 现 的 先 后 顺 序 依 次 执 行 它 们, 每 个 代 码 块 只 会 被 执 行 一 次 4 static 和 final 一 块 用 表 示 什 么 static final 用 来 修 饰 成 员 变 量 和 成 员 方 法, 可 简 单 理 解 为 全 局 常 量! 对 于 变 量, 表 示 一 旦 给 值 就 不 可 修 改, 并 且 通 过 类 名 可 以 访 问 对 于 方 法, 表 示 不 可 覆 盖, 并 且 可 以 通 过 类 名 直 接 访 问 备 注 : 1, 有 些 数 据 是 对 象 特 有 的 数 据, 是 不 可 以 被 静 态 修 饰 的 因 为 那 样 的 话, 特 有 数 据 会 变 成 对 象 的 共 享 数 据 这 样 对 事 物 的 描 述 就 出 了 问 题 所 以, 在 定 义 静 态 时, 必 须 要 明 确, 这 个 数 据 是 否 是 被 对 象 所 共 享 的 2, 静 态 方 法 只 能 访 问 静 态 成 员, 不 可 以 访 问 非 静 态 成 员 ( 这 句 话 是 针 对 同 一 个 类 环 境 下 的, 比 如 说, 一 个 类 有 多 个 成 员 ( 属 性, 方 法, 字 段 ), 静 态 方 法 A, 那 么 可 以 访 问 同 类 名 下 其 他 静 态 成 员, 你 如 果 访 问 非 静 态 成 员 就 不 行 ) 因 为 静 态 方 法 加 载 时, 优 先 于 对 象 存 在, 所 以 没 有 办 法 访 问 对 象 中 的 成 员 3, 静 态 方 法 中 不 能 使 用 this,super 关 键 字 因 为 this 代 表 对 象, 而 静 态 在 时, 有 可 能 没 有 对 象, 所 以 this 无 法 使 用 4, 主 函 数 是 静 态 的 成 员 变 量 和 静 态 变 量 的 区 别 : 1, 成 员 变 量 所 属 于 对 象 所 以 也 称 为 实 例 变 量 静 态 变 量 所 属 于 类 所 以 也 称 为 类 变 量 10 / 31

11 2, 成 员 变 量 存 在 于 堆 内 存 中 静 态 变 量 存 在 于 方 法 区 中 3, 成 员 变 量 随 着 对 象 创 建 而 存 在 随 着 对 象 被 回 收 而 消 失 静 态 变 量 随 着 类 的 加 载 而 存 在 随 着 类 的 消 失 而 消 失 4, 成 员 变 量 只 能 被 对 象 所 调 用 静 态 变 量 可 以 被 对 象 调 用, 也 可 以 被 类 名 调 用 所 以, 成 员 变 量 可 以 称 为 对 象 的 特 有 数 据, 静 态 变 量 称 为 对 象 的 共 享 数 据 静 态 代 码 块 : 就 是 一 个 有 静 态 关 键 字 标 示 的 一 个 代 码 块 区 域 定 义 在 类 中 作 用 : 可 以 完 成 类 的 初 始 化 静 态 代 码 块 随 着 类 的 加 载 而 执 行, 而 且 只 执 行 一 次 (new 多 个 对 象 就 只 执 行 一 次 ) 如 果 和 主 函 数 在 同 一 类 中, 优 先 于 主 函 数 执 行 final 根 据 程 序 上 下 文 环 境,Java 关 键 字 final 有 这 是 无 法 改 变 的 或 者 终 态 的 含 义, 它 可 以 修 饰 非 抽 象 类 非 抽 象 类 成 员 方 法 和 变 量 你 可 能 出 于 两 种 理 解 而 需 要 阻 止 改 变 设 计 或 效 率 final 类 不 能 被 继 承, 没 有 子 类,final 类 中 的 方 法 默 认 是 final 的 final 方 法 不 能 被 子 类 的 方 法 覆 盖, 但 可 以 被 继 承 final 成 员 变 量 表 示 常 量, 只 能 被 赋 值 一 次, 赋 值 后 值 不 再 改 变 final 不 能 用 于 修 饰 构 造 方 法 注 意 : 父 类 的 private 成 员 方 法 是 不 能 被 子 类 方 法 覆 盖 的, 因 此 private 类 型 的 方 法 默 认 是 final 类 型 的 1 final 类 final 类 不 能 被 继 承, 因 此 final 类 的 成 员 方 法 没 有 机 会 被 覆 盖, 默 认 都 是 final 的 在 设 计 类 时 候, 如 果 这 个 类 不 需 要 有 子 类, 类 的 实 现 细 节 不 允 许 改 变, 并 且 确 信 这 个 类 不 会 载 被 扩 展, 那 么 就 设 计 为 final 类 2 final 方 法 如 果 一 个 类 不 允 许 其 子 类 覆 盖 某 个 方 法, 则 可 以 把 这 个 方 法 声 明 为 final 方 法 使 用 final 方 法 的 原 因 有 二 : 第 一 把 方 法 锁 定, 防 止 任 何 继 承 类 修 改 它 的 意 义 和 实 现 第 二 高 效 编 译 器 在 遇 到 调 用 final 方 法 时 候 会 转 入 内 嵌 机 制, 大 大 提 高 执 行 效 率 3 final 变 量 ( 常 量 ) 用 final 修 饰 的 成 员 变 量 表 示 常 量, 值 一 旦 给 定 就 无 法 改 变! final 修 饰 的 变 量 有 三 种 : 静 态 变 量 实 例 变 量 和 局 部 变 量, 分 别 表 示 三 种 类 型 的 常 量 从 下 面 的 例 子 中 可 以 看 出, 一 旦 给 final 变 量 初 值 后, 值 就 不 能 再 改 变 了 另 外,final 变 量 定 义 的 时 候, 可 以 先 声 明, 而 不 给 初 值, 这 中 变 量 也 称 为 final 空 白, 无 论 什 么 情 况, 编 译 器 都 确 保 空 白 final 在 使 用 之 前 必 须 被 初 始 化 但 是,final 空 白 在 final 关 键 字 final 的 使 用 上 提 供 了 更 大 的 灵 活 性, 为 此, 一 个 类 中 的 final 数 据 成 员 就 可 以 实 现 依 对 象 而 有 所 不 同, 却 有 保 持 其 恒 定 不 变 的 特 征 4 final 参 数 当 函 数 参 数 为 final 类 型 时, 你 可 以 读 取 使 用 该 参 数, 但 是 无 法 改 变 该 参 数 的 值 生 成 Java 帮 助 文 档 : 命 令 格 式 :javadoc d 文 件 夹 名 auther version *.java /** // 格 式 * 类 描 述 *@author 作 者 名 *@version 版 本 号 11 / 31

12 */ /** * 方 法 描 述 *@param 参 数 描 述 *@return 返 回 值 描 述 */ 继 承 ( 面 向 对 象 特 征 之 一 ) java 中 对 于 继 承,java 只 支 持 单 继 承 java 虽 然 不 直 接 支 持 多 继 承, 但 是 可 实 现 多 接 口 1: 成 员 变 量 当 子 父 类 中 出 现 一 样 的 属 性 时, 子 类 类 型 的 对 象, 调 用 该 属 性, 值 是 子 类 的 属 性 值 如 果 想 要 调 用 父 类 中 的 属 性 值, 需 要 使 用 一 个 关 键 字 :super This: 代 表 是 本 类 类 型 的 对 象 引 用 Super: 代 表 是 子 类 所 属 的 父 类 中 的 内 存 空 间 引 用 注 意 : 子 父 类 中 通 常 是 不 会 出 现 同 名 成 员 变 量 的, 因 为 父 类 中 只 要 定 义 了, 子 类 就 不 用 在 定 义 了, 直 接 继 承 过 来 用 就 可 以 了 2: 成 员 函 数 当 子 父 类 中 出 现 了 一 模 一 样 的 方 法 时, 建 立 子 类 对 象 会 运 行 子 类 中 的 方 法 好 像 父 类 中 的 方 法 被 覆 盖 掉 一 样 所 以 这 种 情 况, 是 函 数 的 另 一 个 特 性 : 重 写 3: 构 造 函 数 发 现 子 类 构 造 函 数 运 行 时, 先 运 行 了 父 类 的 构 造 函 数 为 什 么 呢? 原 因 : 子 类 的 所 有 构 造 函 数 中 的 第 一 行, 其 实 都 有 一 条 隐 身 的 语 句 super(); super(): 表 示 父 类 的 构 造 函 数, 并 会 调 用 于 参 数 相 对 应 的 父 类 中 的 构 造 函 数 而 super(): 是 在 调 用 父 类 中 空 参 数 的 构 造 函 数 为 什 么 子 类 对 象 初 始 化 时, 都 需 要 调 用 父 类 中 的 函 数?( 为 什 么 要 在 子 类 构 造 函 数 的 第 一 行 加 入 这 个 super()?) 因 为 子 类 继 承 父 类, 会 继 承 到 父 类 中 的 数 据, 所 以 必 须 要 看 父 类 是 如 何 对 自 己 的 数 据 进 行 初 始 化 的 所 以 子 类 在 进 行 对 象 初 始 化 时, 先 调 用 父 类 的 构 造 函 数, 这 就 是 子 类 的 实 例 化 过 程 注 意 : 子 类 中 所 有 的 构 造 函 数 都 会 默 认 访 问 父 类 中 的 空 参 数 的 构 造 函 数, 因 为 每 一 个 子 类 构 造 内 第 一 行 都 有 默 认 的 语 句 super(); 如 果 父 类 中 没 有 空 参 数 的 构 造 函 数, 那 么 子 类 的 构 造 函 数 内, 必 须 通 过 super 语 句 指 定 要 访 问 的 父 类 中 的 构 造 函 数 如 果 子 类 构 造 函 数 中 用 this 来 指 定 调 用 子 类 自 己 的 构 造 函 数, 那 么 被 调 用 的 构 造 函 数 也 一 样 会 访 问 父 类 中 的 构 造 函 数 问 题 : super() 和 this() 是 否 可 以 同 时 出 现 的 构 造 函 数 中? 两 个 语 句 只 能 有 一 个 定 义 在 第 一 行, 所 以 只 能 出 现 其 中 一 个 super() 或 者 this(): 为 什 么 一 定 要 定 义 在 第 一 行? 因 为 super() 或 者 this() 都 是 调 用 构 造 函 数, 构 造 函 数 用 于 初 始 化, 所 以 初 始 化 的 动 作 要 先 完 成 12 / 31

13 在 方 法 覆 盖 时, 注 意 两 点 : 1: 子 类 覆 盖 父 类 时, 必 须 要 保 证, 子 类 方 法 的 权 限 必 须 大 于 等 于 父 类 方 法 权 限 可 以 实 现 继 承 否 则, 编 译 失 败 ( 举 个 例 子, 在 父 类 中 是 public 的 方 法, 如 果 子 类 中 将 其 降 低 访 问 权 限 为 private, 那 么 子 类 中 重 写 以 后 的 方 法 对 于 外 部 对 象 就 不 可 访 问 了, 这 个 就 破 坏 了 继 承 的 含 义 ) 2: 覆 盖 时, 要 么 都 静 态, 要 么 都 不 静 态 ( 静 态 只 能 覆 盖 静 态, 或 者 被 静 态 覆 盖 ) 继 承 的 一 个 弊 端 : 打 破 了 封 装 性 对 于 一 些 类, 或 者 类 中 功 能, 是 需 要 被 继 承, 或 者 复 写 的 这 时 如 何 解 决 问 题 呢? 介 绍 一 个 关 键 字,final final 特 点 :( 详 细 解 释 见 前 面 ) 1: 这 个 关 键 字 是 一 个 修 饰 符, 可 以 修 饰 类, 方 法, 变 量 2: 被 final 修 饰 的 类 是 一 个 最 终 类, 不 可 以 被 继 承 3: 被 final 修 饰 的 方 法 是 一 个 最 终 方 法, 不 可 以 被 覆 盖 4: 被 final 修 饰 的 变 量 是 一 个 常 量, 只 能 赋 值 一 次 抽 象 类 : abstract 抽 象 类 的 特 点 : 1: 抽 象 方 法 只 能 定 义 在 抽 象 类 中, 抽 象 类 和 抽 象 方 法 必 须 由 abstract 关 键 字 修 饰 ( 可 以 描 述 类 和 方 法, 不 可 以 描 述 变 量 ) 2: 抽 象 方 法 只 定 义 方 法 声 明, 并 不 定 义 方 法 实 现 3: 抽 象 类 不 可 以 被 创 建 对 象 ( 实 例 化 ) 4: 只 有 通 过 子 类 继 承 抽 象 类 并 覆 盖 了 抽 象 类 中 的 所 有 抽 象 方 法 后, 该 子 类 才 可 以 实 例 化 否 则, 该 子 类 还 是 一 个 抽 象 类 抽 象 类 的 细 节 : 1: 抽 象 类 中 是 否 有 构 造 函 数? 有, 用 于 给 子 类 对 象 进 行 初 始 化 2: 抽 象 类 中 是 否 可 以 定 义 非 抽 象 方 法? 可 以 其 实, 抽 象 类 和 一 般 类 没 有 太 大 的 区 别, 都 是 在 描 述 事 物, 只 不 过 抽 象 类 在 描 述 事 物 时, 有 些 功 能 不 具 体 所 以 抽 象 类 和 一 般 类 在 定 义 上, 都 是 需 要 定 义 属 性 和 行 为 的 只 不 过, 比 一 般 类 多 了 一 个 抽 象 函 数 而 且 比 一 般 类 少 了 一 个 创 建 对 象 的 部 分 3: 抽 象 关 键 字 abstract 和 哪 些 不 可 以 共 存?final, private, static 4: 抽 象 类 中 可 不 可 以 不 定 义 抽 象 方 法? 可 以 抽 象 方 法 目 的 仅 仅 为 了 不 让 该 类 创 建 对 象 接 口 : 1: 是 用 关 键 字 interface 定 义 的 2: 接 口 中 包 含 的 成 员, 最 常 见 的 有 全 局 常 量 抽 象 方 法 注 意 : 接 口 中 的 成 员 都 有 固 定 的 修 饰 符 成 员 变 量 :public static final 成 员 方 法 :public abstract interface Inter{ public static final int x = 3; public abstract void show(); 13 / 31

14 3: 接 口 中 有 抽 象 方 法, 说 明 接 口 不 可 以 实 例 化 接 口 的 子 类 必 须 实 现 了 接 口 中 所 有 的 抽 象 方 法 后, 该 子 类 才 可 以 实 例 化 否 则, 该 子 类 还 是 一 个 抽 象 类 4: 类 与 类 之 间 存 在 着 继 承 关 系, 类 与 接 口 中 间 存 在 的 是 实 现 关 系 继 承 用 extends ; 实 现 用 implements ; 5: 接 口 和 类 不 一 样 的 地 方, 就 是, 接 口 可 以 被 多 实 现, 这 就 是 多 继 承 改 良 后 的 结 果 java 将 多 继 承 机 制 通 过 多 现 实 来 体 现 6: 一 个 类 在 继 承 另 一 个 类 的 同 时, 还 可 以 实 现 多 个 接 口 所 以 接 口 的 出 现 避 免 了 单 继 承 的 局 限 性 还 可 以 将 类 进 行 功 能 的 扩 展 7: 其 实 java 中 是 有 多 继 承 的 接 口 与 接 口 之 间 存 在 着 继 承 关 系, 接 口 可 以 多 继 承 接 口 java 类 是 单 继 承 的 classb Extends classa java 接 口 可 以 多 继 承 Interface3 Extends Interface0, Interface1, interface 不 允 许 类 多 重 继 承 的 主 要 原 因 是, 如 果 A 同 时 继 承 B 和 C, 而 b 和 c 同 时 有 一 个 D 方 法,A 如 何 决 定 该 继 承 那 一 个 呢? 但 接 口 不 存 在 这 样 的 问 题, 接 口 全 都 是 抽 象 方 法 继 承 谁 都 无 所 谓, 所 以 接 口 可 以 继 承 多 个 接 口 抽 象 类 与 接 口 : 抽 象 类 : 一 般 用 于 描 述 一 个 体 系 单 元, 将 一 组 共 性 内 容 进 行 抽 取, 特 点 : 可 以 在 类 中 定 义 抽 象 内 容 让 子 类 实 现, 可 以 定 义 非 抽 象 内 容 让 子 类 直 接 使 用 它 里 面 定 义 的 都 是 一 些 体 系 中 的 基 本 内 容 接 口 : 一 般 用 于 定 义 对 象 的 扩 展 功 能, 是 在 继 承 之 外 还 需 这 个 对 象 具 备 的 一 些 功 能 抽 象 类 和 接 口 的 共 性 : 都 是 不 断 向 上 抽 取 的 结 果 抽 象 类 和 接 口 的 区 别 : 1: 抽 象 类 只 能 被 继 承, 而 且 只 能 单 继 承 接 口 需 要 被 实 现, 而 且 可 以 多 实 现 2: 抽 象 类 中 可 以 定 义 非 抽 象 方 法, 子 类 可 以 直 接 继 承 使 用 接 口 中 都 是 抽 象 方 法, 需 要 子 类 去 实 现 3: 抽 象 类 使 用 的 是 is a 关 系 接 口 使 用 的 like a 关 系 4: 抽 象 类 的 成 员 修 饰 符 可 以 自 定 义 接 口 中 的 成 员 修 饰 符 是 固 定 的 全 都 是 public 的 多 态 多 态 ( 面 向 对 象 特 征 之 一 ): 函 数 本 身 就 具 备 多 态 性, 某 一 种 事 物 有 不 同 的 具 体 的 体 现 体 现 : 父 类 引 用 或 者 接 口 的 引 用 指 向 了 自 己 的 子 类 对 象 //Animal a = new Cat(); 父 类 可 以 调 用 子 类 中 覆 写 过 的 ( 父 类 中 有 的 方 法 ) 多 态 的 好 处 : 提 高 了 程 序 的 扩 展 性 继 承 的 父 类 或 接 口 一 般 是 类 库 中 的 东 西,( 如 果 要 修 改 某 个 方 法 的 具 体 实 现 方 式 ) 只 有 通 过 子 类 去 覆 写 要 改 变 的 某 一 个 方 法, 这 样 在 通 过 将 父 类 的 应 用 指 向 子 类 的 实 例 去 调 用 覆 写 过 的 方 法 就 行 了! 多 态 的 弊 端 : 当 父 类 引 用 指 向 子 类 对 象 时, 虽 然 提 高 了 扩 展 性, 但 是 只 能 访 问 父 类 中 具 备 的 方 法, 不 可 以 访 问 子 类 中 特 有 的 方 法 ( 前 期 不 能 使 用 后 期 产 生 的 功 能, 即 访 问 的 局 限 性 ) 14 / 31

15 多 态 的 前 提 : 1: 必 须 要 有 关 系, 比 如 继 承 或 者 实 现 2: 通 常 会 有 覆 盖 操 作 如 果 想 用 子 类 对 象 的 特 有 方 法, 如 何 判 断 对 象 是 哪 个 具 体 的 子 类 类 型 呢? 可 以 可 以 通 过 一 个 关 键 字 instanceof ;// 判 断 对 象 是 否 实 现 了 指 定 的 接 口 或 继 承 了 指 定 的 类 格 式 :< 对 象 instanceof 类 型 >, 判 断 一 个 对 象 是 否 所 属 于 指 定 的 类 型 Student instanceof Person = true;//student 继 承 了 person 类 java.lang.object Object: 所 有 类 的 直 接 或 者 间 接 父 类,Java 认 为 所 有 的 对 象 都 具 备 一 些 基 本 的 共 性 内 容, 这 些 内 容 可 以 不 断 的 向 上 抽 取, 最 终 就 抽 取 到 了 一 个 最 顶 层 的 类 中 的, 该 类 中 定 义 的 就 是 所 有 对 象 都 具 备 的 功 能 具 体 方 法 : 1, boolean equals(object obj): 用 于 比 较 两 个 对 象 是 否 相 等, 其 实 内 部 比 较 的 就 是 两 个 对 象 地 址 2, String tostring() : 将 对 象 变 成 字 符 串 ; 默 认 返 回 的 格 式 : 类 哈 希 值 = getclass().getname() + '@' + Integer.toHexString(hashCode()) 为 了 对 象 对 应 的 字 符 串 内 容 有 意 义, 可 以 通 过 复 写, 建 立 该 类 对 象 自 己 特 有 的 字 符 串 表 现 形 式 public String tostring(){ return "person : "+age; 3,Class getclass(): 获 取 任 意 对 象 运 行 时 的 所 属 字 节 码 文 件 对 象 4,int hashcode(): 返 回 该 对 象 的 哈 希 码 值 支 持 此 方 法 是 为 了 提 高 哈 希 表 的 性 能 将 该 对 象 的 内 部 地 址 转 换 成 一 个 整 数 来 实 现 的 通 常 equals,tostring,hashcode, 在 应 用 中 都 会 被 复 写, 建 立 具 体 对 象 的 特 有 的 内 容 内 部 类 : 如 果 A 类 需 要 直 接 访 问 B 类 中 的 成 员, 而 B 类 又 需 要 建 立 A 类 的 对 象 这 时, 为 了 方 便 设 计 和 访 问, 直 接 将 A 类 定 义 在 B 类 中 就 可 以 了 A 类 就 称 为 内 部 类 内 部 类 可 以 直 接 访 问 外 部 类 中 的 成 员 而 外 部 类 想 要 访 问 内 部 类, 必 须 要 建 立 内 部 类 的 对 象 class Outer{ int num = 4; class Inner { void show(){ System.out.println("inner show run "+num); public void method(){ Inner in = new Inner();// 创 建 内 部 类 的 对 象 in.show();// 调 用 内 部 类 的 方 法 // 内 部 类 直 接 访 问 外 部 类 成 员, 用 自 己 的 实 例 对 象 ; // 外 部 类 访 问 内 部 类 要 定 义 内 部 类 的 对 象 ; 15 / 31

16 当 内 部 类 定 义 在 外 部 类 中 的 成 员 位 置 上, 可 以 使 用 一 些 成 员 修 饰 符 修 饰 private static 1: 默 认 修 饰 符 直 接 访 问 内 部 类 格 式 : 外 部 类 名. 内 部 类 名 变 量 名 = 外 部 类 对 象. 内 部 类 对 象 ; Outer.Inner in = new Outer.new Inner();// 这 种 形 式 很 少 用 但 是 这 种 应 用 不 多 见, 因 为 内 部 类 之 所 以 定 义 在 内 部 就 是 为 了 封 装 想 要 获 取 内 部 类 对 象 通 常 都 通 过 外 部 类 的 方 法 来 获 取 这 样 可 以 对 内 部 类 对 象 进 行 控 制 2: 私 有 修 饰 符 通 常 内 部 类 被 封 装, 都 会 被 私 有 化, 因 为 封 装 性 不 让 其 他 程 序 直 接 访 问 3: 静 态 修 饰 符 如 果 内 部 类 被 静 态 修 饰, 相 当 于 外 部 类, 会 出 现 访 问 局 限 性, 只 能 访 问 外 部 类 中 的 静 态 成 员 注 意 ; 如 果 内 部 类 中 定 义 了 静 态 成 员, 那 么 该 内 部 类 必 须 是 静 态 的 内 部 类 编 译 后 的 文 件 名 为 : 外 部 类 名 $ 内 部 类 名.java ; 为 什 么 内 部 类 可 以 直 接 访 问 外 部 类 中 的 成 员 呢? 那 是 因 为 内 部 中 都 持 有 一 个 外 部 类 的 引 用 这 个 是 引 用 是 外 部 类 名.this 内 部 类 可 以 定 义 在 外 部 类 中 的 成 员 位 置 上, 也 可 以 定 义 在 外 部 类 中 的 局 部 位 置 上 当 内 部 类 被 定 义 在 局 部 位 置 上, 只 能 访 问 局 部 中 被 final 修 饰 的 局 部 变 量 匿 名 内 部 类 ( 对 象 ): 没 有 名 字 的 内 部 类 就 是 内 部 类 的 简 化 形 式 一 般 只 用 一 次 就 可 以 用 这 种 形 式 匿 名 内 部 类 其 实 就 是 一 个 匿 名 子 类 对 象 想 要 定 义 匿 名 内 部 类 : 需 要 前 提, 内 部 类 必 须 继 承 一 个 类 或 者 实 现 接 口 匿 名 内 部 类 的 格 式 :new 父 类 名 & 接 口 名 (){ 定 义 子 类 成 员 或 者 覆 盖 父 类 方 法. 方 法 匿 名 内 部 类 的 使 用 场 景 : 当 函 数 的 参 数 是 接 口 类 型 引 用 时, 如 果 接 口 中 的 方 法 不 超 过 3 个 可 以 通 过 匿 名 内 部 类 来 完 成 参 数 的 传 递 其 实 就 是 在 创 建 匿 名 内 部 类 时, 该 类 中 的 封 装 的 方 法 不 要 过 多, 最 好 两 个 或 者 两 个 以 内 // 面 试 //1 new Object(){ void show(){ System.out.println("show run");.show(); // 写 法 和 编 译 都 没 问 题 //2 Object obj = new Object(){ void show(){ System.out.println("show run"); ; obj.show(); // 写 法 正 确, 编 译 会 报 错 16 / 31

17 1 和 2 的 写 法 正 确 吗? 有 区 别 吗? 说 出 原 因 写 法 是 正 确,1 和 2 都 是 在 通 过 匿 名 内 部 类 建 立 一 个 Object 类 的 子 类 对 象 区 别 : 第 一 个 可 是 编 译 通 过, 并 运 行 第 二 个 编 译 失 败, 因 为 匿 名 内 部 类 是 一 个 子 类 对 象, 当 用 Object 的 obj 引 用 指 向 时, 就 被 提 升 为 了 Object 类 型, 而 编 译 时 会 检 查 Object 类 中 是 否 有 show 方 法, 此 时 编 译 失 败 异 常 : --java.lang.throwable: Throwable: 可 抛 出 的 --Error: 错 误, 一 般 情 况 下, 不 编 写 针 对 性 的 代 码 进 行 处 理, 通 常 是 jvm 发 生 的, 需 要 对 程 序 进 行 修 正 --Exception: 异 常, 可 以 有 针 对 性 的 处 理 方 式 这 个 体 系 中 的 所 有 类 和 对 象 都 具 备 一 个 独 有 的 特 点 ; 就 是 可 抛 性 可 抛 性 的 体 现 : 就 是 这 个 体 系 中 的 类 和 对 象 都 可 以 被 throws 和 throw 两 个 关 键 字 所 操 作 throw 与 throws 区 别 : throws 是 用 来 声 明 一 个 方 法 可 能 抛 出 的 所 有 异 常 信 息, 而 throw 则 是 指 抛 出 的 一 个 具 体 的 异 常 类 型 此 外 throws 是 将 异 常 声 明 但 是 不 处 理, 而 是 将 异 常 往 上 传, 谁 调 用 我 就 交 给 谁 处 理 throw 用 于 抛 出 异 常 对 象, 后 面 跟 的 是 异 常 对 象 ;throw 用 在 函 数 内 throws 用 于 抛 出 异 常 类, 后 面 跟 的 异 常 类 名, 可 以 跟 多 个, 用 逗 号 隔 开 throws 用 在 函 数 上 throws 格 式 : 方 法 名 ( 参 数 )throws 异 常 类 1, 异 常 类 2,... throw: 就 是 自 己 进 行 异 常 处 理, 处 理 的 时 候 有 两 种 方 式, 要 么 自 己 捕 获 异 常 ( 也 就 是 try catch 进 行 捕 捉 ), 要 么 声 明 抛 出 一 个 异 常 ( 就 是 throws 异 常 ~~) 处 理 方 式 有 两 种 :1 捕 捉 ;2 抛 出 对 于 捕 捉 :java 有 针 对 性 的 语 句 块 进 行 处 理 try { 需 要 被 检 测 的 代 码 ; catch( 异 常 类 变 量 名 ){ 异 常 处 理 代 码 ; fianlly{ 一 定 会 执 行 的 代 码 ; 定 义 异 常 处 理 时, 什 么 时 候 定 义 try, 什 么 时 候 定 义 throws 呢? 功 能 内 部 如 果 出 现 异 常, 如 果 内 部 可 以 处 理, 就 用 try; 如 果 功 能 内 部 处 理 不 了, 就 必 须 声 明 出 来, 让 调 用 者 处 理 使 用 throws 抛 出, 交 给 调 用 者 处 理 谁 调 用 了 这 个 功 能 谁 就 是 调 用 者 ; 17 / 31

18 自 定 义 异 常 的 步 骤 : 1: 定 义 一 个 子 类 继 承 Exception 或 RuntimeException, 让 该 类 具 备 可 抛 性 ( 既 可 以 使 用 throw 和 throws 去 调 用 此 类 ) 2: 通 过 throw 或 者 throws 进 行 操 作 异 常 的 转 换 思 想 : 当 出 现 的 异 常 是 调 用 者 处 理 不 了 的, 就 需 要 将 此 异 常 转 换 为 一 个 调 用 者 可 以 处 理 的 异 常 抛 出 try catch finally 的 几 种 结 合 方 式 : 1, try catch finally 2, try catch 3, try finally 这 种 情 况, 如 果 出 现 异 常, 并 不 处 理, 但 是 资 源 一 定 关 闭, 所 以 try finally 集 合 只 为 关 闭 资 源 记 住 :finally 很 有 用, 主 要 用 户 关 闭 资 源 无 论 是 否 发 生 异 常, 资 源 都 必 须 进 行 关 闭 System.exit(0); // 退 出 jvm, 只 有 这 种 情 况 finally 不 执 行 注 意 : 如 果 父 类 或 者 接 口 中 的 方 法 没 有 抛 出 过 异 常, 那 么 子 类 是 不 可 以 抛 出 异 常 的, 如 果 子 类 的 覆 盖 的 方 法 中 出 现 了 异 常, 只 能 try 不 能 throws 如 果 这 个 异 常 子 类 无 法 处 理, 已 经 影 响 了 子 类 方 法 的 具 体 运 算, 这 时 可 以 在 子 类 方 法 中, 通 过 throw 抛 出 RuntimeException 异 常 或 者 其 子 类, 这 样, 子 类 的 方 法 上 是 不 需 要 throws 声 明 的 多 线 程 : 返 回 当 前 线 程 的 名 称 :Thread.currentThread().getName() 线 程 的 名 称 是 由 :Thread- 编 号 定 义 的 编 号 从 0 开 始 线 程 要 运 行 的 代 码 都 统 一 存 放 在 了 run 方 法 中 线 程 要 运 行 必 须 要 通 过 类 中 指 定 的 方 法 开 启 start 方 法 ( 启 动 后, 就 多 了 一 条 执 行 路 径 ) start 方 法 :1) 启 动 了 线 程 ;2) 让 jvm 调 用 了 run 方 法 Thread 类 中 run() 和 start() 方 法 的 区 别 : start(): 用 start 方 法 来 启 动 线 程, 真 正 实 现 了 多 线 程 运 行, 这 时 无 需 等 待 run 方 法 体 代 码 执 行 完 毕 而 直 接 继 续 执 行 下 面 的 代 码 通 过 调 用 Thread 类 的 start() 方 法 来 启 动 一 个 线 程, 这 时 此 线 程 处 于 就 绪 ( 可 运 行 ) 状 态, 并 没 有 运 行, 一 旦 得 到 cpu 时 间 片, 就 开 始 执 行 run() 方 法, 这 里 方 法 run() 称 为 线 程 体, 它 包 含 了 要 执 行 的 这 个 线 程 的 内 容,Run 方 法 运 行 结 束, 此 线 程 随 即 终 止 run():run() 方 法 只 是 类 的 一 个 普 通 方 法 而 已, 如 果 直 接 调 用 Run 方 法, 程 序 中 依 然 只 有 主 线 程 这 一 个 线 程, 其 程 序 执 行 路 径 还 是 只 有 一 条, 还 是 要 顺 序 执 行, 还 是 要 等 待 run 方 法 体 执 行 完 毕 后 才 可 继 续 执 行 下 面 的 代 码, 这 样 就 没 有 达 到 写 线 程 的 目 的 总 结 :start() 方 法 最 本 质 的 功 能 是 从 CPU 中 申 请 另 一 个 线 程 空 间 来 执 行 run() 方 法 中 的 代 码, 18 / 31

19 它 和 当 前 的 线 程 是 两 条 线, 在 相 对 独 立 的 线 程 空 间 运 行, 也 就 是 说, 如 果 你 直 接 调 用 线 程 对 象 的 run() 方 法, 当 然 也 会 执 行, 但 那 是 在 当 前 线 程 中 执 行,run() 方 法 执 行 完 成 后 继 续 执 行 下 面 的 代 码. 而 调 用 start() 方 法 后,run() 方 法 的 代 码 会 和 当 前 线 程 并 发 ( 单 CPU) 或 并 行 ( 多 CPU) 执 行 所 以 请 记 住 一 句 话 : 调 用 线 程 对 象 的 run 方 法 不 会 产 生 一 个 新 的 线 程, 虽 然 可 以 达 到 相 同 的 执 行 结 果, 但 执 行 过 程 和 执 行 效 率 不 同 创 建 线 程 的 第 一 种 方 式 : 继 承 Thread, 由 子 类 复 写 run 方 法 步 骤 : 1, 定 义 类 继 承 Thread 类 ; 2, 目 的 是 复 写 run 方 法, 将 要 让 线 程 运 行 的 代 码 都 存 储 到 run 方 法 中 ; 3, 通 过 创 建 Thread 类 的 子 类 对 象, 创 建 线 程 对 象 ; 4, 调 用 线 程 的 start 方 法, 开 启 线 程, 并 执 行 run 方 法 线 程 状 态 : 被 创 建 :start() 运 行 : 具 备 执 行 资 格, 同 时 具 备 执 行 权 ; 冻 结 :sleep(time),wait() notify() 唤 醒 ; 线 程 释 放 了 执 行 权, 同 时 释 放 执 行 资 格 ; 临 时 阻 塞 状 态 : 线 程 具 备 cpu 的 执 行 资 格, 没 有 cpu 的 执 行 权 ; 消 亡 :stop() 创 建 线 程 的 第 二 种 方 式 : 实 现 一 个 接 口 Runnable 步 骤 : 1, 定 义 类 实 现 Runnable 接 口 2, 覆 盖 接 口 中 的 run 方 法 ( 用 于 封 装 线 程 要 运 行 的 代 码 ) 3, 通 过 Thread 类 创 建 线 程 对 象 ; 4, 将 实 现 了 Runnable 接 口 的 子 类 对 象 作 为 实 际 参 数 传 递 给 Thread 类 中 的 构 造 函 数 为 什 么 要 传 递 呢? 因 为 要 让 线 程 对 象 明 确 要 运 行 的 run 方 法 所 属 的 对 象 5, 调 用 Thread 对 象 的 start 方 法 开 启 线 程, 并 运 行 Runnable 接 口 子 类 中 的 run 方 法 Ticket t = new Ticket(); /* 直 接 创 建 Ticket 对 象, 并 不 是 创 建 线 程 对 象 因 为 创 建 对 象 只 能 通 过 new Thread 类, 或 者 new Thread 类 的 子 类 才 可 以 所 以 最 终 想 要 创 建 线 程 既 然 没 有 了 Thread 类 的 子 类, 就 只 能 用 Thread 类 19 / 31

20 法 */ Thread t1 = new Thread(t); // 创 建 线 程 /* 只 要 将 t 作 为 Thread 类 的 构 造 函 数 的 实 际 参 数 传 入 即 可 完 成 线 程 对 象 和 t 之 间 的 关 联 为 什 么 要 将 t 传 给 Thread 类 的 构 造 函 数 呢? 其 实 就 是 为 了 明 确 线 程 要 运 行 的 代 码 run 方 */ t1.start(); 为 什 么 要 有 Runnable 接 口 的 出 现? 1: 通 过 继 承 Thread 类 的 方 式, 可 以 完 成 多 线 程 的 建 立 但 是 这 种 方 式 有 一 个 局 限 性, 如 果 一 个 类 已 经 有 了 自 己 的 父 类, 就 不 可 以 继 承 Thread 类, 因 为 java 单 继 承 的 局 限 性 可 是 该 类 中 的 还 有 部 分 代 码 需 要 被 多 个 线 程 同 时 执 行 这 时 怎 么 办 呢? 只 有 对 该 类 进 行 额 外 的 功 能 扩 展,java 就 提 供 了 一 个 接 口 Runnable 这 个 接 口 中 定 义 了 run 方 法, 其 实 run 方 法 的 定 义 就 是 为 了 存 储 多 线 程 要 运 行 的 代 码 所 以, 通 常 创 建 线 程 都 用 第 二 种 方 式 因 为 实 现 Runnable 接 口 可 以 避 免 单 继 承 的 局 限 性 2: 其 实 是 将 不 同 类 中 需 要 被 多 线 程 执 行 的 代 码 进 行 抽 取 将 多 线 程 要 运 行 的 代 码 的 位 置 单 独 定 义 到 接 口 中 为 其 他 类 进 行 功 能 扩 展 提 供 了 前 提 所 以 Thread 类 在 描 述 线 程 时, 内 部 定 义 的 run 方 法, 也 来 自 于 Runnable 接 口 实 现 Runnable 接 口 可 以 避 免 单 继 承 的 局 限 性 而 且, 继 承 Thread, 是 可 以 对 Thread 类 中 的 方 法, 进 行 子 类 复 写 的 但 是 不 需 要 做 这 个 复 写 动 作 的 话, 只 为 定 义 线 程 代 码 存 放 位 置, 实 现 Runnable 接 口 更 方 便 一 些 所 以 Runnable 接 口 将 线 程 要 执 行 的 任 务 封 装 成 了 对 象 // 面 试 new Thread(new Runnable(){ // 匿 名 public void run(){ System.out.println("runnable run"); ) { public void run(){ System.out.println("subthread run");.start(); // 结 果 :subthread run synchronized 关 键 字 ( 一 ) 一 当 两 个 并 发 线 程 访 问 同 一 个 对 象 object 中 的 这 个 synchronized(this) 同 步 代 码 块 时, 一 个 时 间 内 只 能 有 一 个 线 程 得 到 执 行 另 一 个 线 程 必 须 等 待 当 前 线 程 执 行 完 这 个 代 码 块 以 后 才 能 执 行 该 代 码 块 二 然 而, 当 一 个 线 程 访 问 object 的 一 个 synchronized(this) 同 步 代 码 块 时, 另 一 个 线 程 仍 然 可 以 访 问 该 object 中 的 非 synchronized(this) 同 步 代 码 块 三 尤 其 关 键 的 是, 当 一 个 线 程 访 问 object 的 一 个 synchronized(this) 同 步 代 码 块 时, 其 他 线 程 对 object 中 所 有 其 它 synchronized(this) 同 步 代 码 块 的 访 问 将 被 阻 塞 20 / 31

21 四 第 三 个 例 子 同 样 适 用 其 它 同 步 代 码 块 也 就 是 说, 当 一 个 线 程 访 问 object 的 一 个 synchronized(this) 同 步 代 码 块 时, 它 就 获 得 了 这 个 object 的 对 象 锁 结 果, 其 它 线 程 对 该 object 对 象 所 有 同 步 代 码 部 分 的 访 问 都 被 暂 时 阻 塞 五 以 上 规 则 对 其 它 对 象 锁 同 样 适 用. package ths; public class Thread1 implements Runnable { public void run() { synchronized(this) { for (int i = 0; i < 5; i++) { System.out.println(Thread.currentThread().getName()+"synchronized loop " + i); synchronized 关 键 字 ( 二 ) synchronized 关 键 字, 它 包 括 两 种 用 法 :synchronized 方 法 和 synchronized 块 1. synchronized 方 法 : 通 过 在 方 法 声 明 中 加 入 synchronized 关 键 字 来 声 明 synchronized 方 法 如 : public synchronized void accessval(int newval); synchronized 方 法 控 制 对 类 成 员 变 量 的 访 问 : 每 个 类 实 例 对 应 一 把 锁, 每 个 synchronized 方 法 都 必 须 获 得 调 用 该 方 法 的 类 实 例 的 锁 方 能 执 行, 否 则 所 属 线 程 阻 塞, 方 法 一 旦 执 行, 就 独 占 该 锁, 直 到 从 该 方 法 返 回 时 才 将 锁 释 放, 此 后 被 阻 塞 的 线 程 方 能 获 得 该 锁, 重 新 进 入 可 执 行 状 态 这 种 机 制 确 保 了 同 一 时 刻 对 于 每 一 个 类 实 例, 其 所 有 声 明 为 synchronized 的 成 员 函 数 中 至 多 只 有 一 个 处 于 可 执 行 状 态 ( 因 为 至 多 只 有 一 个 能 够 获 得 该 类 实 例 对 应 的 锁 ), 从 而 有 效 避 免 了 类 成 员 变 量 的 访 问 冲 突 ( 只 要 所 有 可 能 访 问 类 成 员 变 量 的 方 法 均 被 声 明 为 synchronized) 在 Java 中, 不 光 是 类 实 例, 每 一 个 类 也 对 应 一 把 锁, 这 样 我 们 也 可 将 类 的 静 态 成 员 函 数 声 明 为 synchronized, 以 控 制 其 对 类 的 静 态 成 员 变 量 的 访 问 synchronized 方 法 的 缺 陷 : 若 将 一 个 大 的 方 法 声 明 为 synchronized 将 会 大 大 影 响 效 率, 典 型 地, 若 将 线 程 类 的 方 法 run() 声 明 为 synchronized, 由 于 在 线 程 的 整 个 生 命 期 内 它 一 直 在 运 行, 因 此 将 导 致 它 对 本 类 任 何 synchronized 方 法 的 调 用 都 永 远 不 会 成 功 当 然 我 们 可 以 通 过 将 访 问 类 成 员 变 量 的 代 码 放 到 专 门 的 方 法 中, 将 其 声 明 为 synchronized, 并 在 主 方 法 中 调 用 来 解 决 这 一 问 题, 但 是 Java 为 我 们 提 供 了 更 好 的 解 决 办 法, 那 就 是 synchronized 块 2. synchronized 块 : 通 过 synchronized 关 键 字 来 声 明 synchronized 块 语 法 如 下 : synchronized(syncobject) { // 允 许 访 问 控 制 的 代 码 synchronized 块 是 这 样 一 个 代 码 块, 其 中 的 代 码 必 须 获 得 对 象 syncobject ( 如 前 所 述, 可 以 是 类 实 例 或 类 ) 的 锁 方 能 执 行, 具 体 机 制 同 前 所 述 由 于 可 以 针 对 任 意 代 码 块, 且 可 任 意 指 定 上 锁 的 对 象, 故 灵 活 性 较 高 对 synchronized(this) 的 一 些 理 解 一 当 两 个 并 发 线 程 访 问 同 一 个 对 象 object 中 的 这 个 synchronized(this) 同 步 代 码 块 时, 一 个 时 间 内 只 能 有 一 个 线 程 得 到 执 行 另 一 个 线 程 必 须 等 待 当 前 线 程 执 行 完 这 个 代 码 块 以 后 才 能 执 行 该 代 码 块 二 然 而, 当 一 个 线 程 访 问 object 的 一 个 synchronized(this) 同 步 代 码 块 时, 另 一 个 线 程 仍 21 / 31

22 然 可 以 访 问 该 object 中 的 非 synchronized(this) 同 步 代 码 块 三 尤 其 关 键 的 是, 当 一 个 线 程 访 问 object 的 一 个 synchronized(this) 同 步 代 码 块 时, 其 他 线 程 对 object 中 所 有 其 它 synchronized(this) 同 步 代 码 块 的 访 问 将 被 阻 塞 四 第 三 个 例 子 同 样 适 用 其 它 同 步 代 码 块 也 就 是 说, 当 一 个 线 程 访 问 object 的 一 个 synchronized(this) 同 步 代 码 块 时, 它 就 获 得 了 这 个 object 的 对 象 锁 结 果, 其 它 线 程 对 该 object 对 象 所 有 同 步 代 码 部 分 的 访 问 都 被 暂 时 阻 塞 五 以 上 规 则 对 其 它 对 象 锁 同 样 适 用 解 决 安 全 问 题 的 原 理 : 只 要 将 操 作 共 享 数 据 的 语 句 在 某 一 时 段 让 一 个 线 程 执 行 完, 在 执 行 过 程 中, 其 他 线 程 不 能 进 来 执 行 就 可 以 解 决 这 个 问 题 如 何 保 障 共 享 数 据 的 线 程 安 全 呢? java 中 提 供 了 一 个 解 决 方 式 : 就 是 同 步 代 码 块 格 式 : synchronized( 对 象 ) { // 任 意 对 象 都 可 以 这 个 对 象 就 是 共 享 数 据 需 要 被 同 步 的 代 码 ; 同 步 : 好 处 : 解 决 了 线 程 安 全 问 题 Synchronized 弊 端 : 相 对 降 低 性 能, 因 为 判 断 锁 需 要 消 耗 资 源, 产 生 了 死 锁 同 步 的 第 二 种 表 现 形 式 : // 对 共 享 资 源 的 方 法 定 义 同 步 同 步 函 数 : 其 实 就 是 将 同 步 关 键 字 定 义 在 函 数 上, 让 函 数 具 备 了 同 步 性 同 步 函 数 是 用 的 哪 个 锁 呢? //synchronized(this) 用 以 定 义 需 要 进 行 同 步 的 某 一 部 分 代 码 块 通 过 验 证, 函 数 都 有 自 己 所 属 的 对 象 this, 所 以 同 步 函 数 所 使 用 的 锁 就 是 this 锁 This. 方 法 名 当 同 步 函 数 被 static 修 饰 时, 这 时 的 同 步 用 的 是 哪 个 锁 呢? 静 态 函 数 在 加 载 时 所 属 于 类, 这 时 有 可 能 还 没 有 该 类 产 生 的 对 象, 但 是 该 类 的 字 节 码 文 件 加 载 进 内 存 就 已 经 被 封 装 成 了 对 象, 这 个 对 象 就 是 该 类 的 字 节 码 文 件 对 象 所 以 静 态 加 载 时, 只 有 一 个 对 象 存 在, 那 么 静 态 同 步 函 数 就 使 用 的 这 个 对 象 这 个 对 象 就 是 类 名.class 同 步 代 码 块 和 同 步 函 数 的 区 别? 同 步 代 码 块 使 用 的 锁 可 以 是 任 意 对 象 同 步 函 数 使 用 的 锁 是 this, 静 态 同 步 函 数 的 锁 是 该 类 的 字 节 码 文 件 对 象 在 一 个 类 中 只 有 一 个 同 步 的 话, 可 以 使 用 同 步 函 数 如 果 有 多 同 步, 必 须 使 用 同 步 代 码 块, 来 确 定 不 同 的 锁 所 以 同 步 代 码 块 相 对 灵 活 一 些 考 点 问 题 : 请 写 一 个 延 迟 加 载 的 单 例 模 式? 写 懒 汉 式 ; 当 出 现 多 线 程 访 问 时 怎 么 解 决? 加 同 步, 解 决 安 全 问 题 ; 效 率 高 吗? 不 高 ; 怎 样 解 决? 通 过 双 重 判 断 的 形 式 解 决 // 懒 汉 式 : 延 迟 加 载 方 式 当 多 线 程 访 问 懒 汉 式 时, 因 为 懒 汉 式 的 方 法 内 对 共 性 数 据 进 行 多 条 语 句 的 操 作 所 以 容 易 出 现 线 程 安 全 问 题 为 了 解 决, 加 入 同 步 机 制, 解 决 安 全 问 题 但 是 却 带 来 了 效 率 降 低 22 / 31

23 为 了 效 率 问 题, 通 过 双 重 判 断 的 形 式 解 决 class Single{ private static Single s = null; private Single(){ public static Single getinstance(){ // 锁 是 谁? 字 节 码 文 件 对 象 ; if(s == null){ synchronized(single.class){ if(s == null) s = new Single(); return s; 等 待 唤 醒 机 制 : 涉 及 的 方 法 : wait: 将 同 步 中 的 线 程 处 于 冻 结 状 态 释 放 了 执 行 权, 释 放 了 资 格 同 时 将 线 程 对 象 存 储 到 线 程 池 中 notify: 唤 醒 线 程 池 中 某 一 个 等 待 线 程 notifyall: 唤 醒 的 是 线 程 池 中 的 所 有 线 程 注 意 : 1: 这 些 方 法 都 需 要 定 义 在 同 步 中 2: 因 为 这 些 方 法 必 须 要 标 示 所 属 的 锁 你 要 知 道 A 锁 上 的 线 程 被 wait 了, 那 这 个 线 程 就 相 当 于 处 于 A 锁 的 线 程 池 中, 只 能 A 锁 的 notify 唤 醒 3: 这 三 个 方 法 都 定 义 在 Object 类 中 为 什 么 操 作 线 程 的 方 法 定 义 在 Object 类 中? 因 为 这 三 个 方 法 都 需 要 定 义 同 步 内, 并 标 示 所 属 的 同 步 锁, 既 然 被 锁 调 用, 而 锁 又 可 以 是 任 意 对 象, 那 么 能 被 任 意 对 象 调 用 的 方 法 一 定 定 义 在 Object 类 中 wait 和 sleep 区 别 : 分 析 这 两 个 方 法 : 从 执 行 权 和 锁 上 来 分 析 : wait: 可 以 指 定 时 间 也 可 以 不 指 定 时 间 不 指 定 时 间, 只 能 由 对 应 的 notify 或 者 notifyall 来 唤 醒 sleep: 必 须 指 定 时 间, 时 间 到 自 动 从 冻 结 状 态 转 成 运 行 状 态 ( 临 时 阻 塞 状 态 ) wait: 线 程 会 释 放 执 行 权, 而 且 线 程 会 释 放 锁 sleep: 线 程 会 释 放 执 行 权, 但 不 是 不 释 放 锁 线 程 的 停 止 : 通 过 stop 方 法 就 可 以 停 止 线 程 但 是 这 个 方 式 过 时 了 停 止 线 程 : 原 理 就 是 : 让 线 程 运 行 的 代 码 结 束, 也 就 是 结 束 run 方 法 怎 么 结 束 run 方 法? 一 般 run 方 法 里 肯 定 定 义 循 环 所 以 只 要 结 束 循 环 即 可 第 一 种 方 式 : 定 义 循 环 的 结 束 标 记 第 二 种 方 式 : 如 果 线 程 处 于 了 冻 结 状 态, 是 不 可 能 读 到 标 记 的, 这 时 就 需 要 通 过 Thread 类 中 的 interrupt 方 法, 将 其 冻 结 状 态 强 制 清 除 让 线 程 恢 复 具 备 执 行 资 格 的 状 态, 让 线 程 可 以 读 到 标 记, 并 结 束 < java.lang.thread > interrupt(): 中 断 线 程 23 / 31

24 setpriority(int newpriority): 更 改 线 程 的 优 先 级 getpriority(): 返 回 线 程 的 优 先 级 tostring(): 返 回 该 线 程 的 字 符 串 表 示 形 式, 包 括 线 程 名 称 优 先 级 和 线 程 组 Thread.yield(): 暂 停 当 前 正 在 执 行 的 线 程 对 象, 并 执 行 其 他 线 程 setdaemon(true): 将 该 线 程 标 记 为 守 护 线 程 或 用 户 线 程 将 该 线 程 标 记 为 守 护 线 程 或 用 户 线 程 当 正 在 运 行 的 线 程 都 是 守 护 线 程 时,Java 虚 拟 机 退 出 该 方 法 必 须 在 启 动 线 程 前 调 用 join: 临 时 加 入 一 个 线 程 的 时 候 可 以 使 用 join 方 法 当 A 线 程 执 行 到 了 B 线 程 的 join 方 式 A 线 程 处 于 冻 结 状 态, 释 放 了 执 行 权,B 开 始 执 行 A 什 么 时 候 执 行 呢? 只 有 当 B 线 程 运 行 结 束 后,A 才 从 冻 结 状 态 恢 复 运 行 状 态 执 行 LOCK 的 出 现 替 代 了 同 步 :lock.lock(); lock.unlock(); Lock 接 口 : 多 线 程 在 JDK1.5 版 本 升 级 时, 推 出 一 个 接 口 Lock 接 口 解 决 线 程 安 全 问 题 使 用 同 步 的 形 式,( 同 步 代 码 块, 要 么 同 步 函 数 ) 其 实 最 终 使 用 的 都 是 锁 机 制 到 了 后 期 版 本, 直 接 将 锁 封 装 成 了 对 象 线 程 进 入 同 步 就 是 具 备 了 锁, 执 行 完, 离 开 同 步, 就 是 释 放 了 锁 在 后 期 对 锁 的 分 析 过 程 中, 发 现, 获 取 锁, 或 者 释 放 锁 的 动 作 应 该 是 锁 这 个 事 物 更 清 楚 所 以 将 这 些 动 作 定 义 在 了 锁 当 中, 并 把 锁 定 义 成 对 象 所 以 同 步 是 隐 示 的 锁 操 作, 而 Lock 对 象 是 显 示 的 锁 操 作, 它 的 出 现 就 替 代 了 同 步 在 之 前 的 版 本 中 使 用 Object 类 中 wait notify notifyall 的 方 式 来 完 成 的 那 是 因 为 同 步 中 的 锁 是 任 意 对 象, 所 以 操 作 锁 的 等 待 唤 醒 的 方 法 都 定 义 在 Object 类 中 而 现 在 锁 是 指 定 对 象 Lock 所 以 查 找 等 待 唤 醒 机 制 方 式 需 要 通 过 Lock 接 口 来 完 成 而 Lock 接 口 中 并 没 有 直 接 操 作 等 待 唤 醒 的 方 法, 而 是 将 这 些 方 式 又 单 独 封 装 到 了 一 个 对 象 中 这 个 对 象 就 是 Condition, 将 Object 中 的 三 个 方 法 进 行 单 独 的 封 装 并 提 供 了 功 能 一 致 的 方 法 await() signal() signalall() 体 现 新 版 本 对 象 的 好 处 < java.util.concurrent.locks > Condition 接 口 :await() signal() signalall(); class BoundedBuffer { final Lock lock = new ReentrantLock(); final Condition notfull = lock.newcondition(); final Condition notempty = lock.newcondition(); final Object[] items = new Object[100]; int putptr, takeptr, count; public void put(object x) throws InterruptedException { lock.lock(); try { while (count == items.length) notfull.await(); items[putptr] = x; if (++putptr == items.length) putptr = 0; ++count; notempty.signal(); 24 / 31

25 finally { lock.unlock(); public Object take() throws InterruptedException { lock.lock(); try { while (count == 0) notempty.await(); Object x = items[takeptr]; if (++takeptr == items.length) takeptr = 0; --count; notfull.signal(); return x; finally { lock.unlock(); 集 合 框 架 集 合 框 架 :, 用 于 存 储 数 据 的 容 器 对 于 集 合 容 器, 有 很 多 种 因 为 每 一 个 容 器 的 自 身 特 点 不 同, 其 实 原 理 在 于 每 个 容 器 的 内 部 数 据 结 构 不 同 集 合 容 器 在 不 断 向 上 抽 取 过 程 中 出 现 了 集 合 体 系 在 使 用 一 个 体 系 时, 原 则 : 参 阅 顶 层 内 容 建 立 底 层 对 象 25 / 31

26 < java.util >-- List 接 口 : List 本 身 是 Collection 接 口 的 子 接 口, 具 备 了 Collection 的 所 有 方 法 现 在 学 习 List 体 系 特 有 的 共 性 方 法, 查 阅 方 法 发 现 List 的 特 有 方 法 都 有 索 引, 这 是 该 集 合 最 大 的 特 点 List: 有 序 ( 元 素 存 入 集 合 的 顺 序 和 取 出 的 顺 序 一 致 ), 元 素 都 有 索 引 元 素 可 以 重 复 --ArrayList: 底 层 的 数 据 结 构 是 数 组, 线 程 不 同 步,ArrayList 替 代 了 Vector, 查 询 元 素 的 速 度 非 常 快 --LinkedList: 底 层 的 数 据 结 构 是 链 表, 线 程 不 同 步, 增 删 元 素 的 速 度 非 常 快 --Vector: 底 层 的 数 据 结 构 就 是 数 组, 线 程 同 步 的,Vector 无 论 查 询 和 增 删 都 巨 慢 可 变 长 度 数 组 的 原 理 : 当 元 素 超 出 数 组 长 度, 会 产 生 一 个 新 数 组, 将 原 数 组 的 数 据 复 制 到 新 数 组 中, 再 将 新 的 元 素 添 加 到 新 数 组 中 ArrayList: 是 按 照 原 数 组 的 50% 延 长 构 造 一 个 初 始 容 量 为 10 的 空 列 表 Vector: 是 按 照 原 数 组 的 100% 延 长 < java.util >-- Set 接 口 : 数 据 结 构 : 数 据 的 存 储 方 式 ; Set 接 口 中 的 方 法 和 Collection 中 方 法 一 致 的 Set 接 口 取 出 方 式 只 有 一 种, 迭 代 器 --HashSet: 底 层 数 据 结 构 是 哈 希 表, 线 程 是 不 同 步 的 无 序, 高 效 ; HashSet 集 合 保 证 元 素 唯 一 性 : 通 过 元 素 的 hashcode 方 法, 和 equals 方 法 完 成 的 当 元 素 的 hashcode 值 相 同 时, 才 继 续 判 断 元 素 的 equals 是 否 为 true 如 果 为 true, 那 么 视 为 相 同 元 素, 不 存 如 果 为 false, 那 么 存 储 如 果 hashcode 值 不 同, 那 么 不 判 断 equals, 从 而 提 高 对 象 比 较 的 速 度 --LinkedHashSet: 有 序,hashset 的 子 类 --TreeSet: 对 Set 集 合 中 的 元 素 的 进 行 指 定 顺 序 的 排 序 不 同 步 TreeSet 底 层 的 数 据 结 构 就 是 二 叉 树 对 于 ArrayList 集 合, 判 断 元 素 是 否 存 在, 或 者 删 元 素 底 层 依 据 都 是 equals 方 法 对 于 HashSet 集 合, 判 断 元 素 是 否 存 在, 或 者 删 除 元 素, 底 层 依 据 的 是 hashcode 方 法 和 equals 方 法 Map 集 合 : --Hashtable: 底 层 是 哈 希 表 数 据 结 构, 是 线 程 同 步 的 不 可 以 存 储 null 键,null 值 --HashMap: 底 层 是 哈 希 表 数 据 结 构, 是 线 程 不 同 步 的 可 以 存 储 null 键,null 值 替 代 了 Hashtable. --TreeMap: 底 层 是 二 叉 树 结 构, 可 以 对 map 集 合 中 的 键 进 行 指 定 顺 序 的 排 序 Map 集 合 存 储 和 Collection 有 着 很 大 不 同 : Collection 一 次 存 一 个 元 素 ;Map 一 次 存 一 对 元 素 Collection 是 单 列 集 合 ;Map 是 双 列 集 合 Map 中 的 存 储 的 一 对 元 素 : 一 个 是 键, 一 个 是 值, 键 与 值 之 间 有 对 应 ( 映 射 ) 关 系 特 点 : 要 保 证 map 集 合 中 键 的 唯 一 性 26 / 31

27 5, 想 要 获 取 map 中 的 所 有 元 素 : 原 理 :map 中 是 没 有 迭 代 器 的,collection 具 备 迭 代 器, 只 要 将 map 集 合 转 成 Set 集 合, 可 以 使 用 迭 代 器 了 之 所 以 转 成 set, 是 因 为 map 集 合 具 备 着 键 的 唯 一 性, 其 实 set 集 合 就 来 自 于 map, set 集 合 底 层 其 实 用 的 就 是 map 的 方 法 把 map 集 合 转 成 set 的 方 法 : Set keyset(); Set entryset();// 取 的 是 键 和 值 的 映 射 关 系 Entry 就 是 Map 接 口 中 的 内 部 接 口 ; 为 什 么 要 定 义 在 map 内 部 呢?entry 是 访 问 键 值 关 系 的 入 口, 是 map 的 入 口, 访 问 的 是 map 中 的 键 值 对 取 出 map 集 合 中 所 有 元 素 的 方 式 一 :keyset() 方 法 可 以 将 map 集 合 中 的 键 都 取 出 存 放 到 set 集 合 中 对 set 集 合 进 行 迭 代 迭 代 完 成, 再 通 过 get 方 法 对 获 取 到 的 键 进 行 值 的 获 取 Set keyset = map.keyset(); Iterator it = keyset.iterator(); while(it.hasnext()) { Object key = it.next(); Object value = map.get(key); System.out.println(key+":"+value); 取 出 map 集 合 中 所 有 元 素 的 方 式 二 :entryset() 方 法 Set entryset = map.entryset(); Iterator it = entryset.iterator(); while(it.hasnext()) { Map.Entry me = (Map.Entry)it.next(); System.out.println(me.getKey()+"::::"+me.getValue()); 将 非 同 步 集 合 转 成 同 步 集 合 的 方 法 :Collections 中 的 XXX synchronizedxxx(xxx); List synchronizedlist(list); Map synchronizedmap(map); public static <K,V> Map<K,V> synchronizedmap(map<k,v> m) { return new SynchronizedMap<K,V>(m); 原 理 : 定 义 一 个 类, 将 集 合 所 有 的 方 法 加 同 一 把 锁 后 返 回 List list = Collections.synchronizedList(new ArrayList()); Map<String,String> synmap = Collections.synchronizedMap(map); Collection 和 Collections 的 区 别 : Collections 是 个 java.util 下 的 类, 是 针 对 集 合 类 的 一 个 工 具 类, 提 供 一 系 列 静 态 方 法, 实 现 对 集 合 的 查 找 排 序 替 换 线 程 安 全 化 ( 将 非 同 步 的 集 合 转 换 成 同 步 的 ) 等 操 作 Collection 是 个 java.util 下 的 接 口, 它 是 各 种 集 合 结 构 的 父 接 口, 继 承 于 它 的 接 口 主 要 有 Set 和 List, 提 供 了 关 于 集 合 的 一 些 操 作, 如 插 入 删 除 判 断 一 个 元 素 是 否 其 成 员 遍 历 等 / 31

28 自 动 拆 装 箱 :java 中 数 据 类 型 分 为 两 种 : 基 本 数 据 类 型 引 用 数 据 类 型 ( 对 象 ) 在 java 程 序 中 所 有 的 数 据 都 需 要 当 做 对 象 来 处 理, 针 对 8 种 基 本 数 据 类 型 提 供 了 包 装 类, 如 下 : int --> Integer byte --> Byte short --> Short long --> Long char --> Character double --> Double float --> Float boolean --> Boolean jdk5 以 前 基 本 数 据 类 型 和 包 装 类 之 间 需 要 互 转 : 基 本 --- 引 用 Integer x = new Integer(x); 引 用 --- 基 本 int num = x.intvalue(); 1) Integer x = 1; x = x + 1; 经 历 了 什 么 过 程? 装 箱 拆 箱 装 箱 ; 2) 为 了 优 化, 虚 拟 机 为 包 装 类 提 供 了 缓 冲 池,Integer 池 的 大 小 -128~127 一 个 字 节 的 大 小 ; 3) String 池 :Java 为 了 优 化 字 符 串 操 作 提 供 了 一 个 缓 冲 池 ; 泛 型 :jdk1.5 版 本 以 后 出 现 的 一 个 安 全 机 制 表 现 格 式 :< > 好 处 : 1: 将 运 行 时 期 的 问 题 ClassCastException 问 题 转 换 成 了 编 译 失 败, 体 现 在 编 译 时 期, 程 序 员 就 可 以 解 决 问 题 2: 避 免 了 强 制 转 换 的 麻 烦 泛 型 中 的 通 配 符 : 可 以 解 决 当 具 体 类 型 不 确 定 的 时 候, 这 个 通 配 符 就 是? ; 当 操 作 类 型 时, 不 需 要 使 用 类 型 的 具 体 功 能 时, 只 使 用 Object 类 中 的 功 能 那 么 可 以 用? 通 配 符 来 表 未 知 类 型 反 射 技 术 反 射 技 术 : 其 实 就 是 动 态 加 载 一 个 指 定 的 类, 并 获 取 该 类 中 的 所 有 的 内 容 并 将 字 节 码 文 件 中 的 内 容 都 封 装 成 对 象, 这 样 便 于 操 作 这 些 成 员 简 单 说 : 反 射 技 术 可 以 对 一 个 类 进 行 解 剖 反 射 的 好 处 : 大 大 的 增 强 了 程 序 的 扩 展 性 反 射 的 基 本 步 骤 : 1 获 得 Class 对 象, 就 是 获 取 到 指 定 的 名 称 的 字 节 码 文 件 对 象 2 实 例 化 对 象, 获 得 类 的 属 性 方 法 或 构 造 函 数 3 访 问 属 性 调 用 方 法 调 用 构 造 函 数 创 建 对 象 获 取 这 个 Class 对 象, 有 三 种 方 式 : 1: 通 过 每 个 对 象 都 具 备 的 方 法 getclass 来 获 取 弊 端 : 必 须 要 创 建 该 类 对 象, 才 可 以 调 用 getclass 方 法 2: 每 一 个 数 据 类 型 ( 基 本 数 据 类 型 和 引 用 数 据 类 型 ) 都 有 一 个 静 态 的 属 性 class 弊 端 : 必 须 要 先 明 确 该 类 28 / 31

29 前 两 种 方 式 不 利 于 程 序 的 扩 展, 因 为 都 需 要 在 程 序 使 用 具 体 的 类 来 完 成 3: 使 用 的 Class 类 中 的 方 法, 静 态 的 forname 方 法 指 定 什 么 类 名, 就 获 取 什 么 类 字 节 码 文 件 对 象, 这 种 方 式 的 扩 展 性 最 强, 只 要 将 类 名 的 字 符 串 传 入 即 可 // 1. 根 据 给 定 的 类 名 来 获 得 用 于 类 加 载 String classname = "cn.itcast.reflect.person";// 来 自 配 置 文 件 Class clazz = Class.forName(classname);// 此 对 象 代 表 Person.class // 2. 如 果 拿 到 了 对 象, 不 知 道 是 什 么 类 型 用 于 获 得 对 象 的 类 型 Object obj = new Person(); Class clazz1 = obj.getclass();// 获 得 对 象 具 体 的 类 型 // 3. 如 果 是 明 确 地 获 得 某 个 类 的 Class 对 象 主 要 用 于 传 参 Class clazz2 = Person.class; 反 射 的 用 法 : 1) 需 要 获 得 java 类 的 各 个 组 成 部 分, 首 先 需 要 获 得 类 的 Class 对 象, 获 得 Class 对 象 的 三 种 方 式 : Class.forName(classname) 用 于 做 类 加 载 obj.getclass() 用 于 获 得 对 象 的 类 型 类 名.class 用 于 获 得 指 定 的 类 型, 传 参 用 2) 反 射 类 的 成 员 方 法 : Class clazz = Person.class; Method method = clazz.getmethod(methodname, new Class[]{paramClazz1, paramclazz2); method.invoke(); 3) 反 射 类 的 构 造 函 数 : Constructor con = clazz.getconstructor(new Class[]{paramClazz1, paramclazz2,...) con.newinstance(params...) 4) 反 射 类 的 属 性 : Field field = clazz.getfield(fieldname); field.setaccessible(true); field.setobject(value); 获 取 了 字 节 码 文 件 对 象 后, 最 终 都 需 要 创 建 指 定 类 的 对 象 : 创 建 对 象 的 两 种 方 式 ( 其 实 就 是 对 象 在 进 行 实 例 化 时 的 初 始 化 方 式 ): 1, 调 用 空 参 数 的 构 造 函 数 : 使 用 了 Class 类 中 的 newinstance() 方 法 2, 调 用 带 参 数 的 构 造 函 数 : 先 要 获 取 指 定 参 数 列 表 的 构 造 函 数 对 象, 然 后 通 过 该 构 造 函 数 的 对 象 的 newinstance( 实 际 参 数 ) 进 行 对 象 的 初 始 化 综 上 所 述, 第 二 种 方 式, 必 须 要 先 明 确 具 体 的 构 造 函 数 的 参 数 类 型, 不 便 于 扩 展 所 以 一 般 情 况 下, 被 反 射 的 类, 内 部 通 常 都 会 提 供 一 个 公 有 的 空 参 数 的 构 造 函 数 // 如 何 生 成 获 取 到 字 节 码 文 件 对 象 的 实 例 对 象 Class clazz = Class.forName("cn.itcast.bean.Person");// 类 加 载 // 直 接 获 得 指 定 的 类 型 clazz = Person.class; 29 / 31

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

未命名

未命名 1 Synchronized synchronized Java ( ) Synchronized Java unlock lock load assign unlock (happen-before) lock Synchronized null " " HotSpot JVM Object Monitor synchronized 1 2 Class synchronized monitor Class

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 70-536Chinese(C++) Title : TS:MS.NET Framework 2.0-Application Develop Foundation Version : DEMO 1 / 10 1. Exception A. Data B. Message C.

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

中 国 中 西 医 结 合 杂 志 年 月 第 卷 第 期!" 通 透 性 增 加 产 生 蛋 白 水 解 酶 促 进 血 管 内 皮 细 胞 有 丝 分 裂 内 皮 细 胞 从 基 底 膜 上 迁 移 到 血 管 周 围 间 隙 粘 附 聚 集 重 构 为 三 维 管 腔 并 与 周 围 血 管

中 国 中 西 医 结 合 杂 志 年 月 第 卷 第 期! 通 透 性 增 加 产 生 蛋 白 水 解 酶 促 进 血 管 内 皮 细 胞 有 丝 分 裂 内 皮 细 胞 从 基 底 膜 上 迁 移 到 血 管 周 围 间 隙 粘 附 聚 集 重 构 为 三 维 管 腔 并 与 周 围 血 管 中 国 中 西 医 结 合 杂 志 年 月 第 卷 第 期!" 学 术 探 讨 冠 心 病 的 治 疗 性 血 管 新 生 与 活 血 化 瘀 段 练 熊 兴 江 王 阶 摘 要 治 疗 性 血 管 新 生 /) '0 1/ * ' 是 冠 状 动 脉 硬 化 性 心 脏 病 * '( '/) *! / * ) '/ ' + 治 疗 的 新 策 略 而 活 血 化 瘀 治 法 对 于 + 的 基 础

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

! "#$ %$ $ 资 料 与 方 法 $ 调 查 对 象 全 国 东 北 华 北 华 东 西 北 西 南 和 中 南 六 个 大 区 个 省 自 治 区 直 辖 市 * 个 城 市 中 的 & 所 医 院 参 加 了 本 次 调 查 各 省 省 会 城 市 的 医 学 院 校 附 属 医 院 省

! #$ %$ $ 资 料 与 方 法 $ 调 查 对 象 全 国 东 北 华 北 华 东 西 北 西 南 和 中 南 六 个 大 区 个 省 自 治 区 直 辖 市 * 个 城 市 中 的 & 所 医 院 参 加 了 本 次 调 查 各 省 省 会 城 市 的 医 学 院 校 附 属 医 院 省 ! "#$ %$ $ 临 床 研 究 中 国 住 院 新 生 儿 流 行 病 学 调 查 中 华 医 学 会 儿 科 学 分 会 新 生 儿 学 组 摘 要 目 的 通 过 全 国 范 围 内 城 市 医 院 住 院 新 生 儿 的 调 查 以 了 解 我 国 目 前 住 院 新 生 儿 的 疾 病 谱 及 转 归 方 法 抽 取 全 国 个 省 和 自 治 区 的 * 个 城 市 中 的 & 所

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

Java第一天 2007年4月23日

Java第一天      2007年4月23日 Java 第 一 天 2007 年 4 月 23 日 1 Java 之 父 Golsling 1995 年 5 月 23 日 Java 诞 生 1998 年 12 月 1.2 版 本 Java2 J2SE J2EE J2ME 2004 年 12 月 1.5 版 本 (5.0) Java JavaSE JavaEE JavaME 2 Java SE --- Java 标 准 平 台 Java EE ---

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

一 耀 州 青 瓷 的 裝 飾 手 法 與 紋 飾 種 類 耀 州 窯 的 裝 飾 紋 樣, 豐 富 多 變, 而 且 題 材 內 容 廣 泛, 組 合 形 式 多 樣, 圖 案 形 象 優 美, 令 人 賞 心 悅 目, 並 且 反 映 了 當 時 社 會 的 審 美 趣 味 和 理 想 裝 飾

一 耀 州 青 瓷 的 裝 飾 手 法 與 紋 飾 種 類 耀 州 窯 的 裝 飾 紋 樣, 豐 富 多 變, 而 且 題 材 內 容 廣 泛, 組 合 形 式 多 樣, 圖 案 形 象 優 美, 令 人 賞 心 悅 目, 並 且 反 映 了 當 時 社 會 的 審 美 趣 味 和 理 想 裝 飾 宋 代 耀 州 青 瓷 的 紋 飾 風 格 與 意 義 曾 肅 良 英 國 萊 斯 特 大 學 博 物 館 學 博 士 國 立 台 灣 師 範 大 學 美 術 研 究 所 助 理 教 授 摘 要 中 國 的 飲 茶 之 風, 興 於 唐 而 盛 於 宋, 特 別 是 宋 代 宮 廷 禁 苑 和 地 方 官 吏 文 人 學 士 的 尚 茶 崇 茶, 以 品 茶 為 雅 尚 的 觀 念 與 作 法, 使

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

## $%& %& ## () #) (( * (+++ () #) #) (+ (+ #) #) ( #, - #)). #))- # ( / / / 0 1 2 0 / $ # ( *. 3. 3 *..# 4 #$ 3 ( 5 ) ### 4 $ # 5, $ ## # 4 $# 5 ( %

## $%& %& ## () #) (( * (+++ () #) #) (+ (+ #) #) ( #, - #)). #))- # ( / / / 0 1 2 0 / $ # ( *. 3. 3 *..# 4 #$ 3 ( 5 ) ### 4 $ # 5, $ ## # 4 $# 5 ( % # # $ %& $ %# ( $ # ( # $ ( $ $ ( ( % ( $ ( $ ( ( % ( % $ ( $ ( ( $ ( ( ( & ( ( ( $ ( ( % %# ( ( $ ( %# % ## $%& %& ## () #) (( * (+++ () #) #) (+ (+ #) #) ( #, - #)). #))- # ( / / / 0 1 2 0 / $ # ( *.

More information

! # % % & # # % #!& % &# % &# % % % # %& ( (!& (! & & % % #!! ) %&! *& % %! % %!! # % %!! %*!& % &# % &# ) ) ( % # # ) % ( (!& (! (!! # % % #!! # ( &!

! # % % & # # % #!& % &# % &# % % % # %& ( (!& (! & & % % #!! ) %&! *& % %! % %!! # % %!! %*!& % &# % &# ) ) ( % # # ) % ( (!& (! (!! # % % #!! # ( &! !#!#!%!&!& #!#!#!#!#!#!! #!% # ( )! & & % & ) % ( %! # )& ) &!) &!% )& )! )!!% & ( (!&!&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! )! % * % * ( & )!! % & # %! %! )! % * % * ( & )!! % & # %! %! # )! % * % *

More information

得 到 了 補 償. 對 於 武 姜 而 言, 莊 公 與 自 己 的 關 係 並 不 親 密, 而 共 叔 段 又 是 自 己 向 來 疼 愛 有 加 的 兒 子, 所 以, 對 莊 公 提 出 再 怎 麼 無 理 的 要 求, 武 姜 也 不 會 覺 得 有 什 麼 不 妥 之 處, 而 對 共

得 到 了 補 償. 對 於 武 姜 而 言, 莊 公 與 自 己 的 關 係 並 不 親 密, 而 共 叔 段 又 是 自 己 向 來 疼 愛 有 加 的 兒 子, 所 以, 對 莊 公 提 出 再 怎 麼 無 理 的 要 求, 武 姜 也 不 會 覺 得 有 什 麼 不 妥 之 處, 而 對 共 左 傳 - 鄭 伯 克 段 於 鄢 人 物 心 理 1021141 林 詩 倩 一. 緒 論 鄭 伯 克 段 於 鄢, 及 共 叔 段 之 亂, 是 魯 隱 公 元 年, 即 公 元 前 722 年, 春 秋 初 年 在 鄭 國 國 內 發 生 的 一 場 內 亂. 武 姜 成 為 武 公 夫 人 並 先 後 為 武 公 生 下 了 兩 個 兒 子, 長 子 莊 公 由 於 腳 先 出 來 造 成

More information

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc)

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc) SCJP (Oracle Certified Professional, Java SE5/6 Programmer) 學 制 / 班 級 : 四 年 制 / 網 通 四 乙 指 導 老 師 : 方 信 普 老 師 學 生 學 號 / 姓 名 : 49636107 蘇 建 瑋 繳 交 年 份 : 100 年 6 月 一 SCJP 介 紹 SCJP 是 Sun Certified Java Programmer

More information

1911 年 武 汉 起 义, 广 东 独 立 胡 汉 民 任 总 督, 陈 任 广 东 军 政 府 外 交 部 副 部 长 陈 不 愿 做 官, 几 个 月 后 即 辞 职 1915 年 与 李 煜 堂 设 立 上 海 保 险 公 司, 陈 任 主 席 1921 年 孙 中 山 就 任 非 常 大

1911 年 武 汉 起 义, 广 东 独 立 胡 汉 民 任 总 督, 陈 任 广 东 军 政 府 外 交 部 副 部 长 陈 不 愿 做 官, 几 个 月 后 即 辞 职 1915 年 与 李 煜 堂 设 立 上 海 保 险 公 司, 陈 任 主 席 1921 年 孙 中 山 就 任 非 常 大 近 代 新 会 名 人 事 迹 张 云 田 : 新 会 县 双 水 区 人, 中 国 同 盟 会 员 华 侨 镇 南 关 起 义 烈 士 张 云 田 少 年 受 其 父 教 育, 精 通 文 翰, 其 时 深 受 外 国 嘲 笑 中 华 民 族 为 东 亚 病 夫 之 辱, 因 而 弃 文 就 武, 中 武 秀 才 中 年 时 结 交 三 合 会 兄 弟, 立 志 革 清 兴 华, 参 加 孙 中

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

二 Synchronized 1. Java 语 言 的 关 键 字, 当 它 用 来 修 饰 一 个 方 法 或 者 一 个 代 码 块 的 时 候, 能 够 保 证 在 同 一 时 刻 最 多 只 有 一 个 线 程 执 行 该 段 代 码 2. 当 两 个 并 发 线 程 访 问 同 一 个

二 Synchronized 1. Java 语 言 的 关 键 字, 当 它 用 来 修 饰 一 个 方 法 或 者 一 个 代 码 块 的 时 候, 能 够 保 证 在 同 一 时 刻 最 多 只 有 一 个 线 程 执 行 该 段 代 码 2. 当 两 个 并 发 线 程 访 问 同 一 个 Java 基 础 包 括 多 线 程 (Thread 和 Runable 的 区 别 ) 同 步 异 步 (Synchronized) 线 程 池 集 合 序 列 化 反 射 实 例 化 过 程 JDBC 常 用 类 IBatis Java 类 生 命 周 期 Java Web 生 命 周 期 Tomcat 出 去 Http 请 求 过 程 Java 垃 圾 回 收 机 制 Java 性 能 优 化

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

4 中 南 大 学 学 报 医 学 版 摘 要 目 的 探 讨 早 发 性 精 神 分 裂 症 患 者 在 静 息 状 态 下 是 否 存 在 脑 功 能 连 接 异 常 以 及 异 常 区 域 的 定 位 方 法 采 用 第 版 美 国 精 神 障 碍 诊 断 与 统 计 手 册 ( * ) (

4 中 南 大 学 学 报 医 学 版 摘 要 目 的 探 讨 早 发 性 精 神 分 裂 症 患 者 在 静 息 状 态 下 是 否 存 在 脑 功 能 连 接 异 常 以 及 异 常 区 域 的 定 位 方 法 采 用 第 版 美 国 精 神 障 碍 诊 断 与 统 计 手 册 ( * ) ( 中 南 大 学 学 报 医 学 版 3! + )! + - + - %$ 58: 58:7& * 1:D * $%&' 1&! & )& "# ( &!& )#% & '& '#! & #& & " ( ) 5*( )/ + ( / + + 6') * )* ) ; + *6 / + * ) *+ ' 6') * )+ * ) 6 9, * : + * ) *+ ) /+( * ( / * ) (

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii 前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time

More information

北 风 网 讲 师 原 创 作 品 ---- 仅 供 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见

北 风 网 讲 师 原 创 作 品 ---- 仅 供  学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 北 风 网 讲 师 原 创 作 品 ---- 仅 供 www.ibeifeng.com 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 者 远 ; 顺 风 而 呼, 声 非 加 疾 也, 而 闻 者 彰 假 舆 马 者, 非 利 足 也,

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

(\244j\257d\276\307\274\351_201508021-C.indd_70%.pdf)

(\244j\257d\276\307\274\351_201508021-C.indd_70%.pdf) 1847-1852 1872 20 1 1896 8000 20 1896 1950 1 1896 1896 13 1900 1900 3 20 2 4 1910 1950 3 1911 1 2 3 4 1927 4 20 300 6 1906 1930 7 1911 5 1919 8 1914 9 1920 10 11 1902 200 6 12 1930 7 " # #! $! 14 15! "!

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

untitled

untitled How to using M-Power Report API M-Power Report API 力 了 M-Power Report -- Java (Library) M-Power Report API 行 Java M-Power Report M-Power Report API ( 30 ) PDF/HTML/CSV/XLS JPEG/PNG/SVG 料 料 OutputStream

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

.' 6! "! 6 "'' 6 7% $! 7%/'& 人 类 非 洲 锥 虫 病 又 称 昏 睡 病 是 布 氏 锥 虫 冈 比 亚 亚 种!! 或 布 氏 锥 虫 罗 得 西 亚 种 "#$$ %! &'!!! 感 染 引 起 的 一 种 寄 生 虫 病 以 采 采 蝇! 为 传 播 ' 媒

.' 6! ! 6 '' 6 7% $! 7%/'& 人 类 非 洲 锥 虫 病 又 称 昏 睡 病 是 布 氏 锥 虫 冈 比 亚 亚 种!! 或 布 氏 锥 虫 罗 得 西 亚 种 #$$ %! &'!!! 感 染 引 起 的 一 种 寄 生 虫 病 以 采 采 蝇! 为 传 播 ' 媒 ) 文 章 编 号 '.')) 论 著!"#$%&' ' ' ' ' '!"# ' $%& ' ' '8 目 的 对 ' 例 输 入 性 非 洲 锥 虫 病 患 者 进 行 实 验 室 诊 断 与 病 原 体 鉴 定 方 法 收 集 患 者 的 临 床 发 病 与 流 行 病 学 调 查 资 料 采 集 血 样 脑 脊 液 瑞 氏 吉 氏 染 色 涂 片 后 镜 检 用 布 氏 锥 虫 表 达 位

More information

第 期 熊 安 萍 等 *1$ 文 件 系 统 中 范 围 锁 机 制 的 应 用 研 究! 锁 命 名 空 间 '+'($($ 描 述 了 资 源 和 锁 的 集 合 它 同 时 在 客 户 节 点 和 服 务 节 点 存 在 不 同 之 处 只 是 利 用 一 个 数 据 标 识 来 有 效 区

第 期 熊 安 萍 等 *1$ 文 件 系 统 中 范 围 锁 机 制 的 应 用 研 究! 锁 命 名 空 间 '+'($($ 描 述 了 资 源 和 锁 的 集 合 它 同 时 在 客 户 节 点 和 服 务 节 点 存 在 不 同 之 处 只 是 利 用 一 个 数 据 标 识 来 有 效 区 第 卷 第 期 重 庆 邮 电 大 学 学 报 自 然 科 学 版 年 月!"#$" %$&'$ ''())$($*($'('+$$,-./0 1' 文 件 系 统 中 范 围 锁 机 制 的 应 用 研 究 熊 安 萍 葛 军 邹 洋 重 庆 邮 电 大 学 计 算 机 科 学 与 技 术 学 院 重 庆! 摘 要 分 布 式 锁 机 制 是 分 布 式 文 件 系 统 的 重 要 机 制 *1$

More information

# # # # # # # # # % # & # & # # # () # (( # * * (( # (+ # ( (# # (# # (# # ( # ( +) (

# # # # # # # # # % # & # & # # # () # (( # * * (( # (+ # ( (# # (# # (# # ( # ( +) ( # # # # # # # # # % # & # & # # # () # (( # * * (( # (+ # ( (# # (# # (# # ( # ( +) ( # +) # +( # ++ # + + # + # +# # + # +% +& # +& # + # + # ) ( # ( # + # # # # # # ) ( # + # # # # + # # # # # # #

More information

<4D6963726F736F667420576F7264202D20A4D5A46CA1D0A740A4E5A5FEB6B02E646F63>

<4D6963726F736F667420576F7264202D20A4D5A46CA1D0A740A4E5A5FEB6B02E646F63> 我 讀 孔 子 ( 第 六 屆 ) 征 文 比 賽 獲 獎 作 文 選 集 澳 門 人 文 科 學 學 會 主 辦 澳 門 基 金 會 教 育 暨 青 年 局 贊 助 2008 11 1 一 等 獎 ( 以 下 以 下 按 照 學 校 筆 劃 順 序 排 列 ) 將 心 比 心, 推 己 及 人 王 錦 江 ( 培 正 中 學 ) 己 所 不 欲, 勿 施 於 人 聖 人 孔 子 這 句 只 有 八

More information

Microsoft Word - d.doc

Microsoft Word - d.doc 我 看 > 之 感 想 7B 蔡 進 軍 電 視 連 續 劇 在 校 園 出 現 了 一 股 熱 潮 現 象 同 學 們 無 論 在 小 息 或 午 膳 時 間 爭 相 討 論 項 羽 劉 邦 的 英 雄 氣 概 這 現 象 形 成 了 一 種 風 氣, 一 種 誘 惑, 什 至 是 壓 力 不 看 似 乎 是 一 大 憾 事, 到 底 該 劇 有

More information

6 22 22 23 23 24 24 1., 2., 3., 24 26 26 28 30 31 31 31 32 32 34 34 1. 2., 3.,, 34 37 37 39 40 43 44 2

6 22 22 23 23 24 24 1., 2., 3., 24 26 26 28 30 31 31 31 32 32 34 34 1. 2., 3.,, 34 37 37 39 40 43 44 2 1 1 1., 2.,, 3., 1 3 3 5 7 9 11 11 12 12 13 13 1., 2.,, 3., 13 15 15 18 19 21 1 6 22 22 23 23 24 24 1., 2., 3., 24 26 26 28 30 31 31 31 32 32 34 34 1. 2., 3.,, 34 37 37 39 40 43 44 2 44 45 45 47 1., 2.

More information

議 程 前 發 言 冀 新 官 上 任 燒 好 三 把 火 用 好 三 盆 水 陳 明 金 2014 年 11 月 18 日 澳 門 特 區 政 府 即 將 換 屆, 各 種 傳 聞 令 廣 大 居 民 感 覺 到, 絕 大 部 份 主 要 官 員 都 會 換 人 雖 然 他 們 對 人 選 無 話

議 程 前 發 言 冀 新 官 上 任 燒 好 三 把 火 用 好 三 盆 水 陳 明 金 2014 年 11 月 18 日 澳 門 特 區 政 府 即 將 換 屆, 各 種 傳 聞 令 廣 大 居 民 感 覺 到, 絕 大 部 份 主 要 官 員 都 會 換 人 雖 然 他 們 對 人 選 無 話 促 重 整 運 輸 部 門 冀 革 新 交 通 政 策 鄭 安 庭 議 員 議 程 前 發 言 2014 年 11 月 18 日 主 席 各 位 同 事 : 今 天 我 的 議 程 前 發 言 題 目 是 : 促 重 整 運 輸 部 門 冀 革 新 交 通 政 策 剛 剛 完 成 的 第 61 屆 澳 門 格 蘭 披 治 大 賽 車 令 到 遊 客 絡 繹 不 絕 的 澳 門 更 為 熱 烈, 關

More information

细 胞 生 物 学 荧 光 技 术 原 理 和 应 用 的 平 面 内 呈 波 形 振 动 两 个 波 峰 之 间 的 距 离 为 波 长 波 峰 的 大 小 即 为 该 光 波 的 振 幅 不 同 波 长 的 光 具 有 不 同 的 颜 色 即 光 的 波 长 不 同 光 的 颜 色 也 不 同

细 胞 生 物 学 荧 光 技 术 原 理 和 应 用 的 平 面 内 呈 波 形 振 动 两 个 波 峰 之 间 的 距 离 为 波 长 波 峰 的 大 小 即 为 该 光 波 的 振 幅 不 同 波 长 的 光 具 有 不 同 的 颜 色 即 光 的 波 长 不 同 光 的 颜 色 也 不 同 第 一 章 光 的 基 本 知 识 一 光 的 本 质 光 是 一 种 可 见 的 电 磁 波 是 能 量 的 辐 射 形 式 光 子 的 能 量 频 率 和 波 长 之 间 的 关 系 可 以 由 以 下 方 程 表 示 此 方 程 即 为 普 朗 克 方 程 式 中 为 波 长 为 频 率 为 光 速 其 值 为!"# $ % " 为 普 朗 克 常 数 其 值 为 && &!"# ' 由 上

More information

论 文 :?,,,,,,,,,, (, ),, ( ),,,,,,,, (, ) : (, ),,, :,, ;,,,,

论 文 :?,,,,,,,,,, (, ),, ( ),,,,,,,, (, ) : (, ),,, :,, ;,,,, :? * 珠 江 三 角 洲 农 民 工 工 资 的 决 定 模 型 刘 林 平 张 春 泥 : 本 文 通 过 对 珠 江 三 角 洲 农 民 工 问 卷 调 查 资 料 的 回 归 分 析, 构 建 了 一 个 决 定 农 民 工 工 资 水 平 的 模 型 本 文 发 现, 人 力 资 本 中 的 教 育 年 限 培 训 工 龄 等 变 量 对 农 民 工 工 资 有 显 著 的 正 向 影

More information

/0/ "!!!!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " # $ % && $ $ $ $ ( $ $ ( $ ) % * ( * $ $ $ $ $ $ $ ( $ $ $ $ $ # ( $ $ ( $ $ $ ( $ $ $ $

/0/ !!!!!  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  # $ % && $ $ $ $ ( $ $ ( $ ) % * ( * $ $ $ $ $ $ $ ( $ $ $ $ $ # ( $ $ ( $ $ $ ( $ $ $ $ "!!!!!!!!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " # $ /0/ "!!!!! " "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " # $ % && $ $ $ $ ( $ $ ( $ ) % * ( * $ $ $

More information

人 才 培 养 与 专 业 建 设 人 才 培 养 与 专 业 建 设 首 都 师 范 大 学 重 点 专 业 培 育 与 建 设 计 划 实 施 办 法 校 发 号 根 据 首 都 师 范 大 学 十 二 五 时 期 本 科 专 业 建 设 与 发 展 规 划 安 排 为 进 一 步 加 强 学 校 本 科 人 才 培 养 工 作 加 大 专 业 建 设 力 度 提 升 专 业 建 设 水 平

More information

(2) 廠 商 具 有 維 修 維 護 或 售 後 服 務 能 力 之 證 明 ;(3) 廠 商 具 有 製 造 供 應 或 承 做 能 力 之 證 明 ;(4) 具 有 相 當 人 力 之 證 明 屬 特 定 資 格 之 ㄧ 8.(3) 機 關 辦 理 預 算 金 額 為 新 台 幣 四 億 元

(2) 廠 商 具 有 維 修 維 護 或 售 後 服 務 能 力 之 證 明 ;(3) 廠 商 具 有 製 造 供 應 或 承 做 能 力 之 證 明 ;(4) 具 有 相 當 人 力 之 證 明 屬 特 定 資 格 之 ㄧ 8.(3) 機 關 辦 理 預 算 金 額 為 新 台 幣 四 億 元 政 府 採 購 法 規 概 要 題 庫 最 後 更 新 日 期 :( 人 發 局 第 一 期 ) 2010/03/20 選 擇 題 : ( 答 案 ) 正 確 錯 誤 解 析 1.(3) 機 關 訂 定 招 標 文 件, 何 者 正 確?(1) 廠 商 履 行 契 約 所 必 須 具 備 之 財 務 商 業 或 技 術 資 格 條 件, 不 考 慮 廠 商 在 外 國 之 商 業 活 動 應 (2)

More information

Microsoft Word - 第6章.doc

Microsoft Word - 第6章.doc 100 第 6 章 继 承 第 6 章 继 承 继 承 是 面 向 对 象 编 程 的 重 要 特 征 之 一 顾 名 思 义, 继 承 就 是 在 现 有 类 的 基 础 上 构 建 新 类 以 满 足 新 的 要 求 在 继 承 过 程 中, 新 的 类 继 承 原 来 的 方 法 和 实 例 变 量, 并 且 能 添 加 自 己 的 方 法 和 实 例 变 量 在 本 章 中 主 要 讲 解

More information

注 意 类 名 中 单 词 的 首 字 母 大 写 实 例 变 量 : 定 义 在 类 中 但 在 任 何 方 法 之 外 (New 出 来 的 均 有 初 值 ) 局 部 变 量 : 定 义 在 方 法 之 中 的 变 量 局 部 变 量 要 先 赋 值, 再 进 行 运 算, 而 实 例 变 量

注 意 类 名 中 单 词 的 首 字 母 大 写 实 例 变 量 : 定 义 在 类 中 但 在 任 何 方 法 之 外 (New 出 来 的 均 有 初 值 ) 局 部 变 量 : 定 义 在 方 法 之 中 的 变 量 局 部 变 量 要 先 赋 值, 再 进 行 运 算, 而 实 例 变 量 JAVA 的 面 向 对 象 编 程 -------- 课 堂 笔 记 面 向 对 象 主 要 针 对 面 向 过 程 面 向 过 程 的 基 本 单 元 是 函 数 什 么 是 对 象 :EVERYTHING IS OBJECT( 万 物 皆 对 象 ) 所 有 的 事 物 都 有 两 个 方 面 : 有 什 么 ( 属 性 ): 用 来 描 述 对 象 能 够 做 什 么 ( 方 法 ): 告

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

口 的 70% 连 南 县 的 瑶 族. 有 排 瑶 过 山 瑶 排 瑶 6 万 多 人 住 在 三 排 南 岗 i 雨 水 大 麦 山 大 坪 香 坪 盘 石 金 坑 8 个 乡 镇. 形 成 了 占 全 县 面 积 80% 的 聚 居 地 << 连 州 志 } 卷 八 排 瑶 志 曰 在 连 者

口 的 70% 连 南 县 的 瑶 族. 有 排 瑶 过 山 瑶 排 瑶 6 万 多 人 住 在 三 排 南 岗 i 雨 水 大 麦 山 大 坪 香 坪 盘 石 金 坑 8 个 乡 镇. 形 成 了 占 全 县 面 积 80% 的 聚 居 地 << 连 州 志 } 卷 八 排 瑶 志 曰 在 连 者 居 住 地 域 与 文 化 变 迁 一 一 以 广 东 瑶 族 为 例 赵 家 旺 * 中 国 是 个 多 民 族 国 家. 共 有 56 个 民 族. 其 中 少 数 民 族 有 归 个 根 据 1990 年 的 人 口 普 查. 全 国 总 人 口 11 亿 3 千 多 万 人. 汉 族 10 忆 4 千 多 万 人. 占 全 国 总 人 口 的 90% 多. 少 数 民 族 人 口 不 到 10%

More information

年 第 期 许 德 刚 基 于 遗 忘 因 子 -./ 算 法 的 自 适 应 直 达 波 对 消 技 术 * 达 站 周 围 的 环 境 可 能 比 较 复 杂 来 自 近 距 离 不 同 固 定 物 体 所 反 射 的 多 径 信 号 也 强 于 回 波 信 号 大 大 影 响 了 雷 达 的

年 第 期 许 德 刚 基 于 遗 忘 因 子 -./ 算 法 的 自 适 应 直 达 波 对 消 技 术 * 达 站 周 围 的 环 境 可 能 比 较 复 杂 来 自 近 距 离 不 同 固 定 物 体 所 反 射 的 多 径 信 号 也 强 于 回 波 信 号 大 大 影 响 了 雷 达 的 第 期 年 月! " #$ %# &' # 工 程 与 应 用 # $$ # #( )*$### 基 于 遗 忘 因 子 算 法 的 自 适 应 直 达 波 对 消 技 术 许 德 刚 中 国 电 子 科 技 集 团 公 司 第 + 研 究 所 合 肥 ++ 摘 要 在 以 民 用 广 播 电 视 及 &, 等 信 号 为 照 射 源 的 无 源 雷 达 系 统 中 由 于 发 射 信 号 为 连

More information

$$() * * ) ) + + +, ) - ),,, ) ). /, ) ) ). /01(). /,,. / ) ), ) ), + + ) ), ) ) ) ) ), $ ( ) $ $ $ ( ) * $ $ * * (, -. -/01/. (, -. * $ ) ( + $ $ ( ) $ ** $ $ $ $ ** ** + $ ), $ $ ( )) * ( * + $ $ (

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

动 物 中 能 促 进 但 会 在 表 达 的 物 种 中 产 生 不 良 反 应 如 引 起 脂 肪 肝 或 升 高 74-4 水 平 2 # ) 9 等 建 立 血 脂 异 常 和 肝 硬 化 仓 鼠 模 型 进 行 研 究 结 果 表 明 7'&$ 不 能 改 善 血 脂 异 常 和 肝 硬

动 物 中 能 促 进 但 会 在 表 达 的 物 种 中 产 生 不 良 反 应 如 引 起 脂 肪 肝 或 升 高 74-4 水 平 2 # ) 9 等 建 立 血 脂 异 常 和 肝 硬 化 仓 鼠 模 型 进 行 研 究 结 果 表 明 7'&$ 不 能 改 善 血 脂 异 常 和 肝 硬 综 述 胆 固 醇 逆 向 转 运 的 研 究 进 展 及 中 医 药 干 预 何 芷 慧 江 巍 李 松 胆 固 醇 逆 向 转 运,0! 1! 1 ) 1 是 胆 固 醇 从 周 围 组 织 转 运 到 肝 脏 进 行 再 循 环 或 以 胆 酸 形 式 排 出 体 外 的 过 程 是 机 体 清 除 多 余 胆 固 醇 的 重 要 生 理 途 径 若 受 影 响 血 浆 中 含 量 过 高 的

More information

第 一 部 分 增 城 区 人 力 资 源 和 社 会 保 障 局 概 况 一 广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 主 要 职 能 广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 是 区 委 区 政 府 主 管 人 事 人 才 劳 动 社 会 保 障 的

第 一 部 分 增 城 区 人 力 资 源 和 社 会 保 障 局 概 况 一 广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 主 要 职 能 广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 是 区 委 区 政 府 主 管 人 事 人 才 劳 动 社 会 保 障 的 广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 2016 年 部 门 预 算 目 录 第 一 部 分 广 州 市 增 城 区 人 力 资 源 和 社 会 保 障 局 概 况 一 部 门 主 要 职 能 二 部 门 预 算 单 位 构 成 三 部 门 人 员 构 成 第 二 部 分 2016 年 部 门 预 算 安 排 情 况 说 明 第 三 部 分 2016 年 部 门 预 算 报

More information

智 能 电 网 研 究 微 网 技 术 专 题 撖 奥 洋 等 高 渗 透 率 下 大 电 网 应 对 微 网 接 入 的 策 略 保 护 等 方 面 带 来 深 刻 影 响 开 展 微 网 与 大 电 网 相 互 作 用 的 研 究 对 揭 示 二 者 相 互 影 响 的 作 用 规 律 及 机

智 能 电 网 研 究 微 网 技 术 专 题 撖 奥 洋 等 高 渗 透 率 下 大 电 网 应 对 微 网 接 入 的 策 略 保 护 等 方 面 带 来 深 刻 影 响 开 展 微 网 与 大 电 网 相 互 作 用 的 研 究 对 揭 示 二 者 相 互 影 响 的 作 用 规 律 及 机 第 卷 第 期 年 月 日! 高 渗 透 率 下 大 电 网 应 对 微 网 接 入 的 策 略 撖 奥 洋 邓 星 文 明 浩 李 惠 宇 陈 晓 燕 华 中 科 技 大 学 电 气 与 电 子 工 程 学 院 湖 北 省 武 汉 市 国 网 电 力 科 学 研 究 院 南 京 南 瑞 集 团 公 司 江 苏 省 南 京 市 国 网 电 力 科 学 研 究 院 南 京 南 瑞 集 团 公 司 武

More information

幻灯片 1

幻灯片 1 白 色 花 诗 集 人 民 文 学 出 版 社 1981 年 出 版 共 收 七 月 派 诗 人 阿 垅 鲁 藜 孙 钿 彭 燕 郊 方 然 冀 汸 钟 瑄 郑 思 曾 卓 杜 谷 绿 原 胡 征 芦 甸 徐 放 牛 汉 鲁 煤 化 铁 朱 健 朱 谷 怀 罗 洛 等 二 十 人 的 诗 作 一 百 十 九 首 集 名 出 自 阿 垅 未 入 选 的 一 首 诗 中 要 开 作 一 枝 白 色 花

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

建模与图形思考

建模与图形思考 C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性

More information

95 1. 2. 2

95 1. 2. 2 59 62 ( ) 1 1 95 1. 2. 2 (1) (2) (3) (4) (5) 3. (1) (2) (3) 1. 3 3 4 1 2 *> 38 * 1 *< * * ** ** 38 + 35 2 X6 1 1 $7,500,000 10 X7 $5,550,000 X8 12 31 X9 2 28 $4,600,000 X9 2 28 $7,500,000 10 $750,000 X7

More information

23 10 18 5 1997 12 1 (1) (7) (16) (25) (35) (37) (44) (48) (51) (54) ( ) (58) (69) (74) (77) (89) (94) (98) (100) (107) (113) (117) (121) (126) " 37 38 ( ) ( ) ( ) ( ) 300 1 500 200 1938 1 30 15 8 1937

More information

北魏山东佛教文化个案研究

北魏山东佛教文化个案研究 北 魏 山 东 佛 教 文 化 个 案 研 究 一 北 魏 时 期 佛 教 在 山 东 的 传 播 与 发 展 以 滨 州 博 兴 龙 华 寺 为 代 表 社 会 背 景 北 魏 佛 教 的 发 展 是 伴 随 着 佛 教 的 中 国 化 即 汉 化 的 过 程 而 不 断 发 展 的, 同 时 也 带 有 北 魏 统 治 者 作 为 少 数 民 族 的 本 身 特 色 自 汉 通 西 域, 佛 教

More information

附件1.FIT)

附件1.FIT) 附 件 : 上 海 市 科 技 创 新 人 才 激 励 政 策 操 作 指 南 上 海 市 科 技 创 新 人 才 激 励 政 策 操 作 指 南 2011 年 1 月 国 有 企 业 科 技 创 新 激 励 操 作 指 南 附 件 : 上 海 市 科 技 创 新 人 才 激 励 政 策 操 作 指 南 目 录 1. 人 才 引 进 132 1.1 上 海 市 户 籍 及 居 住 证 132 1.2

More information

毛主席的猪

毛主席的猪 在 孔 孟 之 乡 掘 孔 孟 后 裔 的 坟, 在 生 产 队 的 田 里 放 毛 主 席 的 猪, 也 只 有 知 青 才 有 这 " 特 权 " 吟 了 < 血 色 黄 昏 >, 叹 了 < 蹉 跎 岁 月 >, 再 哼 一 哼 知 青 生 活 中 那 千 韵 百 律 的 曲 曲 小 调 儿, 也 别 有 一 番 滋 味 在 心 头 扒 坟 梁 平 扒 坟, 是 当 地 老 百 姓 的 叫 法

More information

Microsoft Word - HERBRECIPES《中國藥膳》.doc

Microsoft Word - HERBRECIPES《中國藥膳》.doc 中 國 藥 膳 僅 供 參 考, 請 勿 亂 服 若 欲 服 用, 自 行 負 責 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 藥 膳 系 列 總 目 錄 第 一 章 總 論 第 一 節 簡 介 第 二 節 特 點 1. 注 重 整 體, 辯 證 施 食 2. 防 治 兼 宜, 效 果 顯 著 3. 良 藥 可 口, 服 食 方 便 第 三 節 藥 膳 內 容 與 分 類

More information

循经指压疗法

循经指压疗法 循 经 指 压 疗 法 陈 玉 琴 0 自 序 我 没 有 进 过 医 学 院, 更 没 有 学 过 解 剖 学 我 是 一 个 自 学 中 医 的 人, 思 考 问 题 本 着 简 单 化 和 直 观 的 原 则 循 经 指 压 健 康 疗 法 就 是 我 二 十 年 实 践 的 心 得 体 会 愿 以 此 作 向 资 深 的 中 医 师 请 教, 尤 其 是 中 医 大 的 教 师, 如 果 你

More information

从 因 人 设 事 谈 起 一 部 文 学 作 品 ( 尤 其 是 长 篇 小 说 ) 的 结 构 至 关 重 要, 因 为 它 是 文 本 整 体 的 组 织 方 式 和 内 部 构 造, 既 是 形 式 又 是 内 容 ; 乃 是 表 达 主 题 最 有 效 的 艺 术 手 段 元 代 戏 曲

从 因 人 设 事 谈 起 一 部 文 学 作 品 ( 尤 其 是 长 篇 小 说 ) 的 结 构 至 关 重 要, 因 为 它 是 文 本 整 体 的 组 织 方 式 和 内 部 构 造, 既 是 形 式 又 是 内 容 ; 乃 是 表 达 主 题 最 有 效 的 艺 术 手 段 元 代 戏 曲 凤 头 猪 肚 豹 尾 凤 头 猪 肚 豹 尾 谈 死 水 微 澜 的 结 构 艺 术 艾 芦 摘 要 : 论 文 从 死 水 微 澜 的 人 物 和 场 景 描 写 入 手, 具 体 地 分 析 了 这 部 长 篇 小 说 的 艺 术 结 构, 同 时 针 对 以 往 研 究 者 的 某 些 观 点 提 出 了 不 同 的 见 解 ; 认 为 作 品 以 精 粹 见 长, 以 少 胜 多, 由 小

More information

IoC容器和Dependency Injection模式.doc

IoC容器和Dependency Injection模式.doc IoC Dependency Injection /Martin Fowler / Java Inversion of Control IoC Dependency Injection Service Locator Java J2EE open source J2EE J2EE web PicoContainer Spring Java Java OO.NET service component

More information

2 34 2 41 2 39 37

2 34 2 41 2 39 37 2 34 2 41 2 39 37 1955 64 14 1957 4 2 1972 3 1 138 7 20 79 8 7 28 66 14 60 25 2 9 79 17 12 189 190 6 43 1 138 1 2 166 174 145 163 468 31 34 358 1118 131 132 513 514 865 58 292 37 21 1 142 232 244

More information



 辽 宁 时 代 万 恒 控 股 集 团 有 限 公 司 大 事 记 (2009 年 ) 集 团 办 公 室 编 辑 1 一 2009 年 组 织 沿 革 ( 一 ) 集 团 总 部 组 织 机 构 ( 部 门 设 置 ) 图 示 辽 宁 时 代 万 恒 控 股 集 团 有 限 公 司 监 事 会 董 事 会 党 委 董 事 会 秘 书 经 理 层 工 会 纪 委 信 办 企 审 财 国 党 监 息

More information

JAVA String常用APi

JAVA String常用APi JAVA String 常 用API 2015 年 5 月13 日 星 期 三 ------------------------------------------ String 类 的 特 点 : 字 符 串 对 象 一 旦 被 初 始 化 就 不 会 被 改 变 abc 存 储 在 字 符 串 常 量 池 中 Java 的 核 心 类 包 是 java.lang eclipse:ctrl+ 方

More information

<4D6963726F736F667420576F7264202D203630303837305F32303136303433305F31375F312D31B7A2D0D0B9C9B7DDBCB0D6A7B8B6CFD6BDF0B9BAC2F2D7CAB2FAB2A2C4BCBCAFC5E4CCD7D7CABDF0F4DFB9D8C1AABDBBD2D7B1A8B8E6CAE9A3A8B2DDB0B8A3A92E646F63>

<4D6963726F736F667420576F7264202D203630303837305F32303136303433305F31375F312D31B7A2D0D0B9C9B7DDBCB0D6A7B8B6CFD6BDF0B9BAC2F2D7CAB2FAB2A2C4BCBCAFC5E4CCD7D7CABDF0F4DFB9D8C1AABDBBD2D7B1A8B8E6CAE9A3A8B2DDB0B8A3A92E646F63> 股 票 代 码 :600870 股 票 简 称 : 厦 华 电 子 上 市 地 点 : 上 海 证 券 交 易 所 厦 门 华 侨 电 子 股 份 有 限 公 司 发 行 股 份 及 支 付 现 金 购 买 资 产 并 募 集 配 套 资 金 暨 关 联 交 易 报 告 书 ( 草 案 ) 交 易 对 方 / 认 购 方 通 讯 地 址 发 行 股 份 购 买 资 产 交 易 对 方 曾 途 成 都

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

Microsoft Word - 1-1《國文》試題評析.doc

Microsoft Word - 1-1《國文》試題評析.doc 國 文 試 題 評 析 王 冕 老 師 一 形 式 範 疇 : 序 別 類 別 題 數 配 分 備 註 字 字 音 2 4 形 聲 偏 旁 外 來 語 音 譯 詞 字 形 1 2 六 書 ( 會 意 ) 一 測 字 義 3 6 同 字 異 義 通 同 字 驗 成 語 3 6 字 形 改 錯 文 義 運 用 二 修 辭 6 12 對 偶 轉 品 鑲 嵌 ( 增 字 ) 借 代 ( 年 齡 ) 設 問

More information

06-5_119-135_横組-唐.indd

06-5_119-135_横組-唐.indd 119 以 吉 田 松 阴 的 东 坡 策 批 评 为 中 心 北 京 大 学 历 史 系 唐 利 国 吉 田 松 阴 是 日 本 幕 末 时 期 倒 幕 志 士 的 著 名 先 驱 他 是 长 州 藩 的 兵 学 师 范 ( 教 官 ), 其 门 下 涌 现 了 久 坂 玄 瑞, 高 杉 晋 作, 木 户 孝 允, 伊 藤 博 文, 山 县 有 朋 等 倒 幕 维 新 运 动 的 重 要 领 导

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information