- 000_【课程介绍 —— 写在前面的话】_Java学习概述
- 101_【第1章:JAVA概述及开发环境搭建】_JAVA发展概述
- 102_【第1章:JAVA概述及开发环境搭建】_Java开发环境搭建
- 201_【第2章:简单Java程序】_简单Java程序
- 301_【第3章:Java基础程序设计】_Java数据类型l
- 302_【第3章:Java基础程序设计】_运算符、表达式与语句
- 303_【第3章:Java基础程序设计】_判断与循环语句
- 401_【第4章:数组与方法】_数组的定义及使用
- 402_【第4章:数组与方法】_方法的声明及使用
- 403_【第4章:数组与方法】_数组的引用传递
- 404_【第4章:数组与方法】_Java新特性对数组的支持
- 020501_【第5章:面向对象基础】_面向对象、类与对象的定义
- 020502_【第5章:面向对象基础】_类与对象的进一步研究
- 020503_【第5章:面向对象基础】_封装性
- 020504_【第5章:面向对象基础】_构造方法与匿名对象
- 020505_〖第5章:面向对象基础〗_实例讲解—类设计分析(学生类)
- 020506_【第5章:面向对象基础】_String类
- 020507_【第5章:面向对象基础】_String类的常用方法笔记
- 020508_【第5章:面向对象基础】_引用传递及其应用
- 020509_【第5章:面向对象基础】_this关键字
- 020510_【第5章:面向对象基础】_static关键字
- 020511_【第5章:面向对象基础】_理解main方法
- 020512_【第5章:面向对象基础】_代码块
- 020513_【第5章:面向对象基础】_构造方法私有化
- 020514_【第5章:面向对象基础】_对象数组
- 020515_【第5章:面向对象基础】_内部类
- 020516_〖第5章:面向对象基础〗_实例讲解—系统登陆
- 020517_〖第5章:面向对象基础〗_实例讲解—单向链表(1)
- 020518_〖第5章:面向对象基础〗_实例讲解—单向链表(2)
- 020601_【第6章:面向对象(高级)】_继承的基本实现
- 020602_【第6章:面向对象(高级)】_继承的进一步研究
- 020603_〖第6章:面向对象(高级)〗_范例:继承的应用
- 020604_【第6章:面向对象(高级)】_final关键字
- 020605_【第6章:面向对象(高级)】_抽象类的基本概念
- 020606_【第6章:面向对象(高级)】_接口的基本概念
- 020607_【第6章:面向对象(高级)】_对象的多态性
- 020608_【第6章:面向对象(高级)】_instanceof关键字
- 020609_【第6章:面向对象(高级)】_抽象类与接口的应用
- 020610_〖第6章:面向对象(高级)〗_实例分析:宠物商店
- 020611_【第6章:面向对象(高级)】_Object类
- 020612_【第6章:面向对象(高级)】_包装类
- 020613_【第6章:面向对象(高级)】_匿名内部类
- 020701_【第7章:异常的基本概念】_异常的基本概念
- 020702_【第7章:异常的基本概念】_异常的其他概念
- 020801_【第8章:包及访问控制权限】_包的定义及导入
- 020802_【第8章:包及访问控制权限】_访问控制权限及命名规范
- 030901_【第9章:多线程】_认识多线程
- 030902_【第9章:多线程】_线程常用操作方法
- 030903_〖第9章:多线程〗_线程操作范例
- 030904_【第9章:多线程】_同步与死锁
- 030905_【第9章:多线程】_线程操作案例——生产者和消费者
- 030906_【第9章:多线程】_线程生命周期
- 031001_【第10章:泛型】_泛型入门
- 031002_【第10章:泛型】_通配符
- 031003_【第10章:泛型】_泛型的其他应用
- 031004_〖第10章:泛型〗_实例讲解—泛型操作范例
- 031102_【第11章:Java常用类库】_Runtime类
- 031101_【第11章:Java常用类库】_StringBuffer
- 031104_【第11章:Java常用类库】_System类
- 031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)
- 031106_【第11章:Java常用类库】_日期操作类(SimpleDateFormat)
- 031103_【第11章:Java常用类库】_国际化程序
- 031108_【第11章:Java常用类库】_Math与Random类
- 031107_〖第11章:Java常用类库〗_实例操作:取得当前日期
- 031109_【第11章:Java常用类库】_NumberFormat
- 031111_【第11章:Java常用类库】_对象克隆技术
- 031112_【第11章:Java常用类库】_Arrays
- 031110_【第11章:Java常用类库】_大数操作(BigIntger、BigDecimal)
- 031114_【第11章:Java常用类库】_观察者设计模式
- 031113_【第11章:Java常用类库】_比较器(Comparable、Comparator)
- 031116_【第11章:Java常用类库】_定时调度
- 031202_【第12章:JAVA IO】_RandomAccessFile
- 031115_【第11章:Java常用类库】_正则表达式
- 031201_【第12章:JAVA IO】_File类
- 031204_【第12章:JAVA IO】_字节-字符转换流
- 031206_【第12章:JAVA IO】_管道流
- 031205_【第12章:JAVA IO】_内存操作流
- 031207_【第12章:JAVA IO】_打印流
- 031209_【第12章:JAVA IO】_BufferedReader
- 031203_【第12章:JAVA IO】_字节流与字符流
- 031208_【第12章:JAVA IO】_System类对IO的支持
- 031210_〖第12章:JAVA IO〗_IO操作实例
- 031213_【第12章:JAVA IO】_合并流
- 031211_【第12章:JAVA IO】_Scanner
- 031212_【第12章:JAVA IO】_数据操作流
- 031216_【第12章:JAVA IO】_字符编码
- 031215_【第12章:JAVA IO】_回退流
- 031218_〖第12章:JAVA IO〗_实例操作—单人信息管理程序
- 031214_【第12章:JAVA IO】_压缩流
- 031217_【第12章:JAVA IO】_对象序列化
- 031219_〖第12章:JAVA IO〗_实例操作:投票程序
- 031301_【第13章:Java类集】_认识类集、Collection接口
- 031303_【第13章:Java类集】_LinkedList类
- 031304_【第13章:Java类集】_Set接口
- 031302_【第13章:Java类集】_List接口
- 031306_【第13章:Java类集】_SortedSet接口
- 031305_【第13章:Java类集】_排序及重复元素说明
- 031307_【第13章:Java类集】_Iterator接口
- 031309_【第13章:Java类集】_foreach及Enumeration接口
- 031308_【第13章:Java类集】_ListIterator接口
- 031312_【第13章:Java类集】_IdentityHashMap类
- 031311_【第13章:Java类集】_Map接口使用的注意事项
- 031310_【第13章:Java类集】_Map接口
- 031313_【第13章:Java类集】_SortedMap类
- 031315_【第13章:Java类集】_Stack类
- 031314_【第13章:Java类集】_集合工具类:Collections
- 031317_〖第13章:Java类集〗_范例讲解:一对多关系
- 031316_【第13章:Java类集】_属性类:Properties
- 031318_〖第13章:Java类集〗_范例讲解:多对多关系
- 031401_【第14章:枚举】_枚举的作用
- 031404_【第14章:枚举】_枚举的其他应用
- 031402_【第14章:枚举】_Enum
- 031403_【第14章:枚举】_类集对Enum的支持
- 031501_【第15章:Java反射机制】_认识Class类
- 031502_【第15章:Java反射机制】_Class类的使用
- 031505_【第15章:Java反射机制】_动态代理
- 031503_【第15章:Java反射机制】_反射应用——取得类的结构
- 031504_【第15章:Java反射机制】_Java反射机制的深入研究
- 031506_【第15章:Java反射机制】_工厂设计模式
- 031601_【第16章:Annotation】_系统内建Annotation
- 031602_【第16章:Annotation】_自定义Annotation
- 031603_【第16章:Annotation】_反射与Annotation
- 031604_【第16章:Annotation】_深入Annotation
- 031702_【第17章:Java数据库编程】_MySQL数据库
- 031701_【第17章:Java数据库编程】_JDBC概述
- 031703_【第17章:Java数据库编程】_SQL语法基础
- 031704_【第17章:Java数据库编程】_JDBC操作步骤及数据库连接操作
- 031705_【第17章:Java数据库编程】_执行数据库更新操作
- 031706_【第17章:Java数据库编程】_ResultSet接口
- 031709_【第17章:Java数据库编程】_处理大数据对象(2)—处理BLOB数据
- 031708_【第17章:Java数据库编程】_处理大数据对象(1)—处理CLOB数据
- 031710_【第17章:Java数据库编程】_CallableStatement接口
- 031707_【第17章:Java数据库编程】_PreparedStatement接口
- 031712_【第17章:Java数据库编程】_事务处理
- 031713_【第17章:Java数据库编程】_使用元数据分析数据库
- 031711_【第17章:Java数据库编程】_JDBC 2.0操作
- 031801_【第18章:图形界面】_AWT、Swing简介
- 031714_【第17章:Java数据库编程】_使用JDBC连接Oracle
- 031802_【第18章:图形界面】_基本容器:JFrame
- 031804_【第18章:图形界面】_按钮组件:JButton
- 031803_【第18章:图形界面】_标签组件:JLabel
- 031807_【第18章:图形界面】_不弹起的按钮组件:JToggleButton
- 031805_【第18章:图形界面】_布局管理器
- 031808_【第18章:图形界面】_文本组件:JTextComponent
- 031806_【第18章:图形界面】_其他容器
- 031810_【第18章:图形界面】_单选钮:JRadioButton
- 031811_【第18章:图形界面】_复选框:JCheckBox
- 031809_【第18章:图形界面】_事件处理
- 031812_【第18章:图形界面】_列表框:JList
- 031812_【第18章:图形界面】_下拉列表框:JComboBox
- 031813_【第18章:图形界面】_菜单组件
- 031814_【第18章:图形界面】_文件选择框
- 031901_【第19章:Java网络编程】_IP与InetAddress
- 031902_【第19章:Java网络编程】_URL与URLConnection
- 031903_【第19章:Java网络编程】_URLEncoder与URLDecoder
- 031905_【第19章:Java网络编程】_UDP程序设计
- 031815_【第18章:图形界面】_表格
- 031904_【第19章:Java网络编程】_TCP程序设计
- 032001_【第20章:Java新IO】_缓冲区与Buffer
- 032003_【第20章:Java新IO】_文件锁
- 032002_【第20章:Java新IO】_通道(Channel)
- 032004_【第20章:Java新IO】_字符集
- 032005_【第20章:Java新IO】_Selector
- 042101_【课程讲解】_附录:Eclipse开发工具
- 051_〖开发实例〗_Java开发实例讲解(人员管理)
§ 1.1 Java语 言 出 现 的 背 景 、 影 响 及 应 用 前 景
一 、 背 景
最 近 一 年 多 来 ,在 Internet上 出 现 的 特 别 吸 引 人 的 事 件 就 是 Ja va语 言 和 用 Java编 写 的 浏 览 器 HotJava。
1991年 ,SUN MicroSystem 公 司 的 Jame Gosling、 Bill Joe等 人 , 为 在 电视 、 控 制 烤 面 包箱 等 家 用 消 费 类 电 子 产 品 上 进 行 交 互 式 操 作 而 开 发 了 一 个 名为 Oak的 软 件 (即一 种 橡 树 的 名 字 ), 但 当 时 并 没 有 引 起 人 们 的 注 意 ,直 到 1994年下 半 年 ,Internet的 迅猛 发 展 ,环 球 信 息 网 WWW的 快 速 增 长 ,促 进 了 Java 语 言 研 制 的 进展 ,使 得 它 逐 渐 成为 Int ernet上 受 欢 迎 的 开 发 与 编 程 语 言 ,一 些 著 名 的 计 算 机 公司 纷 纷 购 买 了 Java 语言 的 使 用 权 ,
如 Mi-croSoft、 IBM、 Netscape、 Novell、 Apple、 DEC、 SGI 等,因 此 ,Java 语言 被 美 国 的 著 名 杂 志 PC Magazine 评 为 1995年 十 大 优 秀 科 技 产 品,(计 算 机 类 就 此 一项 入 选 ),随 之 大 量 出 现 了 用 Java编 写 的 软 件 产 品 ,受 到 工 业 界的 重 视 与 好 评 ,认 为 "Java是 八 十 年 代 以 来 计 算 机 界 的 一 件 大 事 ",
微 软 总 裁 比 尔 ·盖 茨 在 悄 悄 地 观 察了 一 段 时 间 后 ,不 无 感 慨 地 说 :"Java是 长 时 间 以 来 最 卓 越 的 程序 设 计 语 言 ",并 确 定 微软 整 个 软 件 开 发 的 战 略 从 PC 单 机 时 代 向 着 以 网 络 为中 心 的 计 算 时 代 转 移 ,而 购 买 Java则 是 他 的 重 大 战 略 决 策的实 施 部 署 。因 此 ,Java的 诞 生 必 将 对 整 个 计 算 机 产 业 发 生 深远 的 影 响,对 传 统 的 计 算 模型 提 出 了 新 的 挑 战 。
SUN MicroSystem 公 司 的 总 裁 Scott McNealy认 为 Java为 Internet和WWW开 辟 了 一 个崭 新 的 时 代 .
环 球 信 息 网 WWW的 创 始 人 Berners-Lee说 : "计 算 机 事 业 发 展 的下 一 个 浪 潮 就是 Java,并 且 将 很 快 会 发 生 的 "。看 来 ,使 用 Java已 成 大 势 所 趋 !
MicroSoft 和 IBM 两 大 公 司 都 计 划 在 Internet上 销 售 用 Java 编 写的 软 件 。
Apple、 HP、 IBM、 MicroSoft、 Novell、 SGI、 SCO、 Tandem 等 公 司 均计 划 将 Java并入 各 自 开 发 的 操 作系 统 ,而 负 责 开 发 并 推 广 Java技 术 的 SunSoft公司 (这 是 SUN下 属的 一 个 子 公 司 ), 将 通 过 颁 发 许 可 证 的 办 法 来 允 许 各 家 公 司 把Java虚 拟 机 和 Java的Applets类 库 嵌 入 他 们 开 发 的 操 作 系 统 ,这 样 各 类 开 发 人 员 就 能更 容 易 地 选 择 多种 平 台 来 使 用 Java语 言 编 程 ,不 同 的 用 户 也 就 可 以 脱 离 Web浏 览器 来 运 行 Java应 用程 序 ,这 无 疑 是 很 受 广 大 用 户 欢 迎 的 ,也 为 Java语 言 的 应 用 开 拓了极为 广 阔 的 前景 。 (当 然 ,各 类 JavaOS之 间 的 兼 容 性 必 须 得 到 重 视 ,好 在JavaSoft已 保 证 将 监 督 这种 兼 容 性 )。
另 外 ,由 JavaSoft 推 出 的 完 全 用 Java编 写 的 Internet上 新 型 浏览 器 HotJava,比 去 年alpha版 更 为 实 用 ,不 仅 能 编 制 动 态 的 应 用 软 件 ,而 且 能 编 制 完整 的 成 套 桌 面 应 用软 件 ,将 来 还 会 提 供 更 多 的 能 帮 助 编 制 动 态 应 用 软 件 的 模 块,显 然 ,这 也 是 为 J ava的 应 用 提 供 了 有 力 的 例 证 。
今 年 6月 7日 ,由 SUN公 司 和 台 湾 经 济 事 务 部 信 息 发 展 局, 台湾 信 息 技 术 研究 所 等 单 位 牵 头 ,成 立 了 一 个 "Java联 盟 ", 参 加 的 有 22个 在 台 湾相 当 著 名 的 计 算 机公 司 ,并 在 台 北 建 立 一 个 "Java 开 发 中 心 ",在 新 竹 建 立 一 个 "Java语 言 实 验 室 ", 以 掀起 台 湾 开 发 与 应 用 Java 语 言 的 热 潮 。
香 港 则 在 今 年 4月 就 举 行 了 全 岛 的 Java杯 比 赛 ,在 计 算 机 界掀 起 了 学 习 Java的热 潮 (尤 其 是 在 大 学 生 们 中 ,出 现 了 一 批 Java迷 )。
有 人 预 言 :Java将 是 网 络 上 的 "世 界 语 ",今 后 所 有 的 用 其 他语 言 编 写 的 软 件统 统 都 要 用 Java 语 言 来 改 写 。
二 、 Java 语 言 对 软 件 开 发 技 术 的 影 响
工 业 界 不 少 人 预 言 :"Java 语 言 的 出 现 ,将 会 引 起 一 场 软 件革 命 ",这 是 因 为 传统 的 软 件 往 往 都 是 与 具 体 的 实 现 环 境 有 关 ,换 了 一 个 环 境 就需 要 作 一 番 改 动 ,耗时 费 力 ,而 Java 语 言 能 在 执 行 码 (二 进 制 码 )上 兼 容 ,这 样 以 前 所开 发 的 软 件 就 能 运行 在 不 同 的 机 器 上 ,只 要 所 用 的 机 器 能 提供 Java 语 言 解 释 器 即可 。
Java 语 言 将 对 未 来 软 件 的 开 发 产 生 影 响 , 可 从 如 下 几 个方 面 考 虑 :
1 软 件 的 需 求 分 析 :可 将 用 户 的 需 求 进 行 动 态 的 、 可 视 化描 述 ,以 提供设 计者 更 加 直 观 的 要 求 。 而 用 户 的 需 求 是 各 色 各 样 的 ,不 受 地 区、 行 业 、 部 门 、 爱好 的 影 响 ,都 可 以 用 Java 语 言 描 述 清 楚 。
2 软 件 的 开 发 方 法 :由 于 Java 语 言 的 面 向 目 标 的 特 性 , 所 以完 全 可 以 用 O-O的技 术 与 方 法 来 开 发 ,这 是 符 合 最 新 的 软 件 开 发 规 范 要 求 的 。
3 Java 语 言 的 动 画 效 果 远 比 GUI技 术 更 加 逼 真 ,尤 其 是 利 用WW W提 供 的 巨 大动 画 资 源 空 间 ,可 以 共 享 全 世 界 的 动 态 画 面 的 资 源 。
4 软 件 最 终 产 品 :用 Java 语 言 开 发 的 软 件 可 以 具 有 可 视化 、 可 听 化 、 可 操作 化 的 效 果 ,这 要 比 电 视 、 电 影 的 效 果 更 为 理 想 ,因 为 它 可 以做 到 "即 时 、 交 互、 动 画 与 动 作 ",要 它 停 就 停 ,要 它 继 续 就 继 续 ,而 这 是 在 电 影与 电 视 播 放 过 程 中难 以 做 到 的 。
5 其 它 :使 用 Java 语 言 对 开 发 效 益 、 开 发 价 值 都 有 比 较 明显 的 影 响 。
三 、 工 业 界 对 Java 语 言 的 评 价
1996年 5月 29 ~ 31日 ,在 美 国 旧 金 山 召 开 了 一 个 全 世 界 Java语 言 开 发 者 大 会,(JavaOne Developer Confer-ence),出 席 会 议 的 多 达 6500多 人 ,来 自 工 业界 的 超 过 一 半 ,有人 评 价 说 :"这 是 近 年 来 计 算 机 界 最 光 辉 的 一 次 盛 会 ",一 些 工 业 界 的 老 总 们 相 当看 好 Java 语 言 ,认 为 它 的 使 用 将 会 引 起 一 场 软 件 革 命 。 从 软 件的 设 计 风 格 、 设计 方 法 、 设 计 目 标 到 设 计 过 程 ,都 会 产 生 彻 底 的 变 革 ,"甚 至 会改 变 此 星 球 的 生活 方 式 "。
在 这 次 会 上 ,Java的 创 始 人 之 一 James Gosling 说 :"Java 不 仅 仅只 是 applets, 它 能 做任 何 事 情 ",Dta 咨 询 公 司 的 高 级 软 件 工 程 师 Rich Kadel说 :"Java 不仅 仅 是 一 种 程 序 设计 语 言 ,更 是 现 代 化 软 件 再 实 现 的 基 础 ;Java 还 是 未 来 新 型 OS的 核 心 ;将 会 出 现Java 芯 片 ;将 构 成 各 种 应 用 软 件 的 开 发 平 台 与 实 现 环 境 ,是 人们 必 不 可 少 的 开 发工 具 "。
由 于 各 界 都 看 好 它 ,因 此 ,各 大 公 司 都 纷 纷 表 示 支 持 Java,Inte l、 Xerox公 司 声 言将 把 Java嵌 入 到 他 们 的 产 品 中 去 。 就 连 华 尔 街 金 融 界 也 在 投入 资 金 人 力 用 Java开 发 电 子 贸 易 、 金 融 软 件 。
所 以 有 人 说 :"现 在 第 三 方 的 开 发 商 都 团 结 在 Java大 旗 周 围了 !",纷 纷 推 出 用Java 开 发 的 各 种 软 件 产 品 ,以 期 尽 快 地 占 领 市 场 。
四 、 Java 语 言 的 应 用 前 景
Java 语 言 有 着 广 泛 的 应 用 前 景 ,大 体 上 可 以 从 以 下 几 个 方面 来 考 虑 其 应 用 :
1 所 有 面 向 对 象 的 应 用 开 发 ,包 括 面 向 对 象 的 事 件 描 述 、处 理 、 综 合 等 ;
2 计 算 过 程 的 可 视 化 、 可 操 作 化 的 软 件 的 开 发 ;
3 动 态 画 面 的 设 计 ,包 括 图 形 图 像 的 调 用 ;
4 交 互 操 作 的 设 计 (选 择 交 互 、 定 向 交 互 、 控 制 流 程 等 );
5 Internet的 系 统 管 理 功 能 模 块 的 设 计 ,包 括 Web页 面 的 动 态设 计 、 管 理 和 交互 操 作 设 计 等 ;
6 Intranet(企 业 内 部 网 )上 的 软 件 开 发 (直 接 面 向 企 业 内 部用 户 的 软 件 );
7 与 各 类 数 据 库 连 接 查 询 的 SQL 语 句 实 现 ;
8 其 它 应 用 类 型 的 程 序 。