⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java.txt

📁 第 一 章 Java语 言 的 产 生 及 其 特 点 第 二 章 Java程 序 开 发 与 运 行 环 境第 三 章 Java程 序 设 计 基 础 第 四 章 Java应 用 程 序 的
💻 TXT
📖 第 1 页 / 共 5 页
字号:

  Java的 动 态 特 性 是 其 面 向 对 象 设 计 方 法 的 发 展。 它 允 许 程 序 动 态 地 装 入 运 行 过 程 中 所 需 要 的 类, 这 是C++语 言 进 行 面 向 对 象 程 序 设 计 所 无 法 实 现 的。 在C++程 序 设 计 过 程 中, 每 当 在 类 中 增 加 一 个 实 例 变 量 或 一 种 成 员 函 数 后, 引 用 该 类 的 所 有 子 类 都 必 须 重 新 编 译, 否 则 将 导 致 程 序 崩 溃。Java从 如 下 几 方 面 采 取 措施来 解 决 这 个 问 题。Java编 译 器 不 是 将 对 实 例 变 量 和 成 员 函 数 的 引 用 编 译 为 数 值 引 用, 而 是 将 符 号 引 用 信 息 在 字 节 码 中 保 存 下 传 递 给 解 释 器, 再 由 解 释 器 在 完 成 动 态 连 接 类 后, 将 符 号 引 用 信 息 转 换 为 数 值 偏 移 量。 这 样, 一 个 在 存 储 器 生 成 的 对 象 不 在 编 译 过 程 中 决 定, 而 是 延 迟 到 运 行 时 由 解 释 器 确 定 的。 这 样, 对 类 中 的 变 量 和 方 法 进 行 更 新 时 就 不 至 于 影 响 现 存 的 代 码。 解 释 执 行 字 节 码 时, 这 种 符 号 信 息 的 查 找 和 转 换 过 程 仅 在 一 个 新 的 名 字 出 现 时 才 进 行 一 次, 随 后 代 码 便 可 以 全 速 执 行。 在 运 行 时 确 定 引 用 的 好 处 是 可 以 使 用 已 被 更 新 的 类, 而 不 必 担 心 会 影 响 原 有 的 代 码。 如 果 程 序 连 接 了 网 络 中 另 一 系 统 中 的 某 一 类, 该 类 的 所 有 者 也 可 以 自 由 地 对 该 类 进 行 更 新, 而 不 会 使 任 何 引 用 该 类 的 程 序 崩 溃。 Java还 简 化 了 使 用 一 个 升 级 的 或 全 新 的 协 议 的 方 法。 如 果 你 的 系 统 运 行Java程 序 时 遇 到 了 不 知 怎 样 处 理 的 程 序, 没 关 系,Java能 自 动 下 载 你 所 需 要 的 功 能 程 序。 
1.3 与C和C++语 言 的 异 同
  Java提 供 了 一 个 功 能 强 大 语 言 的 所 有 功 能, 但 几 乎 没 有 一 点 含 混 特 征。C++安 全 性 不 好, 但C和C++还 是 被 大 家 所 接 受, 所 以Java设 计 成C++形 式, 让 大 家 很 容 易 学 习。Java去 掉 了C++语 言 的 许 多 功 能, 让Java的 语 言 功 能 很 精 炼, 并 增 加 了 一些很 有 用 的 功 能, Java去 掉 了 以 下 几 个C和C++功 能 和 特 征: 指 针 运 算 结 构 typedefs #define 需 要 释 放 内 存 全 局 变 量 的 定 义 这个功 能 都 是 很 容 易 引 起 错 误 的 地 方。 
1.4 Java的 应 用 简 介 
1.4.1 Web浏 览 
  Web浏 览 是 现 在 国 际 网 甚 至 局 域 网 的 主 要 使 用 方 式。 文 档 能 很 容 易 地 显 示 文 本 和 各 种 图 片, 他 还 能 提 供 超 文 本 链 接。 这 些 浏 览 器 调 用HTML语 言 写 的 文 档,HTML/WWW浏 览 器 技 术 只 限 于 文 本 和 图 象。 如 果 你 想 播 放 一 种 声 音 或 运 行 一 个 演 示 程 序, 你 不 得 不 下 载 那 个 文 件 并 用 你 本 机 上 的 能 理 解 和 运 行 那 个 文 件 格 式 的 程 序 来 播 放 它。 Java程 序 和 它 的 浏 览 器HotJava, 提 供 了 可 让 你 的 浏 览 器 运 行 程 序 的 方 法。 你 能 从 你 的 浏 览 器 里 直 接 播 放 声 音。 你 还 能 播 放 页 面 里 的 动 画。Java还 能 告 诉 你 的 浏 览 器 怎 样 处 理 新 的 类 型 文 件。 当 我 们 能 在2400 baud线 上 传 输 视 频 图 象 时,HotJava将 能 显 示 这 些 视 频。 
