基础入门_Java语言概述

72 阅读6分钟

Java 的历史、特点

Java的历史

Java的诞生和发展核心节点如下:
  1. 起源(20世纪90年代初)

Java 最初由 Sun Microsystems(升阳公司)的詹姆斯・高斯林(James Gosling)团队研发,初衷是为了解决嵌入式系统(如智能家电)的编程问题。早期名为 “Oak”(橡树),因语言名称已被注册,后改名为 “Java”(灵感来自印度尼西亚的爪哇岛咖啡)。

  1. 首次发布(1995)

1995 年,Sun 正式发布 Java 1.0 版本。此时正值互联网兴起,Java 的 “跨平台” 特性完美契合了网页端动态内容的需求(如早期的 Applet 技术),迅速获得关注。

  1. 技术迭代与普及
  • 2004 年,Java 5.0 发布,引入泛型、注解、枚举等重要特性,大幅提升开发效率。
  • 2009 年,Sun 被 Oracle(甲骨文)收购,Java 进入 Oracle 时代。
  • 近年来,Java 保持快速更新(如 Java 8 引入 Lambda 表达式,Java 11 成为长期支持版本),持续适应现代开发需求

Java的特点

  1. 跨平台性(Write Once, Run Anywhere)

Java 程序通过编译器编译为字节码(.class 文件),而非直接生成机器码。字节码需在 Java 虚拟机(JVM)上运行,而 JVM 可在不同操作系统(Windows、Linux、macOS 等)上安装,因此同一字节码可在多平台执行,解决了传统语言的平台依赖问题。

  1. 面向对象(Object-Oriented)

Java 完全支持面向对象编程的三大特性:封装(将数据和方法封装为类)、继承(子类复用父类代码)、多态(同一方法在不同对象上有不同实现)。这种设计使代码更模块化、可维护性更强。

  1. 安全性与可靠性
  • 字节码验证机制:JVM 会检查字节码的合法性,防止恶意代码执行。
  • 自动内存管理(垃圾回收):开发者无需手动释放内存,JVM 会自动回收不再使用的对象,减少内存泄漏风险。
  • 异常处理机制:强制使用 try-catch 等结构处理错误,避免程序崩溃。
  1. 多线程支持

Java 内置多线程库(如 Thread 类、Runnable 接口),允许程序同时执行多个任务,适合开发高并发应用(如服务器、游戏等)。

  1. 丰富的类库与生态

Java 标准库(JDK)提供了大量现成类(如集合框架、IO 操作、网络编程等),无需重复开发。此外,第三方库(如 Spring、Hibernate、Apache 工具包)和框架生态成熟,覆盖企业级开发、移动开发(Android)、大数据(Hadoop)等多个领域。

  1. 简单性与易学性

Java 语法借鉴 C/C++,但移除了指针、多重继承等复杂特性,降低了学习门槛。同时,严格的语法规范(如强制类型声明)使代码更易读。

JDK、JRE、JVM 的关系与作用

三者的关系

包含关系:JDK包含JRE包含JVM

简单说开发Java程序需要JDK,运行Java程序至少需要JRE(包含JVM)。

画板

各自的作用

  1. JVM(Java Virtual Machine,Java 虚拟机)
  • 核心作用:是执行Java字节码的虚拟计算机。

Java 源代码编译后生成字节码(.class 文件),JVM 负责将字节码翻译成具体操作系统的机器码并执行,这是 Java 实现 “跨平台” 的核心(不同系统安装对应 JVM 即可运行同一字节码)。

  • 特点:JVM 本身依赖操作系统,不同系统需安装对应的 JVM 版本(如 Windows x64、Linux ARM 等),但字节码无需修改。
  1. JRE(Java Runtime Environment,Java 运行时环境)
  • 核心作用:提供 Java 程序运行所需的最小环境。
  • 组成
    • JVM(虚拟机,执行字节码)
    • 核心类库(如 java.lang、java.util 等,提供基础功能)
    • 其他支持文件(如配置文件、资源文件等)
    • 适用场景:如果仅需运行已编译的 Java 程序(如 .class 或 .jar 文件),安装 JRE 即可。
  1. JDK(Java Development Kit,Java 开发工具包)
  • 核心作用:提供 Java 程序开发所需的工具和环境。
  • 组成
    • JRE(包含 JVM 和类库,确保开发出的程序可运行)
    • 开发工具(如编译器 javac、调试器 jdb、文档工具 javadoc、打包工具 jar 等)
    • 额外的开发类库(如 tools.jar,支持开发工具的运行)
  • 适用场景:开发 Java 程序必须安装 JDK,因为需要用其提供的编译器(javac)将源代码(.java)编译为字节码(.class)

第一个 Java 程序(Hello World)的编写、编译与运行

  1. 步骤1:编写Java源代码.java文件。
public class HelloWorld {
    // 程序入口点(主方法)
    public static void main(String[] args) {
        // 输出"Hello, World!"到控制台
        System.out.println("Hello, World!");
    }
}
  1. 步骤2:编译Java程序。

通过javac命令把.java文件编译为.class文件。

  1. 步骤3:运行Java程序

通过java命令运行java程序。

java HelloWorld

注释(单行、多行、文档注释)

Java 中的注释用于解释代码含义,不影响程序运行,主要分为三种类型:单行注释、多行注释和文档注释。合理使用注释可以提高代码的可读性和可维护性。

单行注释(Single-line Comment)

  • 语法:以//开头,注释从//到本行末尾的内容。
  • 用途:解释单行代码的简短说明。
  • 示例:
public class CommentExample {
    public static void main(String[] args) {
        // 这是一个单行注释,用于说明下面的代码功能
        System.out.println("Hello, Comments!"); // 打印输出语句
    }
}

多行注释(Multi-line Comment)

  • 语法:以 /* 开头,以 */ 结尾,可注释多行内容(包括单行)。
  • 用途:解释一段代码的逻辑或功能,适合较长的说明。
  • 注意:多行注释不能嵌套(即/*内部不能再包含 /*)。
  • 示例:
public class CommentExample {
    /*
     * 这是一个多行注释
     * 用于说明主方法的作用:
     * 作为程序入口,执行打印操作
     */
    public static void main(String[] args) {
        /* 打印欢迎信息 */
        System.out.println("Hello, Comments!");
    }
}

文档注释(Documentation Comment)

  • 语法:以 /** 开头,以 */ 结尾,主要用于注释类、方法、变量等,可通过 JDK 的 javadoc 工具生成 API 文档(HTML 格式)。
  • 用途:生成规范化的文档,方便其他开发者了解代码的功能、参数、返回值等。
  • 支持标签:可使用 @param@return@author@version等标签增强文档信息。
  • 示例:
/**
 * 这是一个演示注释用法的类
 * @author 开发者名称
 * @version 1.0
 */
public class CommentExample {
    /**
     * 程序的主入口方法
     * @param args 命令行参数(未使用)
     */
    public static void main(String[] args) {
        System.out.println("Hello, Comments!");
    }
    
    /**
     * 计算两个整数的和
     * @param a 第一个整数
     * @param b 第二个整数
     * @return 两个整数的和
     */
    public int add(int a, int b) {
        return a + b;
    }
}
  • 生成文档:在命令行中执行以下命令,可将文档注释生成 HTML 文档

<font style="color:rgb(28, 31, 35);">javadoc CommentExample.java</font>