没有合适的资源?快使用搜索试试~ 我知道了~
Java入门Java概述.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 20 浏览量
2022-06-09
21:17:35
上传
评论
收藏 183KB DOC 举报
温馨提示
试读
36页
Java入门Java概述
资源推荐
资源详情
资源评论
第一章 Java 概述
§1.1Java 语言出现的背景、影响及应用前景
一、背景
最近一年多来,在 Internet 上出现的特别吸引人的事件就是 Java 语言和用 Java 编写的浏览器
HotJava。
1991 年,SUN MicroSystem 公司的 JameGosling、BillJoe 等人,为在电 视、控制烤面包箱等家
用消费类电子产品上进行交互式操作而开发了一个名为 Oak 的软件(即一种橡树的名字),但
当时并没有引起人们的注意,直到 1994 年下半 年,Internet 的迅猛发展,环球信息网 WWW 的
快速增长,促进了 Java 语言研制的 进展,使得它逐渐成为 Internet 上受欢迎的开发与编程语
言 , 一 些 著 名 的 计 算 机 公 司 纷 纷 购 买 了 Java 语 言 的 使 用 权 , 如
MicroSoft、IBM、Netscape、Novell、 Apple、DEC、SGI 等,因此,Java 语言被美国的著名杂
志 PCMagazine 评为 1995 年十大优秀科技产品,(计算机类就此一项入选),随之大量出现了用
Java 编写的 软件产品,受到工业界的重视与好评,认为"Java 是八十年代以来计算机界的一件
大事",微软总裁比尔·盖茨在悄悄地观察了一段时间后,不无感慨地说:"Java 是 长时间以来最
卓越的程序设计语言",并确定微软整个软件开发的战略从 PC 单机时 代向着以网络为中心的
计算时代转移,而购买 Java 则是他的重大战略决策的实施部 署。
因此,Java 的诞生必将对整个计算机产业发生深远的影响,对传统的计算模型 提出了新的挑
战。
SUNMicroSystem 公司的总裁 ScottMcNealy 认为 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 版更
为实用,不仅能编制动态的应用软件,而且能编制完整的成套桌 面应用软件,将来还会提供更
多的能帮助编制动态应用软件的模块,显然,这也是 为 Java 的应用提供了有力的例证。
今年 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 的技术与方法来
开发,这是符合最新的软件开发规范要求的。
3Java 语言的动画效果远比 GUI 技术更加逼真,尤其是利用 WWW 提供的巨大 动画资源空
间,可以共享全世界的动态画面的资源。
4 软件最终产品:用 Java 语言 开发的软件可以具有可视化、可听化、可操 作化的效交互、
动画与动作",要它停就停,要它继续就继续,而这是在电影与电 视播放过程中难以做到的。
5 其它:使用 Java 语言对开发效益、开发价值都有比较明显的影响。
三、工业界对 Java 语言的评价
1996 年 5 月 29 ~ 31 日 , 在 美 国 旧 金 山 召 开 了 一 个 全 世 界 Java 语 言 开 发 者 大 会 ,
(JavaOneDeveloperConfer-ence),出席会议的多达 6500 多人,来自工业 界的超过一半,有人评
价说:"这是近年来计算机界最光辉的一次盛会",一些工 业界的老总们相当看好 Java 语言,认
为它的使用将会引起一场软件革命。从软件 的设计风格、设计方法、设计目标到设计过程,
都会产生彻底的变革,"甚至会改 变此星球的生活方式"。
在这次会上,Java 的创始人之一 JamesGosling 说:"Java 不仅仅只是 applets,它能做任何事
情",Dta 咨询公司的高级软件工程师 RichKadel 说:"Java 不仅仅是一种程序设计语言,更是现
代化软件再实现的基础;Java 还是未来新型 OS 的核心;将会出现 Java 芯片;将构成各种应用
软件的开发平台与实现环境,是 人们必不可少的开发工具,……"。
由于各界都看好它,因此,各大公司都纷纷表示支持 Java,Intel、Xerox 公司声言将把 Java 嵌入
到他们的产品中去。就连华尔街金融界也在投入资金人力 用 Java 开发电子贸易、金融软
件。
所以有人说:"现在第三方的开发商都团结在 Java 大旗周围了!",纷纷推出 用 Java 开发的各种
软件产品,以期尽快地占领市场。
四、Java 语言的应用前景
Java 语言有着广泛的应用前景,大体上可以从以下几个方面来考虑其应用:
1 所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等;
2 计算过程的可视化、可操作化的软件的开发;
3 动态画面的设计,包括图形图像的调用;
4 交互操作的设计(选择交互、定向交互、控制流程等);
5Internet 的系统管理功能模块的设计,包括 Web 页面的动态设计、管理 和交互操作设计等;
6Intranet(企业内部网)上的软件开发(直接面向企业内部用户的软件);
7 与各类数据库连接查询的 SQL 语句实现;
8 其它应用类型的程序。
§1.2Java 的特点
Java 是一个广泛使用的网络编程语言,它是一种新的计算概念。
首先,作为一种程序设计语言,它简单、面向对象、不依赖于机器的结构、 具有可移植性、
鲁棒性、安全性、并且提供了并发的机制、具有很高的性能。其 次,它最大限度地利用了网
络,Java 的小应用程序(applet)可在网络上传输而 不受 CPU 和环境的限制。另外,Java 还提供
了丰富的类库,使程序设计者可以很 方便地建立自己的系统。
下面我们分别从这三个方面来讨论 Java 的特点,然后通过把 Java 与 C, C++相比进一步指出
它所具有的优点。
一、Java 语言
Java 语言有下面一些特点:简单、面向对象、分布式、解释执行、鲁棒、 安全、体系结构中
立、可移植、高性能、多线程以及动态性。
1.简单性
Java 语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的 任务,只需理解一
些基本的概念,就可以用它编写出适合于各种情况的应用程 序。Java 略去了运算符重载、多
重继承等模糊的概念,并且通过实现自动垃圾 收集大大简化了程序设计者的内存管理工作。
另外,Java 也适合于在小型机上运 行,它的基本解释器及类的支持只有 40KB 左右,加上标准
类库和线程的支持也 只有 215KB 左右。库和线程的支持也只有 215KB 左右。
2.面向对象
Java 语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的 接口模型。对象中
封装了它的状态变量以及相应的方法,实现了模块化和信息 隐藏;而类则提供了一类对象的
原型,并且通过继承机制,子类可以使用父类 所提供的方法,实现了代码的复用。
3.分布性
Java 是面向网络的语言。通过它提供的类库可以处理 TCP/IP 协议,用户 可以通过 URL 地址
在网络上很方便地访问其它对象。
4.鲁棒性
Java 在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误 的产生。它提供自
动垃圾收集来进行内存管理,防止程序员在管理内存时容易 产生的错误。通过集成的面向对
象的例外处理机制,在编译时,Java 提示出可能 出现但未被处理的例外,帮助程序员正确地进
行选择以防止系统的崩溃。另外, Java 在编译时还可捕获类型声明中的许多常见错误,防止
动态运行时不匹配问题 的出现。
5.安全性
用于网络、分布环境下的 Java 必须要防止病毒的入侵。Java 不支持指针, 一切对内存的访
问都必须通过对象的实例变量来实现,这样就防止程序员使用 "特洛伊"木马等欺骗手段访问
对象的私有成员,同时也避免了指针操作中容易 产生的错误。
6.体系结构中立
Java 解释器生成与体系结构无关的字节码指令,只要安装了 Java 运行时 系统,Java 程序就可
在任意的处理器上运行。这些字节码指令对应于 Java 虚拟 机中的表示,Java 解释器得到字
节码后,对它进行转换,使之能够在不同的平 台运行。
7.可移植性
与平台无关的特性使 Java 程序可以方便地被移植到网络上的不同机器。 同时,Java 的类库
中也实现了与不同平台的接口,使这些类库可以移植。另外, Java 编译器是由 Java 语言实现
的,Java 运行时系统由标准 C 实现,这使得 Java 系统本身也具有可移植性。
8.解释执行
Java 解释器直接对 Java 字节码进行解释执行。字节码本身携带了许多 编译时信息,使得连
接过程更加简单。
9.高性能
和其它解释执行的语言如 BASIC、TCL 不同,Java 字节码的设计使之能 很容易地直接转换
成对应于特定 CPU 的机器码,从而得到较高的性能。
10.多线程
多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据 的正确操作。通过使
用多线程,程序设计者可以分别用不同的线程完成特定 的行为,而不需要采用全局的事件循
环机制,这样就很容易地实现网络上的实 时交互行为。
11.动态性
Java 的设计使它适合于一个不断发展的环境。在类库中可以自由地加入 新的方法和实例变
量而不会影响用户程序的执行。并且 Java 通过接口来支持 多重继承,使之比严格的类继承
具有更灵活的方式和扩展性。
二、JavaApplet
Java 语言的特性使它可以最大限度地利用网络。Ap-plet 是 Java 的小应 用程序,它是动态、
安全、跨平台的网络应用程序。JavaApplet 嵌入 HTML 语 言,通过主页发布到 Internet。网
络用户访问服务器的 Applet 时,这些 Applet 从网络上进行传输,然后在支持 Java 的浏览器中
运行。由于 Java 语言的安全机 制,用户一旦载入 Applet,就可以放心地来生成多媒体的用户
界面或完成复杂的 计算而不必担心病毒的入侵。虽然 Applet 可以和图像、声音、动画等一
样从网 络上下载,但它并不同于这些多媒体的文件格式,它可以接收用户的输入,动态 地进行
改变,而不仅仅是动画的显示和声音的播放。
三、丰富的类库
Java 提供了大量的类以满足网络化、多线程、面向对象系统的需要。
1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函 数处理等,可以用它
简单地实现 Java 程序的运行平台。
2.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。
3.输入输出包用统一的"流"模型来实现所有格式的 I/O,包括文件系统、 网络、输入
4.低级网络包用于实现 Socket 编程。
5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件, 包括窗口、菜单、滚
动条、对话框等,使得 Java 可以移植到不同平台的机器。
6.网络包支持 Internet 的 TCP/IP 协议,提供了与 In-ternet 的接口。 它支持 URL 连接,WWW
的即时访问,并且简化了用户/服务器模型的程序设计。
四、Java 和 C、C++
对于变量声明、参数传递、操作符、流控制等,Java 使用了和 C、C++ 相同的传统,使得熟悉
C、C++的程序员能很方便地进行编程。同时,Java 为 了实现其简单、鲁棒、安全等特性,也
摒弃了 C 和 C++中许多不合理的内容。
1.全局变量
Java 程序中,不能在所有类之外定义全局变量,只能通过在一个类中定 义公用、静态的变量
来实现一个全局变量。例如:
ClassGlobalVar{ public static global_var; }
在类 GlobalVar 中定义变量 global_var 为 public static,使得其它类 可以访问和修改该变量。
Java 对全局变量进行了更好的封装。而在 C 和 C++中,依赖于不加封装 的全局变量常常造成
系统的崩溃。
2.Goto
Java 不支持 C、C++中的 goto 语句,而是通过例外处理语句 try,Catch, final 等来代替 C、C++
中用 goto 来处理遇到错误时跳转的情况,使程序更可读 且更结构化。
3.指针
指针是 C、C++中最灵活,也是最容易产生错误的数据类型。由指针所进行 的内存地址操作
常会造成不可预知的错误,同时通过指针对某个内存地址进行显 式类型转换后,可以访问一
个 C++中的私有成员,从而破坏安全性,造成系统的 崩溃。而 Java 对指针进行完全的控制,程
序员不能直接进行任何指针操作,例如 把整数转化为指针,或者通过指针释放某一内存地址
等。同时,数组作为类在 Java 中实现,良好地解决了数组访问越界这一 C、C++中不作检查的
错误。
4.内存管理
在 C 中,程序员通过库函数 malloc()和 free()来分配和释放内存,C++ 中则通过运算符 new 和
delete 来分配和释放内存。再次释放已释放的内存块或 未被分配的内存块,会造成系统的崩
溃;同样,忘记释放不再使用的内存块也 会逐渐耗尽系统资源。而在 Java 中,所有的数据结构
都是对象,通过运算符 new 为它们分配内存堆。通过 new 得到对象的处理权,而实际分配给
对象的内存可能 随程序运行而改变,Java 对此自动地进行管理并且进行垃圾收集,有效防止
了由 于程序员的误操作而导致的错误,并且更好地利用了系统资源。
5.数据类型的支持
在 C、C++中,对于不同的平台,编译器对于简单数据类型如 int,float 等分别分配不同长度的
字节数,例如:int 在 IBMPC 中为 16 位,在 VAX-11 中为 32 位,这导致了代码的不可移植性,但
在 Java 中,对于这些数据类型总是分 配固定长度的位数,如对 int 型,它总占 32 位,这就保证了
Java 的平台无关性。
6.类型转换
在 C、C++中,可以通过指针进行任意的类型转换,常常带来不安全性, 而 Java 中,运行时系统
对对象的处理要进行类型相容性检查,以防止不安全的 转换。
7.头文件
C、C++中用头文件来声明类的原型以及全局变量、库函数等,在大的系 统中,维护这些头文
件是很困难的。而 Java 不支持头文件,类成员的类型和访 问权限都封装在一个类中,运行时
系统对访问进行控制,防止对私有成员的操 作。同时,Java 中用 import 语句来与其它类进行
通讯,以便使用它们的方法。
8.结构和联合
剩余35页未读,继续阅读
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功