1.1 关于Java技术
大家都在谈Java技术,但Java技术到底是什么?本节解释Java技术如何成为程序语言和平台,并概述Java技术的功能特性。
1.1.1 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、Mac OS X等多个操作系统上运行,如图1-2所示。有些虚拟机(如Java HotSpot虚拟机)在运行时会执行一些其他的步骤,如查找性能瓶颈、将使用频率高的代码重新编译成本地代码等,以提高程序性能。