设为首页 加入收藏

TOP

第一章Java语言的产生及其特点(2)
2014-11-22 12:40:37 】 浏览:3494
Tags:第一 Java 语言 产生 及其 特点

  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通过 代 码 校 验, 没 有 返 回 错 误, 我 们 可 知 道: 代 码 没 有 堆 栈上 溢 出 和 下 溢 出 所 有 操 作 代 码 参 数 类 型 都 是 正 确 的 没 有发 生 非 法 数 据 转 换, 如 将 整 数 转 换 成 指 针。 访 问 对 象 操 作是 合 法 的


  1.2.6.2 类 装 载
  Class Loader通过 将 本 机 类 与 网 络 资 源 类 的 名 称 分 开, 来 保 持 安 全 性。 因为 调 入 类 时 总 要 经 过 检 查, 这 样 避 免 了 特 洛 伊 木 马 现 象的 出 现。 从 网 络 上 下 载 的 类 被 调 进 一 个 与 源 相 关 的 私 有的 名 字 域。 当 一 个 私 有 类 访 问 另 一 个 类 时,build-in(本 机 类)首先 被 检 查, 然 后 检 查 相 关 的 类。 这 样 就 避 免 了 破 坏 本 机 类情 况 的 出 现。


  1.2.7 可 移 植 的
  同 体 系结 构 无 关 的 特 性 使 得Java应 用 程 序 可 以 在 配 备 了Java解 释 器和 运 行 环 境 的 任 何 计 算 机 系 统 上 运 行, 这 成 为Java应 用 软件 便 于 移 植 的 良 好 基础。 但 仅 仅 如 此 还 不 够。 如 果 基 本 数据 类 型 设 计 依 赖 于 具 体 实 现, 也 将 为 程 序 的 移 植 带 来 很大 不 便。 例 如 在Windows 3.1中 整 数(Integer)为16bits, 在Windows 95中整 数 为32bits, 在DEC Alpha中 整 数 为64bits, 在Intel 486中 为32bits。通 过 定 义 独 立 于 平 台 的 基 本 数 据 类 型 及 其 运 算,Java数 据得 以 在 任 何 硬 件 平 台 上 保 持 一 致。Java语 言 的 基 本 数 据 类型 及 其 表 示 方 式 如 下: byte 8-bit 二 进 制 补 码 short 16-bit 二进 制 补 码 int 32-bit 二 进 制 补 码 long 64-bit 二 进 制 补 码 float 32-bit IEEE 754浮点 数 double 32-bit IEEE 754浮点 数 char 16-bit Unicode字符


  在 任 何Java解释 器 中, 数 据 类 型 都 是 依 据 以 上 标 准 具 体 实 现 的。 因 为 几乎 目 前 使 用 的 所 有CPU都 能 支 持 以 上 数 据 类 型、8~64位 整 数格 式 的 补 码 运 算 和 单/双 精 度浮点 运 算。 Java编 译 器 本 身 就 是用Java语 言 编 写 的。Java运 算 系 统 的 编 制 依 据POSIX方 便 移 植 的限 制, 用ANSI C语 言 写 成。Java语 言 规 范 中 也 没 有 任 何"同具 体 实 现 相 关"的 内 容。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇finalize()方法 下一篇j2me的基本介绍⑵

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目