专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » java技术的特点:Java的产生和特点 »正文

java技术的特点:Java的产生和特点

来源: 发布时间:星期五, 2009年4月3日 浏览:0次 评论:0
Java产生和特点JAVA中文站社区门户.y,L;Q;mF3E-D(D

G-y/]$zS-~9^---(文/袁小春)
3q SM&J/NVzJava产 生 历 史 和 现 状
MM7_4p*wx6[&}o3gJava产 生 历 史
d3\]4B$\O$?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这 个 名 字 就 这 样 传 开 了 JAVA中文站社区门户G zP LTV"y(Y

0g&s0o;B m;iM-ocJava 现 状
6?D Ad2m$NE {NZ6{ lJava是Sun公司 推 出 代 面 向 对 象 程 序 设 计 语 言 特 别 适 合 于Internet应用 程 序 开 发 平 台 无 关 性 直 接 威 胁 到Wel 垄 断 地 位 时 间“ 连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编 程 样 方 便 JAVA中文站社区门户!YUHBnz

#~(GuxitCJava语 言 特 点JAVA中文站社区门户+r @F5Y#VBP\'| ND
Java到 底是 种 什 么 样 语 言 呢? Java是 种 简 单 面 象 对 象 分布 式 解 释 健 壮 安 全 结 构 中 立 可 移 植 性 能 很优 异 多 线 程 动 态 语 言 JAVA中文站社区门户'Jo6^?Jei'eC*P9M

Q.v!|"mRg-X1简 单 JAVA中文站社区门户`b([~8?h0j
Java最 初是 为 对 家 用 电 器 进 行 集 成 控 制 而 设 计 种 语 言 因 此它 必 须 简 单 明 了Java语 言 简 单 性 主 要 体 现 在 以 下 3 个方 面: 1. Java 风 格 类 似 于C 因 而C程 序 员 是 非 常 熟 悉 从 某 种 意 义 上 讲Java语 言 是C及C语 言 个 变 种 因 此C 员 可 以 很 快 就 掌 握Java编 程 技 术 2. Java摒 弃 了C中 容 易引 发 程 序 错 误 地 方 如 指 针 和 内 存 管 理 3. Java提?copy;了丰 富 类 库JAVA中文站社区门户[$[*X,Jk'~__7l

-T!{-aae5Bt面 向 对 象
+Mn5q]:^M_y面 向 对象 可 以 说 是Java最 重 要 特 性Java语 言 设 计 完 全 是 面 向对 象 它 不 支 持 类 似C语 言 那 样 面 向 过 程 程 序 设 计技 术Java支 持 静 态 和 动 态 风 格 代 码 继 承 及 重 用 单 从 面向 对 象 特 性 来 看Java类 似 于SmallTalk 但 其 它 特 性、 尤 其是 适 用 于 分 布 式 计 算 环 境 特 性 远 远 超 越 了SmallTalk
j#S0G4O}.vJ;O?
&i;BWN;a;MH分 布 式
%Vfbwp,t1nK4M5hJava包 括 个 支 持HTTP和FTP等 基 于TCP/IP协 议 子 库 因 此Java应 用 可 凭 借URL打 开 并 访 问 网 络 上 对 象 其 访 问 方 式 和 访 问本 地 文 件 系 统 几 乎 完 全 相 同 为 分 布 环 境 尤 其 是Internet提?copy;动态 内 容 无 疑 是 项 非 常 宏 伟 任 务 但Java 语 法 特 性 却使 我 们 很 容 易 地 实 现 这 项 目 标
$B4_ N7M0un0?JAVA中文站社区门户0Z5f*ri*xJ#R2i
健 壮JAVA中文站社区门户2H Q,I/c*|{L
Java致 力于 检 查 程 序 在 编 译 和 运 行 时 错 误 类 型 检 查 帮 助 检 查出 许 多 开 发 早 期 出 现 错 误Java自 已 操 纵 内 存 减 少 了 内存 出 错 可 能 性Java还 实 现 了 真 数 组 避 免 了 覆 盖 数 据 可 能 这?copy;功 能 特 征 大 大 缩 短 了 开 发Java应 用 程 序 周期 Java提?copy;: Null指 针 检 测 数 组 边 界 检 测 异 常 出 口 字 节代 码 校 验 JAVA中文站社区门户CF"xC{H9h

s/iy&d \,Ti:m&s结 构 中 立
X@7x9R'DH]u另 外为 了 建 立Java作 为 网 络 个 整 体Java将 它 程 序 编 译 成 种 结 构 中 立 中 间 文 件 格 式 只 要 有Java运 行 系 统 机器 都 能 执 行 这 种 中 间 代 码 现 在Java运 行 系 统 有Solaris2.4(SPARC),Win32系统(Windows95和Windows NT)等. Java源 程 序 被 编 译 成 种 高 层 次 和 机 器 无 关 -code格 式 语 言 这 种 语 言 被 设 计 在 虚 拟 机上 运 行 由 机 器 相 关 运 行 调 试 器 实 现 执 行 JAVA中文站社区门户6f3?s$xL
JAVA中文站社区门户+J C3{/T@d n/sn&E,g2Z
安 全 JAVA中文站社区门户[m]?h+_ c
Java 安全 性 可 从 两 个 方 面 得 到 保 证 方 面 在Java语 言 里 象 指针 和 释 放 内 存 等C功 能 被 删 除 避 免 了 非 法 内 存 操 作 方 面 当Java用 来 创 建 浏 览 器 时 语 言 功 能 和 ?copy;浏 览器 本 身 提?copy; 功 能 结 合 起 来 使 它 更 安 全 Java语 言 在你 机 器 上 执 行 前 要 经 过 很 多 次 测 试 它 经 过 代 码 校验 检 查 代 码 段 格 式 检 测 指 针 操 作 对 象 操 作 是 否 过分 以 及 试 图 改 变 个 对 象 类 型 JAVA中文站社区门户.n$P6E$^3^8B

;g&[*~m$_C8\*^#^Byte-code校 验 JAVA中文站社区门户b:l g$k1I6Ky K9w:G
如 果-code通过 代 码 校 验 没 有 返 回 错 误 我 们 可 知 道: 代 码 没 有 堆 栈上 溢 出 和 下 溢 出 所 有 操 作 代 码 参 数 类 型 都 是 正 确 没 有发 生 非 法 数 据 转 换 如 将 整 数 转 换 成 指 针 访 问 对 象 操 作是 合 法
/k X/zY j]$e8Y
kK/OEl)|类 装 载
!SL8~XDxClass Loader通过 将 本 机 类 和 网 络 资 源 类 名 称 分 开 来 保 持 安 全 性 调 入 类 时 总 要 经 过 检 查 这 样 避 免 了 特 洛 伊 木 马 现 象 出 现 从 网 络 上 下 载 类 被 调 进 个 和 源 相 关 私 有 名 字 域 个 私 有 类 访 问 另 个 类 时build-in(本 机 类)首先 被 检 查 然 后 检 查 相 关 这 样 就 避 免 了 破 坏 本 机 类情 况 出 现 JAVA中文站社区门户#P;N{'[c G)w%MB

5w ~&`)pR7a9u可 移 植
A#Nz.kWr+J8M同 体 系结 构 无 关 特 性 使 得Java应 用 程 序 可 以 在 配 备 了Java解 释 器和 运 行 环 境 任 何 计 算 机 系 统 上 运 行 这 成 为Java应 用 软件Software 便 于 移 植 良 好 基础 但 仅 仅 如 此 还 不 够 如 果 基 本 数据 类 型 设 计 依 赖 于 具 体 实 现 也 将 为 程 序 移 植 带 来 很大 不 便 例 如 在Windows 3.1中 整 数(Integer)为16bits 在Windows 95中整 数 为32bits 在DEC Alpha中 整 数 为64bits 在Intel 486中 为32bits通 过 定 义 独 立 于 平 台 基 本 数 据 类 型 及 其 运 算Java数 据得 以 在 任 何 硬 件 平 台 上 保 持 Java语 言 基 本 数 据 类型 及 其 表 示 方 式 如 下: 8-bit 2 进 制 补 码 16-bit 2进 制 补 码 32-bit 2 进 制 补 码 long 64-bit 2 进 制 补 码 float 32-bit IEEE 754浮点 数 double 32-bit IEEE 754浮点 数 char 16-bit Unicode
cek)PvU)OwHOJAVA中文站社区门户.k2xkNN P0?i
在 任 何Java解释 器 中 数 据 类 型 都 是 依 据 以 上 标 准 具 体 实 现 因 为 几乎 目 前 使 用 所 有CPU都 能 支 持 以 上 数 据 类 型、8~64位 整 数格 式 补 码 运 算 和 单/双 精 度浮点 运 算 Java编 译 器 本 身 就 是用Java语 言 编 写 Java运 算 系 统 编 制 依 据POSIX方 便 移 植 限 制 用ANSI C语 言 写 成Java语 言 规 范 中 也 没 有 任 何"同具 体 实 现 相 关" 内 容 JAVA中文站社区门户)|*t5[+MU W Ca

#P\_T}ke解 释 JAVA中文站社区门户+Ivpfb
Java解 释器(运 行 系 统)能 直 接 运 行 目 标 代 码 指 令 链 接 程 序 通 常 比编 译 程 序 所 需 资 源 少 所 以 程 序 员 可 以 在 创 建 源 程 序 上花 上 更 多 时 间 JAVA中文站社区门户8jMR!^)}

k.o1W b6n0W+{jc7F高 性 能
J+J5hy9O \ |!H M6o如 果 解释 器 速 度 不 慢Java可 以 在 运 行 时 直 接 将 目 标 代 码 翻 译 成机 器 指 令Sun用 直 接 解 释 器 秒 钟 内 可 调 用300,000个 过 程翻 译 目 标 代 码 速 度 和C/C 性 能 没 什 么 区 别
P']#h9aV)O Nl6]!|JAVA中文站社区门户;s-ac&KZVw;}cE
多 线 程
o+J!~*LgJava提?copy;多 线 程 功 能 使 得 在 个 程 序 里 可 同 时 执 行 多 个 小 任 务线 程 - - 有 时 也 称 小 进 程 - - 是 个 大 进 程 里 分 出 来 独 立 进 程 因 为Java实 现 多 线 程 技 术 所 以 比C和C更键 壮 多 线 程 带 来 更 大 好 处 是 更 好 交 互 性 能 和 实时 控 制 性 能 当 然 实 时 控 制 性 能 还 取 决 于 系 统 本 身(UNIX,Windows,Macosh等)在 开 发 难 易 程 度 和 性 能 上 都 比 单 线 程 要 好 任 何 用 过 当前 浏 览 器 都 感 觉 为 调 副 图 片 而 等 待 是 件 很 烦恼 事 情 在Java里 你 可 用 个 单 线 程 来 调 副 图 片 而你 可 以 访 问HTML里 其 它 信 息 而 不 必 等 它 JAVA中文站社区门户2g&HT7B5~o
JAVA中文站社区门户 u3kxnr5Z(R`
动 态
8o2B3j _ g*T6`#M`Java 动态 特 性 是 其 面 向 对 象 设 计 方 法 ?copy;展 它 允 许 程 序 动态 地 装 入 运 行 过 程 中 所 需 要 这 是C语 言 进 行 面 向 对象 程 序 设 计 所 无 法 实 现 在C程 序 设 计 过 程 中 每 当 在类 中 增 加 个 实 例 变 量 或 种 成 员 函 数 后 引 用 该 类 所 有 子 类 都 必 须 重 新 编 译 否 则 将 导 致 程 序 崩 溃Java从 如下 几 方 面 采 取 措?copy;来 解 决 这 个 问 题Java编 译 器 不 是 将对 实 例 变 量 和 成 员 函 数 引 用 编 译 为 数 值 引 用 而 是 将符 号 引 用 信 息 在 字 节 码 中 保 存 下 传 递 给 解 释 器 再 由 解释 器 在 完 成 动 态 连 接 类 后 将 符 号 引 用 信 息 转 换 为 数 值偏 移 量 这 样 个 在 存 储 器 生 成 对 象 不 在 编 译 过 程 中决 定 而 是 延 迟 到 运 行 时 由 解 释 器 确 定 这 样 对 类 中 变 量 和 方 法 进 行 更 新 时 就 不 至 于 影 响 现 存 代 码 解释 执 行 字 节 码 时 这 种 符 号 信 息 查 找 和 转 换 过 程 仅 在 个 新 名 字 出 现 时 才 进 行 随 后 代 码 便 可 以 全 速执 行 在 运 行 时 确 定 引 用 好 处 是 可 以 使 用 已 被 更 新 而 不 必 担 心 会 影 响 原 有 代 码 如 果 程 序 连 接 了 网 络中 另 系 统 中 该 类 所 有 者 也 可 以 自 由 地 对该 类 进 行 更 新 而 不 会 使 任 何 引 用 该 类 程 序 崩 溃 Java还简 化 了 使 用 个 升 级 或 全 新 协 议 方 法 如 果 你 系 统 运 行Java程 序 时 遇 到 了 不 知 怎 样 处 理 程 序 没 关 系Java能自 动 下 载 你 所 需 要 功 能 程 序 JAVA中文站社区门户!g ymSxu X
JAVA中文站社区门户8`+c&sG^PG ~%u q
和C和C语 言 异 同
L8ik~:?!?8yeJava提?copy;了 个 功 能 强 大 语 言 所 有 功 能 但 几 乎 没 有 点 含 混 特征C安 全 性 不 好 但C和C还 是 被 大 家 所 接 受 所 以Java设 计成C形 式 让 大 家 很 容 易 学 习Java去 掉 了C语 言 许 多 功能 让Java 语 言 功 能 很 精 炼 并 增 加 了 ?copy;很 有 用 功能 Java去 掉 了 以 下 几 个C和C功 能 和 特 征: 指 针 运 算 结 构 typedefs # 需 要 释 放 内 存 全 局 变 量 定 义 这?copy;功 能 都 是 很容 易 引 起 错 误 地 方
J rW0\l~%z
o*L)H(W:A{Java 应 用 简 介 JAVA中文站社区门户C"N,j d;@X7O1Xj
Web浏 览
0O/z0zWVUWeb浏 览是 现 在 国 际 网 甚 至 局 域 网 主 要 使 用 方 式 文 档 能 很 容易 地 显 示 文 本 和 各 种 图 片 他 还 能 提?copy;超 文 本 链 接 这?copy;浏览 器 调 用HTML语 言 写 文 档HTML/WWW浏 览 器 技 术 只 限 于 文 本和 图 象 如 果 你 想 播 放 种 声 音 或 运 行 个 演 示 程 序 你不 得 不 下 载 那 个 文 件 并 用 你 本 机 上 能 理 解 和 运 行 那 个文 件 格 式 程 序 来 播 放 它 Java程 序 和 它 浏 览 器HotJava提?copy;了 可 让 你 浏 览 器 运 行 程 序 方 法 你 能 从 你 浏 览 器 里 直 接 播 放 声 音 你 还 能 播 放 页 面 里 动 画Java还能 告 诉 你 浏 览 器 怎 样 处 理 新 类 型 文 件 当 我 们 能 在2400 baud线 上 传 输 视 频 图 象 时HotJava将 能 显 示 这?copy;视 频
$x5aqu0f
f ~p,wc3E d-O网 络 应 用 系 统 JAVA中文站社区门户9t/[.Z#p%kk
Java是 种 和 平 台 无 关 语 言 因 此 用Java开 发 网 络 应 用 系 统 可以 在 各 种 平 台 上 运 行 大 大 增 加 了 开 发 效 率 减 少 重 复 劳动 而 且Java集 成 网 络 功 能?reg;分 有 利 于 开 发 网 络 应 用系 统
6`,M ~ueb"@;\ TP
iX2t$V c,u#@D小 结:JAVA中文站社区门户!bg0Y.E+P0k
1.Java产 生 和 流 行 是 当 今ernet发 展 客 观 要 求 2.java是 门 各 方面 性 能 都 很 好 编 程 语 言 基 本 特 点 是 简 单、 面 象 对象、 分 布 式、 解 释 、健 壮 、 安 全 、 结 构 中 立 、 可 移植 、 性 能 很 优 异 、 多 线 程 、 动 态 ?reg;分 适 合 在ernet环境 上 开 发 应 用 系 统 3.java可 以 制 作 大 部 分 网 络 应 用 程 序系 统 而 且 和 当 今 流 行 WWW浏 览 器 结 合 得 很 好

TAG: Java JAVA java 特点
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: