【精品】基于JavaWeb的在线图书订购与打印管理系统外文翻译

上传人:ss****gk 文档编号:206163330 上传时间:2021-10-30 格式:DOC 页数:27 大小:112.50KB
返回 下载 相关 举报
【精品】基于JavaWeb的在线图书订购与打印管理系统外文翻译_第1页
第1页 / 共27页
【精品】基于JavaWeb的在线图书订购与打印管理系统外文翻译_第2页
第2页 / 共27页
【精品】基于JavaWeb的在线图书订购与打印管理系统外文翻译_第3页
第3页 / 共27页
【精品】基于JavaWeb的在线图书订购与打印管理系统外文翻译_第4页
第4页 / 共27页
【精品】基于JavaWeb的在线图书订购与打印管理系统外文翻译_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《【精品】基于JavaWeb的在线图书订购与打印管理系统外文翻译》由会员分享,可在线阅读,更多相关《【精品】基于JavaWeb的在线图书订购与打印管理系统外文翻译(27页珍藏版)》请在金锄头文库上搜索。

1、条敬电)唾冷毕业设计(论文)外文资料翻译学院:信息工程学院专业:计算机科学与技术姓名:XXXXXXXXX学号:XXXXXXXXX外文出处: Cay s.Horstmann Core Java blumeII, Advanced Features, Hghth Edition附 件:1.外文资料翻译译文;2.外文原文。指导教师评语:签名:2011年4月25日附件1:外文资料翻译译文Java技术介绍Java是一种程序设计平台Java是一种优秀的程序设计语言。对于一个名副其实的程序设计人员来说,使 用Java无疑是一个好的选择。有人认为:Java将有望成为一种最优秀的程序设计语 言,但还需要一个相当

2、长的发展时期。一旦一种语言应用于某个领域,与现存代码 的相容性问题就摆在了人们的面前。”Java并不只是一种语言。在此之前出现的那么多种语言也没有能够引起那么大 的轰动。Java是一个完整的平台,有一个庞大的库,其中包含很多可重用的代码和 一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾回收等服务的执行环 境。作为一名程序设计人员,常常希望能够有一种语言,它具有令人赏心悦目的语 法和易于理解的语义(C+不是这样的)。与许多其他的优秀语言一样,Java恰恰满 足了这些要求。有些语言提供了可移植性、垃圾回收等等,但是,没有提供一个大 型的库,如果想要有奇特的绘图功能、网络连接功能和数据库存取功

3、能就必须自己 动手编写代码。Java这种功能齐全的出色语言,具有高质量的执行环境以及庞大的 库。正是因为它集多种优势于一身,所以对于广大的程序设计人员来说有着不可抗 拒的吸引力。JAVA的特性1. 简单性人们希望构建一个无需深奥的专业训练就可以进行编程的系统,并且要符合当 今的标准惯例。因此,尽管人们发现C+不太适用,但在设计Java的时候还是尽 可能地接近C+,以便系统更易于理解。Java别除了 C+中许多很少使用、难以理 解、易混淆的特性。在目前看来,这些特性带来的麻烦远远大于带来的好处。的确,Java语法是C+语法的一个“纯净”版本。这里没有头文件、指针运算 (甚至指针语法)、结构、联合

4、、操作符重载、虚基类等等。(请参看本书各个章节 给出的C+注释,那里比较详细地解释了 Java与C+之间的区别。)然而,设计者 并没有试图清除C+中所有不适当的特性。例如,switch语句的语法在Java中就 没有改变。如果熟悉C+就会发现可以轻而易举地将它转换成Java,如果已经习惯于可视化的编程环境(例如Visual Basic),就不会觉得Java简 单了。Java有许多奇怪的语法(尽管掌握其要领并不需要很长时间),更重要的是, 使用Java需要自己编写大量的程序。Visual Basic的魅力在于它的可视化设计环 境儿乎自动地为应用程序提供了大量的基础结构。而使用Java实现同样的功能

5、却 需要手工地编制代码,通常代码量还相当大。然而,已经有一些支持“拖放”风格 程序开发的第三方开发环境。简单性的另一个方面是小。Java的目标之一是支持开发能够在小型机器上独立 运行的软件。基木的解释器以及类支持大约仅为40KB;再加上基础的标准类库和对 线程的支持(基本上是一个自含的微内核)大约需要增加175KB。这是一个了不起的 成就。然而,需要注意的是支持图形用户界面(GUI)的类库相当大。2. 面向对象简单地讲,面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和 对象的接口上。用木匠来打一个比方,一个“面向对象的”木匠始终关注的是所制 作的椅子,第二位才是所使用的工具;一个“

6、非面向对象的”木匠则首先考虑的是 所用的工具。在本质上,Java的面向对象能力与C+是一样的。在过去的30年里,面向对象已经证明了自身的价值,一种现代的程序设计语言 不使用面向对象技术简直让人难以置信。的确,Java的面向对象特性与C+旗鼓相 当。Java与C+的主要不同点在于多继承,在Java中,取而代之的是简单的接口 概念,以及Java的元类(metaclass)模型。反射机制以及对象序列化特性使得Java更加容易实现持久对象和GUI构建器 (可以整合外来组件)。3. 分布式Java有一个扩展的例程库,用于处理像HTTP和FTP这类的TCP/IP协议。Java 应用程序能够通过URL打开和

7、访问网络上的对象,其便利程度如同访问本地文件系 统一样。人们已经看到Java的网络能力强大且易于使用。任何曾经试图使用其他 语言进行网络编程的人都会惊呼Java竟然把类似打开socket连接这类繁重的任务 都变得如此简单。另外,远程方法调用机制使得分布式对象之间可以进行通信。现在有一种独立 的体系结构,Java 2企业版(J2EE ),它支持大规模的分布式应用。4 .健壮性Java的设计目标之一在于使用Java编写的程序具有多方面的可靠性。Java投 入了大量的精力进行早期的问题检测、后期动态的(运行时)检测,并消除了有出错 倾向的状态Java和C+最大的不同在于Java采用的指针模型可以消除

8、重写内存和损坏数据 的可能性。这个特性非常有用o Java编译器能够检测许多在其他语言中仅在运行时 刻才能够检测出来的问题。至于第二点,对于曾经花费儿个小时来检查由于指针bug 而引起内存冲突的人来说,一定很喜欢Java的这一特性。如果曾经只使用过Visual Basic这类没有显式指针的语言,就会感觉这么说似 乎有些小题大做。然而,C程序员就没有这样幸运了。他们需要利用指针来存取串、 数组、对象,甚至文件。在Visual Basic中,根本不必使用指针来访问这些实体,也不必关心有关内存 分配的问题。另一方面,在没有指针的语言中,许多数据结构很难实现。Java具有 双方的优势。它不需要使用指针

9、构造诸如串、数组这样的结构。如果需要,也能够 具有指针的能力,如链表。Java绝对是安全的,其原因是永远不会存取一个“坏的” 指针,造成内存分配的错误,也不必防范内存泄漏。5 .安全性Java适用于网络/分布式环境。为了达到这个目标,在安全方面投入了很大精 力。使用Java可以构建防病毒、防墓改的系统。事实证明这是正确的。在Java 开发工具箱启用后不久,普林斯顿大学的一些安全专家们发现了在Java 1.0中的 某些安全特性方面存在着一些非常隐蔽的bug, Sun Microsystems大力支持对Java 的安全性的研究,制定了供人们使用的规范,实现了虚拟机和安全库,并迅速地处 理了所有已知

10、的安全bug。在任何情况下,蒙骗Java的安全机制都是十分困难的。 现在,发现bug所需的技术性越来越强,数目越来越少。从一开始,Java就被设 计成能够防范各种袭击,包括:禁止运行时堆栈溢出。例如,蠕虫等病毒常用的袭击手段。禁止在自己的处理空间之外破坏内存。未经授权禁止读写文件。许多安全特性相继不断地被加入Java中。自从Java 1. 1问世以来,Java就有了数字签名类(digitally signed class)的概 念(请参看卷II)。通过数字签名类,可以确定类的作者。如果信任这个类的作者, 这个类就可以在你的机器上拥有更多的权限。来自微软的基于ActiveX技术的竞争代码传输机制

11、,其安金性完金依赖于数字 签名。这显然是不够的,因为微软自身产品的任何用户都可以证实,来自知名提供 商的程序会崩溃并对系统产生危害。Java的安全机制比ActiveX要强得多,因为它 是在应用程序运行时加以拉制并制止恶意性破坏的。6 .体系结构中立编译器生成一个体系结构中立的目标文件格式,这是一种编译过场代码,只要 W Java运行时系统,就可以在许多处理器上运行。Java编译器通过生成与特定的 计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很 容易地在任何机器上被解释执行,而且还可以迅速地翻译成本地机器的代码。这并 不是什么新的思想。20多年以前,Niklaus Wi

12、rth最初实现的Pascal以及UCSD Pascal系统都使用了这种技术。当然,解释字节码肯定要比全速地运行机器指令慢 很多。所以说,这是不是一个好的思想还很难讲!然而,虚拟机有一个选项,它可 以将执行最频繁的字韦码序列翻译成机器码,这-过程被称为即时编译。这一策略 已经被证明十分有效,致使微软的.NET平台也依赖于虚拟机。虚拟机还有一些其他 的优点。虚拟机可以检测指令序列的行为,以增强其安全性。有些程序甚至能够快 速地生成字节码,并动态地增强所运行程序的处理能力。7. 可移植性与C和C+不同,Java规范中没有“依赖具体实现”的地方。塞本数据类型的 大小以及有关算法都做了明确的说明。例如,

13、Java中的int永远为32位的整数, 而在C/C+中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其 他大小。唯一的限制只是int类型的大小不能低于short int,并且不能高于long into在Java中,数据类型具有固足的大小,们除J代消移祖盯竿八大油ai 土女 IWJ*IO -ml R77数据以固定的格式存储和传输,消除了字节顺序的困扰。字符串是 用标准的Unicode格式存储的。作为系统的组成部分的类库,定义了可移植的接口。 例如,有一个抽象的Window类给出了在UNIX, Windows和Macintosh环境下的不 同实现。凡是尝试过的人都知道,要编写一个

14、在Windows, Macintosh和10种不同风格 的、在UNIX看起来都不错的程序有多么困难。Java 1. 0就尝试着做了这么一个 壮举,发布了一个将常用的用户界面元素映射到不同平台上的简单工具箱。遗憾的 是,花费了大量的心血,却构建了一个在各个系统上都难以让人接受的库(而且, 在不同平台的图形实现中有不同的bug)o不过,这毕竟是个开端。对于许多应用问 题来说,可移植性比花枝招展的用户界面更加重要。而且这些应用程序从Java的 早期版本中获益匪浅。现在,用户界面工具箱已经完全被重写了,不再依赖于主机 的用户接曰。现在的Java版本比早期版本更加稳定,更加吸引人。8. 解释型Java解

15、释器可以在任何移植了解释器的机器上执行Java字节码。由于链接是 一个更加增量且简便的过程,所以开发过程也变得更加快捷,更加具有探索性。增 量链接有其优势,但给开发过程带来的好处显然是言过其实了。在任何情况下,都 会觉得Java开发工具的速度相当慢。如果习惯于经典的Microsoft Visual C+环 境的速度,就会对Java开发环境的性能感到失望。(但是,Visual Studi o的当前 版本不像经典的环境那样快捷。无论用什么语言编写程序,都需要向老板申请一台 速度更快的计算机,以便运行最新的开发环境。)9. 高性能尽管对解释后的字节码性能已经比较满意,但在有些情况下却需要更加高效的

16、性能。字节码可以(在运行时刻)被快速地翻译成运行该应用程序的特定CPU的机器 码。如果使用解释器执行字节码,根本就不可能用术语“高性能”。然而,在许多 平台上,还有另一种编译形式,这就是即时编译器(JIT编译器)。它的基本工作方 式是一次把字节码编译为本地代码,并将结果缓存起来。在需要的时候重新调用。 由于这种方式只需要进行一次解释,从而极大地提高了常用代码运行速度。虽然, 即时编译器仍然比真正的本地代码编译器慢一些,但是对某些程序来说,能够提高 10倍乃至20倍的速度,而且儿乎在任何情况下,都比解释器的速度快得多。这个 技术始终在不断完善着,或许有一天它能够达到传统编译系统所无法匹敌的性能。 例如,即时编译器可以监视哪些代码被频繁地执行,并对其进行优化,以提高程序 的运行速度。10. 多线程多线程可以

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号