作者:柳菁 王启新 金剑详 王克宏
--------------------------------------------------------------------------------
JDK 可 算 得 上 是 最 早 使 用 的 Java 开 发 工 具 (JDK, JavaSoft 出 品, http://www.javasoft.com)。 目 前, JDK 1.0.1 已 被 升 级 成 JDK 1.0.2 版。 JavaSoft 的 JDK1.0.2 与 1.0.1 版 相 比, 有 不 少 改 进:
1. 修 正 了 1.0.1 版 安 全 方 面 的 隐 患。 主 要 有:
① 消 除 了 类 装 载 器 中 允 许 Applet 激 活 自 身 的 类 装 载 器 的 隐 患。
② 加 强 了 针 对 Applet 的 网 络 安 全 措 施。
③ 加 强 了 AppletViewer 中 DNS 主 机 名 分 辨 能 力。 用 IP 地 址 取 代 主 机 名 (hostname) 来 辨 认 主 机, 防 止 由 重 名 引 起 出 错, 杜 绝 AppletViewer 中 的 安 全 隐 患。 以 前, 在 In-ternet 上 与 你 的 防 火 墙 保 护 的 主 机 名 相 同 的 计 算 机, 很 可 能 对 会 你 的 主 机 构 成 威 胁。
④ 针 对 Applet 加 强 了 对 客 户 主 机 名 的 保 护, 新 版 本 增 加 了 对 Applet 中 InetAddress.getLocalHost() 的 安 全 检 查。 在 过 去 的 版 本 中, Applet 可 以 报 告 客 户 机 的 主 机 名 和 IP 地 址。 这 扰 乱 了 当 前 防 火 墙 的 正 常 工 作。 在 新 版 本 中, getLocalHost() 的 功 能 是 尝 试 与 本 地 机 连 接 并 进 行 安 全 检 查。 如 果 成 功, 则 会 执 行 旧 版 本 中 原 有 的 功 能; 否 则, 返 回 一 个 主 机 名 / 地 址 形 式 的 通 用 句 柄。
2. 改 进 了 类 库 界 面
新 版 本 增 加 了 几 个 新 方 法 (methods), 但 它 们 不 被 当 前 的 Netscape Navigator 支 持, 因 而 不 能 用 在 为 Netscape Navigator 浏 览 器 而 写 的 Applet 中。
3. 抽 象 窗 口 工 具 包 (AWT) 的 改 动 (对 于 所 有 支 持 Java 的 平 台)
① 增 强 了 图 象 转 换 功 能。
② Componet.invalidate() 将 确 保 直 到 根 类 为 止 的 所 有 父 类 都 被 设 成 无 效, 以 使 接 着 对 root 的 “validate” 调 用 时, 保 证 重 配 置 (re-layout) 的 正 确。
③ 改 正 了 Component.inside() 的 错 误, 防 止 其 在 某 些 情 况 下 返 回 错 误 结 果, 进 而 造 成 Container.locate() 出 错。
④ 关 键 事 件 现 在 能 被 正 确 地 传 送 给 文 本 区 组 件。
⑤ 增 加 了 模 态 对 话 框, 它 将 一 直 调 用 模 态 对 话 框 的 “show” 方 法, 直 到 对 话 框 被 释 放。
⑥ 修 正 了 IndexColorModel 中 的 错 误, 现 在, 对 于 方 法 getRed, getGreen, getBlue, getAlpha 的 返 回 值 都 将 确 保 在 0-255 之 内。
⑦ 对 话 窗 内 传 送 的 事 件 的 将 不 会 被 传 给 父 框, 除 非 事 件 已 被 专 门 处 理 过。
4. 抽 象 窗 口 工 具 包 (AWT) 的 改 动 (对 于 Windows 平 台)
① 在 Windows 中 缺 省 的 背 景 色 现 在 是 由 原 来 的 桌 面 颜 色 决 定 的 (而 以 前 被 缺 省 设 成 灰 色), 如 果 原 先 的 程 序 是 按 背 景 色 为 灰 色 设 计 的, 现 在 可 通 过 调 用 getBack-ground 获 取 当 前 的 背 景 色, 进 而 进 行 适 当 的 修 改。
② 解 决 了 在 Windows95 下, 图 形 对 象 出 现 相 互 混 淆, 相 互 重 叠 的 问 题。
③ 完 全 支 持 Windows 平 台 上 的 16 和 24 位 深 度 处 理 (depths)。
④ AWT 的 字 体 名 称 与 Win32 的 字 体 名 称 正 确 对 应。 但 字 体 大 小 仍 遵 循 “点 ? ? ? 像 素” 一 一 对 应 的 原 则, 而 不 遵 照 Windows 字 体 大 小 与 显 示 器 相 关 的 原 则。 这 主 要 是 因 为, 当 前 大 多 数 的 Java Ap-plet 界 面 只 应 用 绝 对 座 标, JavaSoft 希 望 它 的 产 品 在 各 种 平 台 上 都 保 持 一 致。
⑤ 改 变 窗 体 滚 动 方 式, 鼠 标 持 续 按 住 时 窗 体 不 再 滚 动。 但 下 一 版 本 中, 原 滚 动 功 能 将 被 恢 复。
5. 抽 象 窗 口 工 具 包 (AWT) 的 改 动 (对 于 Solaris 平 台)
① 解 决 了 在 Solaris 上 占 输 入 焦 点 的 文 本 区 100% 占 用 CPU 的 问 题。
② 消 除 了 在 Solaris 上 选 项 组 件 中 选 项 不 能 超 过 20 项 的 缺 陷。
③ 消 除 了 在 Solaris 上 将 AWT 文 本 区 中 内 容 剪 切、 复 制 并 粘 贴 到 其 他 OpenWin-dows 应 用 程 序 中 去 时 将 会 出 错, 从 而 使 数 据 传 送 失 败 的 缺 陷。
6. 抽 象 窗 口 工 具 包 (AWT) 的 改 动 (对 于 Macintosh 平 台) :
目 前, JDK Macintosh 版 的 修 正 是 基 于 与 其 他 版 本 相 同 的 共 享 代 码 之 上 的, 这 些 修 正 将 使 JDK 1.0.2 Macintosh 版 的 总 体 表 现 更 令 人 满 意。
有 关 JDK 变 动 更 详 细 的 资 料 请 查 询 JavaSoft 的 网 点 (http://www.java-soft.com)