什么是Java?

Java最初是由Sun Microsystems的James Gosling发明的一种编程语言。如今Oracle拥有Sun,因此也拥有Java。所以Java是甲骨文的商标。随着时间的推移,Java已不仅仅是一种语言,这是一个完整的平台,其中包含了大量标准API、开源代码、工具等,同时也拥有了无数的开发者团体。你可能还不清楚这意味着什么,但是当你开始学习更多的Java知识并开始使用它时,你将会对这些有着更深刻地认识。

人们经常说的Java,只是它全部概念中几个不同的小部分,因为Java不是简简单单的一门语言。这些概念对于初学者来说,很容易引起困惑,所以,我将会简短明了地解释这些概念,以便你能理解人们谈论的问题。下面这些是与Java相关的最常见的概念:

在下面的部分,我将简要地解释这些Java概念。

Java语言

首先,Java是一门编程语言。这意味着存在一个Java语言规范,它明确地告诉了哪些元素是Java语言本身的一部分。换句话说,它告诉你Java语言能够做什么。

本教程关注的重点也是Java语言本身。

Java源代码存储在后缀名为 .Java 的文件中。然后利用Java编译器将这些文件编译成Java字节码,之后使用Java虚拟机(JVM)执行字节码。而Java编译器和JVM都是Java开发工具集的一部分。

Java字节码

Java字节码是由Java源码经过编译得到的,可以在Java虚拟机中执行。

Java字节码存储在后缀名为 .class 的二进制文件中。

Java虚拟机(JVM)

Java是一种解释性语言。这句话是什么意思?Java源代码被编译成Java字节码,然后由Java虚拟机执行此Java字节码。

Java虚拟机就像一台计算机。它可以执行Java字节码,类似于PC可以执行汇编指令一样。

Java虚拟机在几个不同的操作系统都有实现,比如Windows、Mac OS、Linux、IBM大型机、Solaris等等。因此,如果你的Java程序可以在Windows上的Java虚拟机上运行,那么它通常也可以在Mac OS或Linux上的Java虚拟机上运行。虽然有时某个系统中特定的问题会让你的应用程序表现不同,但大多数时候它们的表现都很类似。Sun公司把这称为“一次编写,处处运行”。

Java虚拟机本身就是一个程序。你通常可以在命令行接口(CLI),如bash或者是Windows中的命令行界面中,启动JVM并告诉它去执行什么Java代码。

Java APIs

Java语言允许你将Java语言编写的组件打包成api(应用程序接口),使得这些组件可以在其他人的Java应用程序中使用。Java就是和许多这样的组件捆绑在一起的。这些组件被称为标准的Java api,它们可以让你Java程序能够访问本地文件系统、网络和其他许多东西。

这些标准的Java api提供了许多基本的功能,如果没有它们,你将不得不自己编写实现。因此,这些api可以帮助你更快地开发应用程序。

所有Java应用程序都可以使用标准的Java api。标准的Java api与Java运行环境(JRE)捆绑在一起,或者与Java SDK捆绑在一起,当然Java SDK自身也包含一个JRE。

Java运行环境

Java运行环境(JRE)是Java虚拟机和带有标准Java api的Java标准版(JSE)的集合。JRE包含的内容可以执行Java应用程序,但不能编译Java源码。

Java开发工具集(Java SDK)

Java软件开发集(Java SDK)是JRE加上Java编译器和一些其他工具组成的。

如果需要开发Java程序,你就需要完整的Java SDK。因为单独的JRE是不能编译Java源代码,只有完整的Java SDK,才包含Java编译器,可以将 .java 源文件转换成 .class 的字节码文件。

另外,一些Java服务器可能需要JDK中的一些工具,例如将jsp(Java服务器页面)编译成Java字节码的编译器。在这种情况下,用JRE运行服务器是不够的。你必须使用完整的Java SDK,以便服务器可以使用Java SDK中包含的额外工具。

Java编码规范

Java编码规范是一组关于如何格式化Java代码,如何命名类、变量、文件等等的约定。你在大多数情况下都可以不遵循这些约定,但是大多数开发人员都遵循这些约定。

Java标准版(JSE)

Java已经演变成三种不同的api集,或者称为三种“应用场景”,就像有些人说的那样:

  1. Java标准版:适用于桌面和单独的服务器应用程序开发。
  2. Java企业版:用于开发和运行嵌入在Java服务器中的Java组件。
  3. Java微型版:用于在移动电话和嵌入式设备上开发和执行Java应用程序。

Java标准版包含独立桌面和命令行应用程序的基本Java api。Java标准版包含了JRE和JDK。

Java企业版(JEE)

Java企业版包含了许多额外的工具和api,用于在Java企业服务器中执行Java组件。以下是常见的企业版Java组件:

  • Servlets
  • Java Server Pages(JSP)
  • Java Server Faces(JSF)
  • Enterprise Java Beans(EJB)
  • 两阶段事务提交
  • Java消息队列服务API(JMS)
  • ......

Java应用服务器

Java企业版只是一个规范。像IBM、Oracle这样的软件供应商都可以自由地实现这个规范。他们的确也是这样做的。他们实现的通常被称为Java应用服务器,因为这些服务器能够运行Java应用程序,同时也为Java应用程序提供大量标准化的服务。

Java微型版

Java微型版是一种适应小型嵌入式设备的Java版本,如pda、移动电话等。

当下(2015年)谷歌的Android平台是最流行的移动终端平台。Android并没有使用Java微型版。它使用谷歌自己的Java子集和许多Android特定的组件(api)。

Java小程序(Java Applets)

Java Applet是一种Java程序,它可以在web浏览器中下载后执行。因此,Java Applets可以成为web应用程序的一部分。

在Java刚开始发布的时候,Applets是Java的主要卖点。但在如今,Java Applets已经差不多消亡了(这其中不包括很所欢迎的游戏————我的世界)。HTML5和JavaScript已经成为最受欢迎的浏览器运行代码方式。

今天,大多数Java开发人员都在服务器端、Java应用服务器,或者像Vert这些其他平台上的服务器端做开发工作。或者是开发游戏框架。

JavaFX

JavaFX是一个RIA(富Internet应用程序)框架。它类似于Java Applets,但它具有更多的特性,并且具有完全不同的GUI API。JavaFX受到Flex(Flash)和Silverlight的启发。

Java开发者社区

Java开发者社区由所有参与讨论Java及其未来的Java开发人员组成。Java开发者社区也开发了许多开源api和产品。

下一篇: 安装Java SDK

results matching ""

    No results matching ""