跳过导航

什么是 Java?

Java 入门指南 | Microsoft Azure

什么是 Java?

Java 是一种面向对象的多平台编程语言,在全球数十亿台设备上运行。它为应用程序、智能手机操作系统、企业软件和许多已知程序提供支持。尽管 Java 是在 20 年前发明的,但对于应用开发人员来说,Java 目前是最常用的编程语言。

下面是定义了 Java 并使其无处不在的特性。Java 是:

多平台: Java 以“编写一次,随时随地运行”(WORA)这一口号打造了品牌,这一理念至今仍然被奉行。为一个平台(如 Windows 操作系统)编写的 Java 代码可以轻松传输到另一个平台,例如移动端操作系统,反之亦然,无需完全重写。Java 可在多个平台上运行,因为在编译 Java 程序时,编译器会创建一个 .class 字节码文件,该文件可以在安装了 Java 虚拟机(JVM)的任何操作系统上运行。通常,在大多数主要操作系统(包括 iOS)上安装 JVM 很容易,但也并非总是如此。

面向对象: Java 是首个面向对象的编程语言之一。面向对象的编程语言围绕类和对象(而不是函数和命令)组织代码。大多数新式编程语言(包括 C++、C#、Python、Ruby)都是面向对象的。

这些特性使 Java 成为一种通用且相对易于学习的编程语言,在软件和技术公司中非常受欢迎。如果你正在寻找编码或计算机编程工作,了解如何编写 Java 是一项有价值的技能。

Java 是何时发明的?

Java 是 James Gosling 于 1995 年在 Sun Microsystems 工作时创建的。尽管 Java 在发布后迅速受到欢迎,但它并未像现在这样成为强大的编程语言。

1991 年,对之后催生了 Java 的开发工作开始于 Sun Microsystems。该项目最初称为“橡木”,它起初是为了交互式电视设计的。当有人认为橡木对当时的数字电缆技术过于高级时,Gosling 和他的团队将注意力转移到了创建编程语言上,并将该项目重命名为 Java–一种印度尼西亚的咖啡。Gosling 认为 Java 可以解决可移植编程语言较少的问题,因为当时越来越多的设备开始互联。

Java 的语法风格类似于 C++ 编程语言,因此程序员在刚上手它时可能已经很熟悉。它的核心理念是“编写一次,随时随地运行”,程序员可以为一个平台编写 Java 代码,该代码可在安装了 Java 解释器(即 Java 虚拟机)的任何其他平台上运行。随着 Internet 的出现和 20 世纪 90 年代新数字设备的激增,开发人员很快将 Java 视为真正的多平台编程语言。

Java 的第一个公共版本 Java 1.0 于 1996 年发布。五年内,它就在全球拥有了 250 万开发人员。目前,Java 支持从 Android 移动操作系统到企业软件的所有功能。

Java 编程语言的用途是什么?

Java 是一种非常可传输的编程语言,用于各种平台和不同类型的设备,包括智能手机和智能电视。它用于创建移动和 Web 应用、企业软件、物联网(IoT)设备、游戏、大数据、分布式应用程序和基于云的应用程序等等。下面是使用 Java 编程的应用程序的一些具体的实际示例。

移动应用

许多(或大多数)移动应用程序都是使用 Java 构建的。Java 是移动应用开发人员的首选语言,因为它具有稳定的平台和多功能性。Java 中编码的热门移动应用包括 Spotify、Signal、Cash App。

Web 应用

使用 Java 开发各种 Web 应用程序。Twitter 和 LinkedIn 是最有名的两个应用。

企业软件

企业软件是用于为大型组或组织提供服务的软件。它包括计费系统和供应链管理程序等软件。Java 的高可伸缩性使其成为了对于编写企业软件的开发人员极具吸引力的语言。

游戏

用 Java 编写的热门游戏包括最初的 Minecraft 和 RuneScape。

IoT 应用程序

IoT 应用程序无处不在–智能电视、汽车、繁重的机械、工作设施等–Java 用于对其中许多应用程序进行编程。Java 是 IoT 开发人员的热门选择,因为它的代码可在平台之间轻松传输。

什么是 JavaScript? 它与 Java 有何不同?

与 Java 不同,JavaScript 具有单个函数: 创建脚本以运行 Web 浏览器。这些脚本在 Internet 上到处都是。它们用于基于浏览器的游戏、网页动画、用户行为日志记录、弹出广告等。基本上,网站在不需要重新加载页面的情况下更新的任何内容很可能都是 JavaScript。

正如我们所说,Java 的用途远不止网站。

Java 的工作原理是什么?

如前所述,Java 是一种多平台编程语言。这意味着它可以为一个操作系统编写,并在另一个操作系统上运行。这怎么可能?

Java 代码首先在适用于 Windows、Linux、macOS 的 Java 开发工具包中编写。程序员使用 Java 编程语言编写,工具包将其转换为计算机代码,任何设备都可以使用正确的软件读取这些代码。这是通过一个称为编译器的软件实现的。编译器会将高级计算机代码(如 Java)转换为操作系统理解的称为字节码的语言。

然后,被称作 Java 虚拟机(JVM)的解释器会处理字节码。JVM 适用于大多数软件和硬件平台,因此可以将 Java 代码从一台设备传输到另一台设备。为了运行 Java,JVM 会加载代码、验证代码并提供运行时环境。

鉴于 Java 的高可移植性,许多人都想了解如何编写它。幸运的是,有很多资源可用于学习 Java。

了解 Java

那么,Java 对刚入门的程序员意味着什么呢? 就值得投资的学习而言: 很多。尽管它已存在了 20 多年,它仍是一种顶级的编程语言,因为:

  • 它非常通用,可用于许多不同的行业和操作系统–Android 操作系统就是基于它的。
  • 它非常简单,也被视为是学习编程基础知识的绝佳首选语言。
  • 可以轻松找到 Java 教程、集训营、在线社区,以便在你整个学习途中快速开始并获取持续支持。

分两个阶段学习 Java 会很有帮助: 第一个阶段,学习如何在 Java 中编程; 第二个阶段,了解如何在不同的开发环境中使用该语言。它们是相关的,因为即使是 Java 专家也需要了解如何在不同地方使用他们熟悉的 Java 工具和框架。

请查看适合初学者和专家的学习资源。

适用于初学者的 Java 教程

教育: 从头开始学习 Java

此免费的 12 小时交互式 Java 教程从基本的 "Hello world!" 开始,之后涵盖基础的编程概念,最后是评估考试。

Coursera: Java 编程和软件工程基础知识专用化

此为期五个月的付费证书课程介绍了适用于 Java SE 的初学者 Java 编程,以及软件工程的基础知识。

Udemy: 了解 Java 编程–从初学者到大师

此付费的 61.5 小时按需证书课程全面介绍了 Java,包括多线程和 GUI 编程等概念。

适用于高级用户的 Java 教程和资源

Java 博客

获取 Java 开发人员在此博客中为 Java 开发人员提供的有关使用 Java 进行开发的新闻、更新、见解。

使用 Microsoft 进行 Java 开发

了解特定于 Java 的 SDK、API、扩展、OpenJDK 和高级学习资源,以充分利用 Java。

Azure 上的 Java

了解在 Azure 上开始开发和现代化企业 Java 应用所需的内容,包括对 Java EE、Spring Boot、Kubernetes 的支持。

Azure 上的 Java 入门

了解如何构建、迁移、缩放 Java 应用–同时通过 Azure 服务使用已了解的 Java 工具和框架。

常见问题解答

  • Java 是一种常用的多平台、面向对象的编程语言。Java 可通过 Java 虚拟机(JVM)被用作平台,这些虚拟机可安装在大多数计算机和移动设备上。

    了解详细信息

  • Java 是由 James Gosling 于 1995 年在 Sun Microsystems 工作时创建的。Java 的开发始于 1991 年,它的第一个公共版本于 1996 年 1 月发布。

    了解详细信息

  • Java 编程语言可跨平台和设备使用,因为它的代码易于传输。Java 的常用用途包括企业软件、移动应用开发、Web 应用、基于云的应用程序、游戏、IoT 应用程序。

    了解详细信息

  • Java 是一种非常通用的编程语言。它可用于为许多不同的操作系统和设备(包括 IoT 设备、移动电话)编写软件和应用程序。

    了解详细信息

  • Java 代码通过编译器进行处理,编译器将其转换为操作系统读取的字节码。Java 中的字节码由 Java 虚拟机处理,用于验证代码并为 Java 应用提供运行时环境。

    了解详细信息

  • 在传统学校之外,学习 Java 有许多其他选择。Coursera、Udemy 和其他许多公司提供可在 6 个月内完成的 Java 证书。还有免费的在线教程、视频、课程。

    了解详细信息

开始在 Azure 上免费使用 Java 进行开发

获取 12 个月内免费的热门服务、超过 40 个始终免费的其他服务,以及 $200 的额度(在前 30 天内使用)。

浏览适关于 Java 的所有 Microsoft 资源

了解如何使用 Microsoft 技术创建和部署 Java 应用程序和服务。

可以给你提供什么帮助?