1.4.2 网 络 应 用 系 统 
  Java是 一 种 与 平 台 无 关 的 语 言, 因 此 用Java开 发 的 网 络 应 用 系 统 可 以 在 各 种 平 台 上 运 行, 大 大 增 加 了 开 发 效 率, 减 少 重 复 劳 动。 而 且,Java集 成 的 网 络 功 能 分 有 利 于 开 发 网 络 应 用 系 统。 
本 章 小 结:
  1.Java的 产 生 与 流 行 是 当 今internet发 展 的 客 观 要 求。
  2.java是 一 门 各 方 面 性 能 都 很 好 的 编 程 语 言, 它 的 基 本 特 点 是 简 单、 面 象 对 象、 分 布 式、 解 释 的、健 壮 的、 安 全 的、 结 构 中 立 的、 可 移 植 的、 性 能 很 优 异 的、 多 线 程 的、 动 态 的。分 适 合 在internet环 境 上 开 发 应 用 系 统。
  3.java可 以 制 作 大 部 分 网 络 应 用 程 序 系 统, 而 且 与 当 今 流 行 的WWW浏 览 器 结 合 得 很 好。
    
  
          
  
        
    
  第 二 章 Java程 序 开 发 与 运 行 环 境 
2.1 JDK环 境 
  Java不 仅 提供了 一 个 丰 富 的 语 言 和 运 行 环 境, 而 且 还 提供了 一 个 免 费 的Java开 发 工 具 集(Java Developers Kits, 简 称JDK)。 编 程 人 员 和 最 终 用 户 可 以 利 用 这 些 工 具 来 开 发java程 序 或 调 用Java 内 容。JDK包 括 以 下 工 具: javac Java语 言 编 译 器, 输 出 结 果 为Java字 节 码 java Java字 节 码 解 释 器 javap Disassembeler: Java字 节 码 分 解 程 序, 本 程 序 返 回Java程 序 的 成 员 变 量 及 方 法 等 信 息。 javaprof 资 源 分 析 工 具, 用 于 分 析Java程 序 在 运 行 过 程 中 调 用 了 哪 些 资 源, 包 括 类 和 方 法 的 调 用 次 数 和 时 间, 以 及 各 数 据 类 型 的 内 存 使 用 情 况 等。 javah C代 码 处 理 工 具, 用 于 从Java类 调 用C++代 码 java Applet Viewer 小 应 用 程 序 浏 览 工 具, 用 于 测 试 并 运 行Java小 应 用 程 序 java Debugger API Java调 试 工 具API Prototype Debugger Java调 试 工 具 原 型 Java开 发 环 境 还 包 括Java类 库(包 括I/O类 库、 用 户 界 面 类 库、 网 络 类 库 等)和HotJava WWW 浏 览 器。 其 中,HotJava浏 览 器 提 供 了 在WWW环 境 下 运 行Java代 码 的 一 个 运 行 系 统, 而 且 还 为WWW开 发 人 员 提 供 了 一 个Java开 发 框 架。Java解 释 器 是 面 向 Java程 序 的 一 个 独 立 运 行 系 统, 它 可 以 一 种 稳 定、 高 性 能 方 式 运 行 那 些 独 立 于 平 台 的Java字 节 码,Java编 译 器 则 用 于 生 成 这 些 字 节 码。 
