Java 简介

Java最初是Sun Microsystems由James Gosling发明的一种编程语言。2009年Oracle收够了Sun,因此也拥有Java。因此,Java是Oracle的商标。随着时间的流逝,Java已经发展为不仅仅是一种语言。这是一个具有许多标准API,开源API,工具,拥有数百万开发人员的大型开发人员社区等的完整平台。

当人们谈论Java时,他们经常提到整个概念的几个不同部分。那是因为Java不仅仅是一种编程语言。对于初学者而言,所有这些不同的“含义”可能会造成混淆,因此我将简要解释它们,以便您了解人们在谈论什么。与Java相关的最常见的概念是:

  • Java语言
  • Java字节码
  • Java虚拟机(JVM)
  • Java API
  • Java运行时环境(JRE)
  • Java开发人员工具包(JDK)
  • Java代码约定
  • Java标准版(JSE)
  • Java企业版(JEE)
  • Java应用服务器
  • Java Micro Edition(JME)
  • Java小程序
  • JavaFX
  • Java开发者社区

Java语言

首先,Java是一种编程语言。这意味着存在一个Java语言规范,该规范明确说明了哪些元素是Java语言本身的一部分。换句话说,Java语言的功能。本教程跟踪的重点是Java语言本身。

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

Java字节码

用Java语言编写的Java程序被编译为Java字节码,可以由Java虚拟机执行。Java字节码存储在二进制.class文件中。

Java虚拟机

Java是一种编译型语言。Java语言被编译成Java字节码。然后,该Java字节码由Java虚拟机执行。Java虚拟机就像一台计算机。它可以执行Java字节码,就像PC可以执行汇编程序指令一样。

Java虚拟机有多种操作系统版本,例如Windows,Mac OS,Linux,IBM大型机,Solaris等。因此,如果Java程序可以在Windows的Java虚拟机上运行,那么它也可以在Mac OS或Linux上的虚拟机上运行。Java的“编写一次,多处运行”就是这个原理。

Java虚拟机本身就是一个程序。您启动JVM并告诉它要执行什么Java代码。这通常是通过命令行界面(CLI)完成的,例如bash或Windows中的命令行界面,执行Java、javac等命令。

Java API

API是应用程序接口的意思,它是用Java语言结合设计模式编写的组件库。 Java捆绑了很多这样的组件。这些组件被称为标准Java API。这些API使您的Java程序可以访问本地文件系统,网络和许多其他内容。标准的Java API提供了许多基本功能,否则您将不得不自己进行编程。因此,API可帮助您更快地开发应用程序。

标准Java API可用于所有Java应用程序。标准Java API与Java Runtime Environment(JRE)或Java SDK(其中还包括JRE)捆绑在一起。

JRE

Java运行时环境(JRE)是Java虚拟机和Java Standard Edition(JSE)随附的标准Java API。 JRE包含足够的内容来执行Java应用程序,但不能进行编译。

JDK

Java软件开发套件(Java SDK)是JRE加上Java编译器,以及一组其他工具。如果需要开发Java程序,则需要完整的Java SDK。只有完整的Java SDK包含Java编译器,该编译器会将您的.java源文件转换为字节码.class文件

此外,某些Java服务器可能需要JDK中的某些工具,例如,将JSP(Java服务器页面)编译为Java字节码。在这种情况下,仅用JRE运行服务器是不够的。您必须使用完整的Java SDK,以便服务器具有Java SDK中可用的其他工具。

Java代码约定

Java代码约定是一组有关如何格式化Java代码以及如何命名类,变量,文件等的约定。大多数时候,您不必遵循这些约定,但是大多数开发人员都遵循其中的大多数约定。

Java的版本

Java Micro Edition,用于在手机和嵌入式设备上开发(如PDA,移动电话等)和执行Java应用程序。

Java Standard Edition,适用于台式机和独立服务器应用程序的。Java Standard Edition包含用于独立桌面和命令行应用程序的基本Java API。 Java标准版同时具有JRE和JDK。

Java Enterprise Edition,用于开发和执行运行在Java服务器中的Java组件,用于在Java Enterprise Server中执行Java组件。现在它不叫Java EE,叫Jakarta EE,见 https://jakarta.ee/。 它的组件有:JSP、JSF、Servlet、JPA、CDI、EJB、JMS等。

Java应用服务器

Java Enterprise Edition(Jakarta EE)只是一个规范。像IBM,Oracle等软件供应商可以自由实施此规范。它们的实现通常称为Java应用程序服务器,因为这些服务器能够运行Java应用程序,同时为这些Java应用程序提供许多标准化服务。

Java小程序

Java Applet是在Web浏览器中下载并执行的Java程序。因此,Java Applets可以成为Web应用程序的一部分。Java首次发布时,Applet是Java的主要卖点。但是这些天来,Java Applet已经几乎消失了(流行游戏Minecraft除外)。 HTML5和JavaScript已成为在浏览器中执行代码的最常用方法。此外,大多数浏览器已删除了能够执行Applet的浏览器中的Java插件,并且出于安全原因,这些浏览器不再允许该插件。

JavaFX

JavaFX是一个RIA(富Internet应用程序)框架。 JavaFX最初是Java Applet的替代品,但具有更多功能,并且具有完全不同的GUI API。 JavaFX受Flex(Flash)和Silverlight for .NET(Microsoft)的启发。 不过,Flash和Silverlight均已死。

Java开发人员社区

Java开发人员社区由众多Java开发人员组成,他们参与了有关Java及其未来的辩论。 Java开发人员社区已经开发了许多开源API和产品,极大地扩展了围绕Java的生态系统。现在Java开发社区有:apache软件基金会Eclipse软件基金会Spring