Skip to content

Java 概览

Java 编程语言由 James Gosling 在 Sun Microsystems 公司发起,并于 1995 年作为 Sun 的 Java 平台(Java 1.0)的核心组件发布。Oracle 于 2010 年收购了 Sun,并继续进行 Java 的开发和管理。

Java 遵循长期支持(LTS - Long-Term Support)发布模式,主要 LTS 版本(如 Java 8、11、17 和 21)会获得多年的更新。这为企业应用提供了稳定性。非 LTS 版本每六个月发布一次新功能。

Java 平台有几个版本:

  • Java 标准版(Java SE): 核心平台,提供必要的 API(集合、I/O、网络、基本 GUI)、Java 虚拟机(JVM)和 Java 开发工具包(JDK)。本教程专注于 Java SE。
  • Jakarta EE(前身为 Java 企业版或 J2EE): 构建于 Java SE 之上,提供 API 和运行时环境,用于开发和运行大型、多层、可靠且安全的网络应用程序(Web 服务、企业 Bean 等)。
  • Java 微型版(Java ME): Java SE API 的一个子集,用于开发资源受限设备(如老式手机和嵌入式系统)的应用程序(在当今的新开发中不太常见)。

Java 的核心原则仍然是“一次编写,随处运行”(WORA),这得益于将代码编译成由 JVM 执行的平台无关的字节码。

  • 面向对象: Java 中(除了基本类型)一切都被视为对象,通过封装、继承和多态等概念促进模块化和可重用性。
  • 平台无关: 编译后的 Java 代码(字节码)可以在任何具有兼容 Java 虚拟机(JVM)的设备上运行。
  • 简洁: 设计相对易于学习,特别是对于熟悉 C++ 的程序员(但省略了诸如显式指针和类的多重继承等复杂特性)。
  • 安全: JVM 的沙箱模型、字节码验证和安全管理器等特性为运行应用程序提供了安全环境。
  • 健壮: 强调编译时错误检查和运行时检查(例如,通过垃圾回收进行的自动内存管理、异常处理)来创建可靠的软件。
  • 多线程: 内置对并发编程的支持,允许应用程序同时执行多个任务。
  • 高性能: 现代 JVM 使用即时(JIT - Just-In-Time)编译和自适应优化技术,使许多应用程序的性能接近原生编译语言。
  • 分布式: 设计时考虑了网络计算,有利于开发分布式应用程序。
  • 动态: 可以适应不断变化的环境。类是动态加载的,并且通过反射可以在运行时检查和操作代码。
  • 丰富的 API 和生态系统: 提供庞大的标准库,并受益于庞大的第三方库和框架生态系统(如 Spring、Hibernate、Apache Commons 等)。

James Gosling 于 1991 年启动了 Java 项目(最初称为 Oak)。Sun Microsystems 于 1995 年发布了 Java 1.0,提出了 WORA 的承诺。Java 迅速普及,特别是用于 Web 小程序(现在已弃用)。在 2006-2007 年,Sun 根据 GPL 许可证开源了大部分 Java 代码(OpenJDK)。Oracle 于 2010 年收购了 Sun,并继续开发 Java,在 Java 8(Lambda 表达式、Stream)、Java 9(模块)以及后续版本中引入了许多重要特性。

要学习本教程并开发 Java 应用程序,你需要以下工具:

  • 操作系统: 现代操作系统,如 Windows 10/11、macOS 或 Linux 发行版。
  • Java 开发工具包(JDK): 其中包含 Java 编译器(javac)、Java 虚拟机(JVM)和标准库。从 Oracle 或 OpenJDK 提供商(如 Adoptium、Amazon Corretto、Azul Zulu)下载最新的 LTS 版本(例如 JDK 11、17 或 21)。
  • 集成开发环境(IDE)或文本编辑器:
    • IDE(推荐): 提供代码补全、调试、构建工具集成和重构等功能。常见的选择包括 IntelliJ IDEA(社区版或旗舰版)、Eclipse IDE for Java Developers 和安装了 Java 扩展的 Visual Studio Code。
    • 文本编辑器: 更简单的选择,如 VS Code(没有完整的 IDE 功能)、Sublime Text、Atom,甚至基本的编辑器如 Notepad++ (Windows) 或 TextEdit (Mac) 都可以使用,但你需要从命令行手动编译和运行代码。
  • 硬件: 一台配置合理的现代计算机(例如,推荐多核 CPU,8GB+ 内存),以获得流畅的开发体验。

本教程旨在为你提供创建各种 Java 应用程序的基础技能。

这是经典的 Java “Hello, World!” 程序:

public class HelloWorld {
// main 方法是应用程序的入口点
public static void main(String[] args) {
// 在控制台输出文本
System.out.println("Hello, World!");
}
}

下一章将指导你设置 Java 开发环境,包括安装 JDK 和配置你的系统来编译和运行 Java 程序。