2.1.1 Java程 序 的 编 译 
  Java程 序 的 编 译 程 序 是javac.exe。javac命 令 将Java程 序 编 译 成 字 节 码, 然 后 你 可 用java解 释 器java命 令 来 解 释 执 行 这 些Java字 节 码。Java程 序 源 码 必 须 存 放 在 后 缀 为.java的 文 件 里。Java 程 序 里 的 每 一 个 类,javac都 将 生 成 与 类 相 同 名 称 但 后 缀 为.class文 件。 编 译 器 把.class文 件 放 在.java文 件 的 同 一 个 目 录 里, 除 非 你 用 了-d选 项。 当 你 引 用 到 某些自 己 定 义 的 类 时, 必 须 指 明 它 们 的 存 放 目 录, 这 就 需 要 利 用 环 境 变 量 参 数 CLASSPATH。 环 境 变 量CLASSPATH是 由 一 些 被 分 号 隔 开 的 路 径 名 组 成。 如 果 传 递 给javac编 译 器 的 源 文 件 里 引 用 到 的 类 定 义 在 本 文 件 和 传 递 的 其 它 文 件 中 找 不 到, 则 编 译 器 会 按 CLASSPATH定 义 的 路 径 来 搜 索。 例 如: CLASSPATH = .;C:\\java\\classes 则 编 译 器 先 搜 索 当 前 目 录, 如 果 没 搜 索 到, 则 继 续 搜 索C:\\java\\classes目 录。 注 意, 系 统 总 是 将 系 统 类 的 目 录 缺 省 地 加 在CLASSPATH后 面, 除 非 你 用 -classpath选 项 来 编 译。 javac_g 是 一 个 用 于 调 试 的 未 优 化 的 编 译 器, 功 能 与 用 法 和javac一 样。 javac的 用 法 如 下: javac [-g][-O][-debug][-depend][-nowarn][-verbose][-classpath path][-nowrite][-d dir] file.java... 以 下 是 每 个 选 项 的 解 释。 
选 项 解 释: 
  -classpath path 定 义javac搜 索 类 的 路 径。 它 将 覆 盖 缺 省 的CLASSPATH环 境 变 量 的 设 置。 路 径 是 由 一 些 由 逗 号 隔 开 的 路 径 名 组 成, 一 般 格 式 如 下: .; 例 如: .;C:\\java\\doc\\classes;C:\\tools\\java\\classes 表 示 编 译 器 遇 到 一 个 新 类, 它 先 在 本 文 件 中 查 找 它 的 定 义, 如 果 没 有, 则 在 本 文 件 所 处 目 录 下 其 它 文 件 中 查 找 它 的 定 义, 如 果 还 没 有, 则 继 续 搜 索C:\\java\\doc\\classes目 录 中 的 所 有 文 件, 以 此 类 推。 
  -d directory 指 明 类 层 次 的 根 目 录, 格 式 如 下:javac -d MyProgram.java 这 样 将MyProgram.java程 序 里 的 生 产 的.class文 件 存 放 在my_dir目 录 里. 
  -g 带 调 试 信 息 编 译, 调 试 信 息 包 括 行 号 与 使 用java调 试 工 具 时 用 到 的 局 部 变 量 信 息。 如 果 编 译 没 有 加 上-O优 化 选 项, 只 包 含 行 号 信 息。 
  -nowarn 关 闭 警 告 信 息, 编 译 器 将 不 显 示 任 何 警 告 信 息。 
  -O 优 化 编 译static,final,private函 数, 注 意 你 的 类 文 件 可 能 更 大。 
  -verbose 让 编 译 器 与 解 释 器 显 示 被 编 译 的 源 文 件 名 和 被 加 载 的 类 名。 
环 境 变 量 
  CLASSPATH 用 来 提?copy;给 系 统 搜 索 用 户 定 义 的 类 的 缺 省 路 径。 各 路 径 由 分 号 隔 开, 例 如:.;C:\\java\\doc\\classes;C:\\tools\\java\\classes 表 示 编 译 器 遇 到 一 个 新 类, 它 先 在 本 文 件 中 查 找 它 的 定 义, 如 果 没 有, 则 在 本 文 件 所 处 目 录 下 其 它 文 件 中 查 找 它 的 定 义, 如 果 还 没 有, 则 继 续 搜 索C:\\java\\doc\\classes目 录 中 的 所 有 文 件, 以 此 类 推。 
