作者:javaduke 原创于:www.dukejava.com
如 何 缩 短 java 下 载 和 装 入 时 间
前 言:很 多 朋 友 抱 怨 applet 启 动 太 慢,其 实 恰 当 的 配 置 、 合 理 的 应 用 会 大 大 加 快applet 的 启 动 时 间 , 本 文 结 合 自 己 的 设 计 经 验 , 总 结 以 下 技 巧 :
1、使 执 行 文 件 尽 量 小
尽 管Internet(TCP 协 议) 可 以 接 受 任 意 长 度 的 数 据 流, 但 负 责 点 对 点 传 送 的 网 络 设 备( 例 如: 路 由 器) 对 一 次 传 送 分 组 包 的 上 限 有 严 格 的 限 制, 通 常 这 一 限 制 是256 的 整 数 倍。 因 此, 当 小 程 序 在 网 上 传 送 时, 按 照 上 限 它 被 分 成 若 干 包, 而 最 后 一 个 包 可 能 只 有 几 个 字 节。 这 些 包 是 单 独 传 送, 需 要 在 客 户 端 重 新 组 装 为 原 先 小 程 序 执 行 文 件 字 节 流。 当 最 后 一 个 包 延 迟 时, 可 能 要 用 好 几 秒 来 等 待 最 后 几 个 字 节 到 达。 唯 一 的 解 决 办 法 就 是 保 持 类 文 件 尽 量 小。 开 发 人 员 可 以 在 不 影 响 程 序 逻 辑 主 体 的 前 提 下 尝 试 下 列 方 案:(1) 删 除 查 错 代 码;(2) 缩 小String 直 接 量;(3) 选 择Java 编 译 器 优 化 编 译 选 项;(4) 删 除 用 不 到 的 方 法 等。 类 散 保 持 在 可 控 范 围 内 几 乎 没 有 一 个 小 程 序 是 由 一 个 类 组 成。 通 常, 开 发 人 员 为 了 实 现 一 个 功 能 较 强 的 小 程 序 需 要 从 标 准 的Java 基 类 中 派 生 出 若 干 子 类, 并 对 之 进 行 组 合。 因 此, 若 要 使 一 个 小 程 序 运 行,Java 虚 拟 机 就 要 分 别 下 载 并 装 入 这 些 类。 如 果 实 现 中 类 的 数 目 较 多, 下 载 的 时 间 也 就 相 应 较 长。 我 们 都 知 道, 下 载20 个 独 立 的 数 据 块 比 下 载 一 个 相 当 于20 个 数 据 块 之 和 的 大 数 据 块 要 花 费 更 多 的 时 间, 这 是 由 于 下 载 每 个 独 立 数 据 块 都 要 重 新 进 行 网 络 联 接, 而 进 行 每 次 联 接 都 要 花 费 时 间 的 缘 故。 因 此, 开 发 人 员 在 设 计 小 程 序 时, 类 的 数 目 要 选 择 适 中, 即 可 保 证 结 构 层 次 清 晰, 又 要 保 证 程 序 精 简, 不 增 加 冗 余。 如 果 所 需 要 的 类 较 多,尽 量 通 过 jar 打 包,一 来 缩 短 下 载 时 间, 二 来 减 少 多次访 问 服 务 器 造 成 的 延 迟。
2、缩 短 小 程 序 初 始 化 时 间 用 户 讨 厌 等 待 程 序 下 载 后 应 尽 量 缩 短 初 始 化 时 间。
如 果 预 处 理 工 作 较 多, 可 以 用 辅 助 线 程 先 同 用 户 进 行 交 互, 例 如: 问 候 用 户、 询 问 用 户 姓 名、 显 示 进 程 指 示 等。 总 之, 让 用 户" 忙 起 来"。 同 时, 小 程 序 主 线 程 可 以 继 续 在 后 台 做 初 始 化 工 作。 有 句 话 请 记 住:" 高 兴 时 时 间 过 得 快", 充 分 利 用 这 一 现 象 可 以 改 变 用 户 对 小 程 序 装 入 时 间 的 感 觉。 另 外 网 络 上 许 多 现 成 的 小 程 序 , 允 许 自 己 定 制 的 属 性 太 多 , 这 就 大 大 增 加 了 小 程 序 的 启 动 时 间 , 最 好 搞 到 源 代 码 , 自 己 定 制 一下 , 加 快 程 序 的 启 动 。
3、尽 量 用 jar 压 缩 一 下
对 于 附 加 有 图 形 、 声 音 的 小 程 序 , 尽 量 用 jar 压 缩 一 下 , 根 据 经 验 , 可 加 快 启 动 时间 30%. 以 上 要 求 你 对 必 须 学 会 java 编 程 ,对 于 编 程 门 外 汉 来 说 是 不 可 能 实 现 的 , 站长 设 立 了 一 个 定 制 代 码,提 供 了 大 量 的 演 示 特 效 代 码 , 对 每 一 个 代 码 均 提 供 免 费 定 制 , 从 而 实 现 符 合 你 自 己 、 加 载 速 度 快 的 小 程 序 , 重 要 的 是 , 无 须 任 何 java 编 程 经 验 , 可 以 迅 速 部 署 java 特 效 , 无 须 漫 长 的 等 待 , 感 兴 趣 的 去 看 一 看。