华章计算机 2017-09-05 865浏览量
大家都在谈Java技术,但Java技术到底是什么?本节解释Java技术如何成为程序语言和平台,并概述Java技术的功能特性。
Java程序语言是一种高级的编程语言,它具备如下性质:
上述术语的定义可参考James Gosling和Henry McGilton的白皮书《The Java Language Environment》。
图1-1描述了Java应用程序开发的完整过程。首先将所有源代码都写在扩展名为.java的纯文本文件中,接着通过编译器(javac)将那些源文件编译成.class文件。.class文件里的代码不是本地代码,而是字节码(bytecode)——Java虚拟机(Java Virtual Machine,JVM)能识别的机器语言。最后通过启动器(java)在JVM实例中运行应用程序。
因为Java虚拟机可以在不同的操作系统上运行,所以同一个.class文件可以在Microsoft Windows、Solaris、Linux、OS X等多个操作系统上运行,如图1-2所示。有些虚拟机(如Java HotSpot虚拟机)在运行时会执行一些其他的步骤,如查找性能瓶颈、将使用频率高的代码重新编译成本地代码等,以提高程序性能。
平台(platform)是程序运行的硬件或软件环境。前面已经提到一些常用的平台,如Microsoft Windows、Linux、Solaris和OS X等。大多数平台都可看作操作系统和底层硬件的组合。Java平台和其他大多数平台不同,区别在于它是运行于其他硬件平台之上的纯软件平台,如图1-3所示。
Java平台包含以下两个组件:
Java虚拟机是Java平台的基础,它可以移植到其他不同的硬件平台上。
API是那些现有软件组件构成的集合,它们提供许多有用功能。这些API被分成相关类和接口的库,通常称这些库为包(package)。下一节将重点介绍API的特性。
作为平台独立的环境,Java平台会比本地代码慢一点。然而,编译器和虚拟机技术的优点在于,在不影响可移植性的前提下,使其性能接近本地代码。
Java程序语言是一个强大的软件平台。Java平台的每个完整实现都包含以下功能组件:
学习Java程序语言并不一定会带来荣誉、财富,也不一定会帮你找到工作。但它可能使你的程序写得更好,而且比使用其他语言开发程序容易。总的来说,Java技术具有以下优势:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。