2.1.2 Java程 序 的 调 试 使 用java调 试 器 
  jdb导 游 在 早 期 前Betal版 的Java调 试 器jdb是 命 令 行 形 式 的, 如 用Sun公 司 的dbx调 试 器。 用jdb来 调 试Java应 用 程 序, 在 调 试 前, 要 确 证 你 的 应 用 程 序 是 带 标 志 -g编 译 的。 例 如: javac -g HelloWorld.java help命 令 将 显 示jdb 里 的 可 用 命 令 列 表。 
  >help <命 令 列 表> threads [threadgroup]--列 出 线 程 thread - - 设 置 缺 省 线 程 Suspend [threads id(s)]- - 将 线 程 挂 起 resume [thread id(s)]- - 重 新 启 动 线 程 where [id] |a1|- - 打 印 线 程 的 堆 栈 threadgroups--列 出 线 程 组 号 threadgroup -- 设 置 当 前 线 程 组 print [id(s)]- - 打 印 对 象 或 域 dump [id(s)]- - 打 印 所 有 对 象 信 息 locals- - 打 印 当 前 堆 栈 所 有 局 部 变 量 classes- - 列 出 当 前 所 知 的 类 methods - - 列 出 一 个 类 的 成 员 函 数 stop in .- - 在 一 个 成 员 函 数 里 设 置 断 点 stop at :- - 在 一 行 里 设 置 断 点 up [n frames]- - 在 线 程 堆 栈 里 往 上 移 down [n frames]- - 在 线 程 堆 栈 里 往 下 移 clear :- - 清 除 一 个 断 点 step - - 执 行 当 前 行 cont- - 从 断 点 处 继 续 执 行 catch - - 为 指 定 的 情 况 中 断 ignor - - 为 指 定 的 情 况 忽 略 list [line number]- - 打 印 源 程 序 use [Sourcefile path]- - 显 示 或 改 变 源 路 径 memeory- - 报 告 内 存 使 用 情 况 load classname- - 加 载Java类 以 便 调 试 run - - 开 始 执 行 加 载 的 类 !!- - 重 复 以 上 的 命 令 help(?)- - 列 出 所 有 的 命 令 exit( or quit)- - 离 开 调 试 器 
2.1.3 Java程 序 的 执 行
  java - java语 言 解 释 器 java命 令 解 释java 字 节 码 语 法: java [ options ] classname java_g [ options ] classname 
  描 述: java命 令 由java编 译 器javac输 出 的Java字 节 码。 classname参 数 是 要 执 行 的 类 名 称。 注 意 任 意 在 类 名 称 后 的 参 数 都 将 传 递 给 要 执 行 类 的main 函 数。 java执 行 完main函 数 后 推 出, 除 非main函 数 创 建 了 一 个 或 多 个 线 程。 如 果main函 数 创 建 了 其 它 线 程,java总 是 等 到 最 后 一 个 线 程 推 出 才 推 出。 
选 项: 
  -cs, -checksource 当 一 个 编 译 过 的 类 调 入 时, 这 个 选 项 将 比 较 字 节 码 更 改 时 间 与 源 文 件 更 改 时 间, 如 果 源 文 件 更 改 时 间 靠 后, 则 重 新 编 译 此 类 并 调 入 此 新 类。 
  -classpath path 定 义javac搜 索 类 的 路 径。 它 将 覆 盖 缺 省 的CLASSPATH环 境 变 量 的 设 置。 路 径 是 由 一?copy;由 逗 号 隔 开 的 路 径 名 组 成, 一 般 格 式 如 下: .; 例 如:.;C:\\java\\doc\\classes;C:\\tools\\java\\classes 表 示 解 释 器 遇 到 一 个 新 类, 它 先 在 本 文 件 中 查 找 它 的 定 义, 如 果 没 有, 则 在 本 文 件 所 处 目 录 下 其 它 文 件 中 查 找 它 的 定 义, 如 果 还 没 有, 则 继 续 搜 索C:\\java\\doc\\classes目 录 中 的 所 有 文 件, 以 此 类 推。 
  -mx x 设 置 最 大 内 存 分 配 池, 大 小 为x,x必 须 大 于1000bytes。 缺 省 为16兆。 
  -ms x 设 置 垃 圾 回 收 堆 的 大 小 为x,x必 须 大 于1000bytes。 缺 省 为1兆。 
  -noasyncgc 关 闭 异 步 垃 圾 回 收 功 能。 此 选 项 打 开 后, 除 非 显 式 调 用 或 程 序 内 存 溢 出, 垃 圾 内 存 都 不 回 收。 本 选 项 不 打 开 时, 垃 圾 回 收 线 程 与 其 它 线 程 异 步 同 时 执 行。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -