Java 技术既是一种高级的面向对象的编程语言,也是一个平台。Java 技术基于 Java 虚拟机(Java virtual machine,JVM)的概念 —— 这是语言与底层软件和硬件之间的一种转换器。Java 语言的所有实现都必须实现 JVM,从而使 Java 程序可以在有 JVM 的任何系统上运行。
Java 编程语言(Java programming language)与众不同之处在于:Java 程序既是编译型的(compiled)(转换为一种称为 Java 字节码的中间语言),又是解释型的(interpreted)(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对 JVM 优化过的机器码形式;解释器是 JVM 的实现。
Java 平台(Java platform) 是一种纯软件平台,它可以在各种基于硬件的平台上运行。它有三个版本(参见后面的 Java 平台的多个版本)。它由 JVM 和 Java 应用程序编程接口(Java Application Programming Interface,API)组成。Java API 是一个大型的现成软件组件(类)集合,它可以简化 applet 和应用程序的开发和部署,包括健壮、安全且可互操作的企业应用程序。它涵盖从基本对象到连网和安全性,再到 XML 生成和 Web 服务的所有东西。Java API 组织成相关类和接口的库;库也称为包(package)。
除了 Java API 之外,每个完整的 Java 平台实现还包含:
用来编译、运行、监视、调试应用程序以及建立应用程序文档的开发工具。
用来部署应用程序的标准机制。
用来创建复杂的图形用户界面(GUI)的用户界面工具包。
用来启用数据库访问和操作远程对象的集成库。
Java 技术是最初由 Sun Microsystems 公司开发的。Java Community Process(JCP,一个由全世界的 Java 开发人员和获得许可的人员组成的开放性组织)对 Java 技术规范、参考实现和技术兼容性包进行开发和修订。在 2006 年 8 月,Sun Microsystems 宣布它打算开放 Java 平台的源码,并开始征询对许可协议和管理方式的反馈。