什么是Java?外文翻译资料

 2022-01-26 09:01

What Is Java?

In discussing Java, it is important to distinguish between the Java programming language, the Java Virtual Machine, and the Java platform. The Java programming language is the language in which Java applications, applets, servlets, and components are written. When a Java program is compiled, it is converted to byte codes that are the portable machine language of a CPU architecture known as the Java Virtual Machine (also called the Java VM or JVM). The JVM can be implemented directly in hardware, but it is usually implemented in the form of a software program that interprets and executes byte codes.

The Java platform is distinct from both the Java language and Java VM. The Java platform is the predefined set of Java classes that exist on every Java installation; these classes are available for use by all Java programs. The Java platform is also sometimes referred to as the Java runtime environment or the core Java APIs (application programming interfaces). The Java platform can be extended with optional packages (formerly called standard extensions). These APIs exist in some Java installations but are not guaranteed to exist in all installations.

The Java Programming Language

The Java programming language is a state-of-the-art, object-oriented language that has a syntax similar to that of C. The language designers strove to make the Java language powerful, but, at the same time, they tried to avoid the overly complex features that have bogged down other object-oriented languages like C . By keeping the language simple, the designers also made it easier for programmers to write robust, bug-free code. As a result of its elegant design and next-generation features, the Java language has proved popular with programmers, who typically find it a pleasure to work with Java after struggling with more difficult, less powerful languages.

Java 5.0, the latest version of the Java language, includes a number of new language features, most notably generic types, which increase both the complexity and the power of the language. Most experienced Java programmers have welcomed the new features, despite the added complexity they bring.

The Java Virtual Machine

The Java Virtual Machine, or Java interpreter, is the crucial piece of every Java installation. By design, Java programs are portable, but they are only portable to platforms to which a Java interpreter has been ported. Sun ships VM implementations for its own Solaris operating system and for Microsoft Windows and Linux platforms. Many other vendors, including Apple and various commercial Unix vendors, provide Java interpreters for their platforms. The Java VM is not only for desktop systems, however. It has been ported to set-top boxes and handheld devices that run Windows CE and PalmOS.

Although interpreters are not typically considered high-performance systems, Java VM performance has improved dramatically since the first versions of the language. The latest releases of Java run remarkably fast. Of particular note is a VM technology called just-in-time (JIT) compilation whereby Java byte codes are converted on the fly into native platform machine language, boosting execution speed for code that is run repeatedly.

The Java Platform

The Java platform is just as important as the Java programming language and the Java Virtual Machine. All programs written in the Java language rely on the set of predefined classes that comprise the Java platform. Java classes are organized into related groups known as packages. The Java platform defines packages for functionality such as input/output, networking, graphics, user-interface creation, security, and much more.

It is important to understand what is meant by the term platform. To a computer programmer, a platform is defined by the APIs he can rely on when writing programs. These APIs are usually defined by the operating system of the target computer. Thus, a programmer writing a program to run under Microsoft Windows must use a different set of APIs than a programmer writing the same program for a Unix-based system. In this respect, Windows and Unix are distinct platforms.

Java is not an operating system. Nevertheless, the Java platform provides APIs with a comparable breadth and depth to those defined by an operating system. With the Java platform, you can write applications in Java without sacrificing the advanced features available to programmers writing native applications targeted at a particular underlying operating system. An application written on the Java platform runs on any operating system that supports the Java platform. This means you do

全文共19502字,剩余内容已隐藏,支付完成后下载完整资料


什么是Java?

在讨论Java时,区分Java编程语言,Java虚拟机和Java平台是很重要的。 Java编程语言是编写Java应用程序,applet,servlet和组成部分的语言。 编译Java程序时,会将其转换为字节代码,这些字节代码是称为Java虚拟机(也称为Java VM或JVM)的CPU结构的便携式机器语言。 JVM可以直接在硬件中实现,但通常以解释和执行字节代码的软件程序的形式实现。

Java平台不同于Java语言和Java VM。 Java平台是每个Java安装中存在的预定义Java类集; 这些类可供所有Java程序使用。 Java平台有时也称为Java运行环境或核心Java API(应用程序编程接口)。 Java平台可以使用可选包(以前称为标准扩展)进行扩展。 这些API存在于某些Java安装中,但不保证在所有安装中都存在。

Java编程语言

Java编程语言是一种体现最高水平的面向对象语言,其语法类似于C语言。语言设计者努力使Java语言变得强大,但同时,他们试图避免使用已经陷入其他面向对象的语言中的过于复杂的功能,如C 。 通过保持语言的简单,设计人员还使编程人员更容易地写出健壮的、无错误的代码。 由于其优雅的设计和下一代功能,Java语言已经证明受到程序员的欢迎,程序员通常会发现在使用更难,功能更弱的语言之后使用Java是一种乐趣。

Java 5.0是Java语言的最新版本,它包含许多新的语言特性,最着名的是泛型类型,它们增加了语言的复杂性和功能。尽管他们带来了更多的复杂性,但大多数经验丰富的Java程序员都欢迎这些新功能。

Java虚拟机

Java虚拟机,或Java编译器是每个Java安装的关键部分。 根据设计,Java程序是可移植的,但它们只能移植到已经移植Java编译器的平台上。 Sun为其自己的Solaris操作系统以及Microsoft Windows和Linux平台提供VM实现。 许多其他供应商,包括Apple和各种商业Unix供应商,为他们的平台提供Java解释器。 但是,Java VM不仅适用于桌面系统。 它已被移植到运行Windows CE和PalmOS的机顶盒和手持设备上。

尽管编译器通常不被视为典型的高性能系统,但自该语言的第一版本以来,Java VM性能已大大地提高。 最新版本的Java运行速度非常快。 特别值得注意的是一种称为即时(JIT)汇编的VM技术,其中Java字节代码即时转换为本机平台的机器语言,从而提高了重复运行的代码的执行速度。

Java平台

Java平台与Java编程语言和Java虚拟机一样重要。 用Java语言编写的所有程序都依赖于构成Java平台的一组预定义类。 Java类被组织成称为包的相关组。 Java平台定义了诸如输入/输出,网络,图形,用户界面创建,安全性等功能的包。

了解术语平台的含义非常重要。 对于计算机程序员来说,平台是当他们在编写程序时可以依赖的API定义的。 这些API通常由目标计算机的操作系统定义。 因此,编写在Microsoft Windows下运行的程序的程序员必须使用不同的API集,而不是程序员为基于Unix的系统编写相同的程序。 在这方面,Windows和Unix是不同的平台。

Java不是一个操作系统。 然而,Java平台提供的API具有与操作系统定义的API相当的广度和深度。 使用Java平台,您可以使用Java编写应用程序,而不会牺牲那些程序员针对特定底层操作系统而编写的本机应用程序的先进特点。 编写在Java平台上的应用程序可在支持Java平台的任何操作系统上运行。 这意味着您不必为了Windows,Macintosh和Unix版本创建不同程序。 单个Java程序在所有这些操作系统上运行,这解释了为什么“一次编写,随处运行”是Sun的Java座右铭。

Java平台不是一个操作系统,但对于程序员来说,它是一个替代的开发目标,并且非常受欢迎。 Java平台减少了程序员对底层操作系统的依赖,并且通过允许程序在任何操作系统上运行,它增加了最终用户选择操作系统的自由。

Java的主要优点

为什么要使用Java呢? 是否值得学习新语言和新平台? 本节探讨Java的一些主要优点。

一次编写,随处运行

Sun将“一次编写,随处运行”标识为Java平台的核心价值主张。 从业务术语翻译,这意味着Java技术最重要的承诺是您必须只为Java平台编写一次应用程序,然后您就可以在任何地方运行它。

即在支持Java平台的任何地方。 幸运的是,Java的支持正变得无处不在。 它几乎集成到所有主要操作系统中。 它建造于流行的Web浏览器中,几乎可以将其放置在世界上每个连接Internet的PC上。 它甚至被构建到如电视机顶盒,PDA和手机之类的消费电子设备中。

安全性

Java的另一个主要优点是其安全功能。 语言和平台都是从底部开始设计的,并考虑到了安全性。 Java平台允许用户通过网络下载不受信任的代码,并在不会造成任何伤害的安全环境中运行:不受信任的代码不能用病毒感染主机系统,无法从硬盘读取或写入文件等等。此功能使Java平台独一无二。

Java 1.2使安全模型更前进了一步。 它使安全级别和限制具有高度可配置性,并将其扩展到applet之外。 从Java 1.2开始,任何Java代码(无论是applet,servlet,JavaBeans组件还是完整的Java应用程序)都可以使用受限制的权限运行,以防止它对主机系统造成损害。

Java语言和平台的安全功能已经受到全球安全专家的严格审查。 在Java的早期阶段,发现并立即修复了与安全相关的错误,其中一些可能是严重的错误。 由于Java所做的强大的安全承诺,当发现新的安全漏洞时,这就是一个重大新闻。没有其他主流平台能够像Java那样强大地提供安全保障。 没有人可以说将来不会发现Java安全漏洞,即使Java的安全性还不够完善,但它已被证明足够强大,可以实现日常使用,并且肯定比任何替代方案都要好。

以网络为中心的编程

Sun的企业座右铭一直是“网络就是计算机”。 Java平台的设计者相信网络的重要性,并将Java平台设计为以网络为中心。 从程序员的角度来看,Java可以轻松地跨网络使用资源,并使用客户端/服务器或多层体系结构创建基于网络的应用程序。

动态,可扩展的程序

Java既是动态的又可扩展。 Java代码以模块化面向对象的单元组织,称为类。 类存储在单独的文件中,仅在需要时才加载到Java解释器中。 这意味着应用程序可以决定运行它需要的类,并在需要时加载它们。 它还意味着程序可以通过加载扩展其功能所需的类来动态扩展自身。

Java平台的以网络为中心的设计意味着Java应用程序可以通过在网络上加载新类来动态扩展自身。 利用这些功能的应用程序不再是一个单一的代码块。 相反,它成为独立软件组件的交互集合。 因此,Java时应用程序设计和开发的强大新暗喻成为了可能。

国际化

Java语言和Java平台从一开始就考虑到了世界其他地方。在创建时,Java是唯一常用的编程语言,其核心具有国际化功能,而不是作为事后补充。虽然大多数编程语言使用仅代表英语和西欧语言字母表的8位字符,但Java使用16位Unicode字符代表整个世界的拼音字母和表意字符集。 但是,Java的国际化功能并不仅限于低级字符表示。 这些功能渗透到Java平台中,使用Java编写国际化程序比使用任何其他环境更容易。

性能

如前所述,Java程序被编译为称为字节代码的可移植中间形式,而不是本机机器语言指令。 Java虚拟机通过解释这些可移植的字节码指令来运行Java程序。 这种架构意味着Java程序比用纯翻译语言编写的程序或脚本更快,但Java程序通常比编译为本机机器语言的C和C 程序慢。但请记住,尽管Java程序编译为字节代码,但并非所有Java平台都使用解释的字节代码实现。为了提高效率,Java平台的计算密集部分,如字符串操作方法,使用本机机器代码实现。

尽管Java的早期版本遇到了性能问题,但每个新版本的Java VM速度都有了显着提高。 VM已经在许多重要方面进行了高度调整和优化。 此外,大多数当前实现包括即时(JIT)编译器,其将Java字节代码动态地转换为本机机器指令。使用复杂的JIT编译器,Java程序的执行速度可与本机C和C 应用程序的速度相媲美。

Java是一种可移植的解释语言; Java程序的运行速度几乎与原生的、不可移植的C和C 程序一样快。 性能曾经是让一些程序员避免使用Java的问题。 随着Java 1.2,1.3,1.4和5.0的改进,性能问题不再让任何人拒绝使用它。

程序员效率和上市时间

使用Java的最终,也许是最重要的原因是程序员喜欢它。Java是一种优雅的语言,结合了强大的(通常)精心设计的API集。程序员喜欢用Java编程,并且常常惊讶于他们能用多快的速度获得结果。因为Java是一种简单而优雅的语言,具有设计良好,直观的API集,所以程序员编写更好的代码,并且错误少于其他平台,从而缩短了开发时间。

抽象类和方法

我们声明我们的Circle类是名为shapes的包的一部分。假设我们计划实现许多形状类:矩形,方形,椭圆形,三角形等。我们可以为这些形状类提供两个基本的area()和circumference()方法。现在,为了便于使用一组形状,如果我们所有的形状类都有一个共同的父类Shape,那将会很有帮助。如果我们以这种方式构造类层次结构,则可以将每个形状对象(无论其表示的实际形状类型)分配给Shape类型的变量,字段或数组元素。我们希望Shape类封装我们所有形状共有的任何特征(例如,area()和circumference()方法)。 但是我们的通用Shape类并不代表任何真实的形状,因此无法定义有用的实现方法。Java使用抽象方法处理这种情况。

Java允许我们通过使用抽象修饰符的声明方法来定义一个方法而不实现它。 抽象方法没有主体; 它只是一个签名定义,后面跟一个分号。这里有关于抽象方法的规则和包含它们的抽象类:

Java中的抽象方法类似于C 中的纯虚函数(即,声明为0的虚函数)。 在C 中,包含纯虚函数的类称为抽象类,无法实例化。包含抽象方法的Java类也是如此。

具有抽象方法的任何类本身都是自动抽象的,必须这样声明。无法实例化抽象类。

只有当抽象类的子类重写其父类的每个抽象方法并为所有抽象类提供实现(即方法体)时,才能实例化它。这样的类通常被称为具体的子类,以强调它不是抽象的事实。

如果抽象类的子类没有实现它继承的所有抽象方法,那么该子类本身就是抽象的,必须声明。

static,private和final方法不能是抽象的,因为子类不能覆盖这些类型的方法。 同样,final类不能包含任何抽象方法。

即使一个类实际上没有任何抽象方法,也可以将它声明为抽象类。声明这样的类为抽象类表明它实现在某种程度上是不完整的,并且意味着服务于实现一个或多个子类的父类。 这样的类无法实例化。

抽象方法的规则有一个重要特征。如果我们将Shape类定义为具有抽象类area()和circumference()的方法,则需要Shape的任何子类来提供这些方法的实现,以便可以实例化它。换句话说,每个Shape对象都保证定义了这些方法的实现。

接口

像类一样,接口定义了一个新的引用类型。 但是,与类不同,接口不为它们定义的类型提供实现。 顾名思义,接口只指定一个API:它的所有方法都是抽象的,没有实体。 无法直接实例化接口并创建接口类型的成员。 相反,类必须实现接口以提供必要的方法。该类的任何实例都是由类定义的类型和接口定义的类型的成员。接口为多重继承提供了有限但非常强大的替代方案。Java中的类只能从一个父类中继承成员,但它们可以实现任意数量的接口。虽然实现相同的接口,不共享相同类或父类的对象,但可能仍然是相同类型的成员。

Java中找不到C 特性

本章在脚注中说明了Java和C 之间的相似之处和不同之处。 Java与C 共享足够的概念和特性,使其成为c 程序员能够学习的一种简单语言。 但是,C 的一些特性在Java中没有并行。通常,Java不采用C 、 的那些特性使语言变得更加复杂。

C 一次支持多个父类的方法实现的多重继承。 虽然这似乎是一个有用的功能,但它实际上为语言带来了许多复杂性。 Java语言设计者选择通过使用接口来避免增加的复杂性。 因此,Java中的类只能从单个父类的继承方法实现,但它可以从任意数量的接口的继承方法中去声明。

例如,C 支持模板,允许您实现Stack类,然后将其实例化为Stack lt;intgt;或Stack lt;doublegt;以生成两种不同的类型:整数堆栈和浮点值堆栈。 Java 5.0引入了参数化类型或“泛型”,以更强大的方式提供类似的功能。泛型将在第4章中介绍。

C 允许你定义对类的实例执行任意操作的运算符。实际上,它允许你扩展语言的语法。 这是一个很好的功能,称为运算符重载,它提供了很棒的示例。然而,在实践中,它往往使代码很难理解。 经过多次辩论,Java语言设计者决定省略这种语言的运算符重载。 但请注意,在Java中使用 运算符进行字符串连接至少会让人联想到运算符重载。

C 允许你为类定义转换函数,该类在将值分配给该类的变量时自动调用适当的构造函数方法。这只是一个语法快捷方式(类似于覆盖赋值运算符),并不包含在Java中。

在C 中,默认情况下,对象由值操纵; 必须使

全文共6178字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[510]

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。