📄 1.html
字号:
<HTML><HEAD><TITLE>黄金书屋</TITLE><META content="text/html; charset=gb2312" http-equiv=Content-Type><link rel="stylesheet" href="/cssset.css"></HEAD><BODY bgColor=#ffffff leftMargin=0 link=#000000 topMargin=0 vLink=#000000><center> <script language="JavaScript" src="/top.js"></script></center><TABLE background=images/bj.jpg border=0 cellSpacing=0 width="100%"> <TR> <TD bgColor=#c6bba4 vAlign=top width="12%"></TD> <TD background=/images/bj.jpg vAlign=top width="76%"> <center> <iframe width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no bordercolor="#000000" src="/banner3.html"></iframe> </center> <br> </TD> <TD bgColor=#c6bba4 vAlign=top width="12%"></TD> </TR></TABLE><TABLE background=images/bj.jpg border=0 cellSpacing=0 width="100%"> <TR> <TD bgColor=#c6bba4 vAlign=top width="11%" align="right"> <br><br><br> <b><a href="/index.html">回首页</a><br><br><a href='2.html'>下一页</a><br><br><a href='http://pub.goldnets.com:81/bbs/post.php?job=new&topic=12210' target=_blank> 我有话说 </a><br><br><a href='http://pub.goldnets.com:81/bbs/bbslist.php?topic=12210' target=_blank> 评论一览 </a></center><br><!--title_end--></b> </TD> <TD bgColor=#c6bba4 vAlign=top width="1%"></TD> <TD background=/images/bj.jpg vAlign=top width="76%"> <br> <hr align="center" width="98%" size="1"> <br> <font color="blue">Java语言入门</font> >> <font color=red>第 一 章 Java语 言 的 产 生 及 其 特 点</font><hr width=90% color=#7A7A71><table width=88% border=0 align=center><tr><td><div style=font-size:12pt><pre> Java语言入门
第 一 章 Java语 言 的 产 生 及 其 特 点
1.1 Java产 生 的 历 史 与 现 状
1.1.1 Java产 生 的 历 史
Java来 自 于Sun公 司 的 一 个 叫Green的 项 目, 其 原 先
的 目 的 是 为 家 用 消 费 电 子 产 品 开 发 一 个 分 布 式 代 码 系
统, 这 样 我 们 可 以 把E-mail发 给 电 冰 箱、 电 视 机 等 家 用 电
器, 对 它 们 进 行 控 制, 和 它 们 进 行 信 息 交 流。 开 始, 准 备
采 用C++,但C++太 复 杂, 安 全 性 差, 最 后 基 于C++开 发 一 种 新 的
语 言Oak(Java的 前 身),Oak是 一 种 用 于 网 络 的 精 巧 而 安 全 的
语 言,Sun公 司 曾 依 此 投 标 一 个 交 互 式 电 视 项 目, 但 结 果
是 被SGI打 败。 可 怜 的Oak几 乎 无 家 可 归, 恰 巧 这 时Mark
Ardreesen开 发 的Mosaic和Netscape启 发 了Oak项 目 组 成 员, 他 们
用Java编 制 了HotJava浏 览 器, 得 到 了Sun公 司 首 席 执 行 官Scott
McNealy的 支 持, 触 发 了Java进 军Internet。 Java的 取 名 也 有
一?copy;趣 闻, 有 一 天, 几 位Java成 员 组 的 会 员 正 在 讨 论 给
这 个 新 的 语 言 取 什 么 名 字, 当 时 他 们 正 在 咖 啡 馆 喝 着
Java(爪 哇) 咖 啡, 有 一 个 人 灵 机 一 动 说 就 叫Java怎 样, 得 到
了 其 他 人 的 赞 赏, 于 是,Java这 个 名 字 就 这 样 传 开 了。
1.1.2 Java的 现 状
Java是Sun公 司 推 出 的 新 的 一 代 面 向 对 象 程 序 设
计 语 言, 特 别 适 合 于Internet应 用 程 序 开 发, 它 的 平 台 无 关
性 直 接 威 胁 到Wintel的 垄 断 地 位。 一 时 间," 连Internet, 用
Java编 程", 成 为 技 术 人 员 的 一 种 时 尚。 虽 然 新 闻 界 的 报
导 有?copy;言 过 其 实, 但Java作 为 软 件 开 发 的 一 种 革 命 性 的
技 术, 其 地 位 已 被 确 立, 这 表 现 在 以 下 几 个 方 面: 1.计 算
机 产 业 的 许 多 大 公 司 购 买 了 Java的 许 可 证, 包 括
IBM,Apple,DEC,Adobe,Silicon Graphics,HP,Oracel,Toshiba, 以 及 最 不
情 愿 的Microsoft。 这 一 点 说 明,Java已 得 到 了 工 业 界 的 认 可。
2.众 多 的 软 件 开 发 商 开 始 支 持Java的 软 件 产 品。 例 如:
Borland公 司 正 在 开 发 的 基 于Java的 快 速 应 用 程 序 开 发 环
境Latte, 预 计 产 品 会 在1996年 中 期 发 布。Borland公 司 的 这 一
举 措, 推 动 了Java进 入PC机 软 件 市场。Sun公 司 自 己 的Java开 发
环 境Java Workshop已 经 发 布。 数 据 库 厂 商 如:
Illustra,Sysbase,Versant,Oracle都 在 开 发CGI接 口, 支 持HTML和
Java。 今 天 是 以 网 络 为 中 心 的 计 算 时 代, 不 支 持HTML和Java,
应 用 程 序 的 应 用 范 围 只 能 限 于 同 质 的 环 境(相 同 的 硬 件
平 台?copy;。 3.Intranet正 在 成 为 企 业 信 息 系 统 最 佳 的 解 决
方 案, 而 其 中Java将 发 挥 不 可 替 代 的 作 用。Intranet的 目 的 是
把Internet用 于 企 业 内 部 的 信 息 系 统, 它 的 优 点 表 现 在: 便
宜, 易 于 使 用 和 管 理。 用 户 不 管 使 用 何 种 类 型 的 机 器 和
操 作 系 统, 界 面 是 统 一 的Intrnet浏 览 器, 而 数 据 库、Web页 面、
应 用 程 序(用Java编 的Applet)则 存 在WWW服 务 器 上, 无 论 是 开
发 人 员, 还 是 管 理 人 员, 抑 或 是 用 户 都 可 以 受 益 于 该 解
决 方 案。 Java语 言 正 在 不 断 发 展 和 完 善,Sun公 司 是 主 要 的
发 展 推 动 者, 较 通 用 的 编 译 环 境 有JDK(Java Develop Kit)与
JWS(Java Workshop)。 还 有 很 多 其 他 公 司 正 在 开 发Java语 言 的
编 译 器 与 集 成 环 境, 预 计 不 久Java语 言 的 正 确 性 与 效 率
都 将 会 提 高, 用 户 用Java编 程 和 现 在 用C++编 程 一 样 方 便。
1.2 Java语 言 的 特 点
Java到 底 是 一 种 什 么 样 的 语 言 呢? Java是 一 种 简
单 的 面 象 对 象 的 分 布 式 的 解 释 的 健 壮 的 安 全 的 结 构 中
立 的 可 移 植 的 性 能 很 优 异 的 多 线 程 的 动 态 的 语 言。
1.2.1 简 单
Java最 初 是 为 对 家 用 电 器 进 行 集 成 控 制 而 设 计
的 一 种 语 言, 因 此 它 必 须 简 单 明 了。Java语 言 的 简 单 性 主
要 体 现 在 以 下 三 个 方 面: 1. Java的 风 格 类 似 于C++, 因 而
C++程 序 员 是 非 常 熟 悉 的。 从 某 种 意 义 上 讲,Java语 言 是C
及C++语 言 的 一 个 变 种, 因 此,C++程 序 员 可 以 很 快 就 掌 握
Java编 程 技 术。 2. Java摒 弃 了C++中 容 易 引 发 程 序 错 误 的 地
方, 如 指 针 和 内 存 管 理。 3. Java提?copy;了 丰 富 的 类 库。
1.2.2 面 向 对 象
面 向 对 象 可 以 说 是Java最 重 要 的 特 性。Java语 言 的
设 计 完 全 是 面 向 对 象 的, 它 不 支 持 类 似C语 言 那 样 的 面
向 过 程 的 程 序 设 计 技 术。Java支 持 静 态 和 动 态 风 格 的 代
码 继 承 及 重 用。 单 从 面 向 对 象 的 特 性 来 看,Java类 似 于
SmallTalk, 但 其 它 特 性、 尤 其 是 适 用 于 分 布 式 计 算 环 境 的
特 性 远 远 超 越 了SmallTalk。
1.2.3 分 布 式
Java包 括 一 个 支 持HTTP和FTP等 基 于TCP/IP协 议 的 子
库。 因 此,Java应 用 程 序 可 凭 借URL打 开 并 访 问 网 络 上 的 对
象, 其 访 问 方 式 与 访 问 本 地 文 件 系 统 几 乎 完 全 相 同。 为
分 布 环 境 尤 其 是Internet提?copy;动 态 内 容 无 疑 是 一 项 非 常
宏 伟 的 任 务, 但Java的 语 法 特 性 却 使 我 们 很 容 易 地 实 现
这 项 目 标。
1.2.4 健 壮
Java致 力 于 检 查 程 序 在 编 译 和 运 行 时 的 错 误。 类
型 检 查 帮 助 检 查 出 许 多 开 发 早 期 出 现 的 错 误。Java自 已
操 纵 内 存 减 少 了 内 存 出 错 的 可 能 性。Java还 实 现 了 真 数
组, 避 免 了 覆 盖 数 据 的 可 能。 这?copy;功 能 特 征 大 大 缩 短 了
开 发Java应 用 程 序 的 周 期。 Java提?copy;: Null指 针 检 测 数 组
边 界 检 测 异 常 出 口 字 节 代 码 校 验
1.2.5 结 构 中 立
另 外, 为 了 建 立Java作 为 网 络 的 一 个 整 体,Java将 它
的 程 序 编 译 成 一 种 结 构 中 立 的 中 间 文 件 格 式。 只 要 有
Java运 行 系 统 的 机 器 都 能 执 行 这 种 中 间 代 码。 现 在,Java
运 行 系 统 有Solaris2.4(SPARC),Win32系 统(Windows95和Windows NT)等.
Java源 程 序 被 编 译 成 一 种 高 层 次 的 与 机 器 无 关 的
byte-code格 式 语 言, 这 种 语 言 被 设 计 在 虚 拟 机 上 运 行, 由
机 器 相 关 的 运 行 调 试 器 实 现 执 行。
1.2.6 安 全
Java的 安 全 性 可 从 两 个 方 面 得 到 保 证。 一 方 面,
在Java语 言 里, 象 指 针 和 释 放 内 存 等C++功 能 被 删 除, 避 免
了 非 法 内 存 操 作。 另 一 方 面, 当Java用 来 创 建 浏 览 器 时, 语
言 功 能 和 一?copy;浏 览 器 本 身 提?copy;的 功 能 结 合 起 来, 使
它 更 安 全。 Java语 言 在 你 的 机 器 上 执 行 前, 要 经 过 很 多 次
的 测 试。 它 经 过 代 码 校 验, 检 查 代 码 段 的 格 式, 检 测 指 针
操 作, 对 象 操 作 是 否 过 分 以 及 试 图 改 变 一 个 对 象 的 类
型。
1.2.6.1 Byte-code校 验
如 果byte-code通 过 代 码 校 验, 没 有 返 回 错 误, 我 们
可 知 道: 代 码 没 有 堆 栈 上 溢 出 和 下 溢 出 所 有 操 作 代 码 参
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -