如何执行 Java 源代码

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本教程为执行 Java 源代码提供了全面指南,涵盖了开发者所需的基本概念和实用技术。无论你是初学者还是有经验的程序员,理解如何编译和运行 Java 程序对于软件开发都至关重要。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java/BasicSyntaxGroup -.-> java/identifier("Identifier") java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/variables("Variables") java/BasicSyntaxGroup -.-> java/comments("Comments") java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("Packages / API") subgraph Lab Skills java/identifier -.-> lab-418184{{"如何执行 Java 源代码"}} java/data_types -.-> lab-418184{{"如何执行 Java 源代码"}} java/variables -.-> lab-418184{{"如何执行 Java 源代码"}} java/comments -.-> lab-418184{{"如何执行 Java 源代码"}} java/output -.-> lab-418184{{"如何执行 Java 源代码"}} java/classes_objects -.-> lab-418184{{"如何执行 Java 源代码"}} java/packages_api -.-> lab-418184{{"如何执行 Java 源代码"}} end

Java 基础

什么是 Java?

Java 是一种流行的面向对象编程语言,旨在尽可能减少实现依赖。它遵循 “一次编写,到处运行”(WORA)原则,这意味着编译后的 Java 代码可以在所有支持 Java 的平台上运行,无需重新编译。

Java 的关键特性

特性 描述
平台无关性 Java 字节码可以在任何安装了 Java 虚拟机(JVM)的设备上运行
面向对象 支持继承、封装和多态等关键的面向对象编程概念
强类型 需要显式声明变量类型
自动内存管理 使用垃圾回收自动管理内存

Java 开发环境

要使用 Java,你需要安装 Java 开发工具包(JDK)。在 Ubuntu 22.04 上,你可以使用以下命令安装:

sudo apt update
sudo apt install openjdk-17-jdk

Java 程序的基本结构

这是一个简单的 Java 程序示例:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Welcome to LabEx Java Programming!");
    }
}

Java 程序工作流程

graph TD A[编写 Java 源代码] --> B[编译源代码] B --> C[生成字节码] C --> D[在 Java 虚拟机上运行]

Java 命名规范

  • 类名应以大写字母开头
  • 方法名应以小写字母开头
  • 常量应全部大写
  • 包名应以小写字母命名

Java 中的数据类型

Java 支持多种基本数据类型:

数据类型 大小 描述
int 4 字节 存储整数
double 8 字节 存储浮点数
boolean 1 位 存储 true 或 false 值
char 2 字节 存储单个字符

通过理解这些基础知识,你将为使用 LabEx 学习 Java 编程打下坚实的基础。

代码编译

理解 Java 编译过程

Java 编译是一个关键步骤,它将人类可读的源代码转换为机器可执行的字节码。这个过程涉及几个关键阶段,以确保你的代码能够在任何安装了 Java 虚拟机(JVM)的平台上运行。

编译工作流程

graph TD A[Java 源代码.java] --> B[Java 编译器] B --> C[字节码.class] C --> D[Java 虚拟机]

Java 编译命令

在 Ubuntu 22.04 上,你可以使用 javac 命令编译 Java 程序:

## 基本编译
javac HelloWorld.java

## 编译并指定输出目录
javac -d./bin HelloWorld.java

## 编译多个文件
javac *.java

编译标志和选项

标志 用途 示例
-d 指定输出目录 javac -d./classes MyProgram.java
-cp 设置类路径 javac -cp./lib MyProgram.java
-source 指定 Java 版本 javac -source 11 MyProgram.java

常见编译错误

  1. 语法错误
  2. 类型不匹配
  3. 未声明的变量
  4. 缺少分号

实际编译示例

// SimpleCalculator.java
public class SimpleCalculator {
    public int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        SimpleCalculator calc = new SimpleCalculator();
        System.out.println("Result: " + calc.add(5, 3));
    }
}

在 Ubuntu 中编译此程序:

## 编译源代码
javac SimpleCalculator.java

## 运行编译后的程序
java SimpleCalculator

最佳实践

  • 始终检查编译错误
  • 使用有意义的变量和方法名
  • 遵循 Java 编码规范
  • 保持代码简洁且有条理

LabEx 编译提示

在使用 LabEx 进行 Java 编程时,请确保:

  • 使用最新的 JDK 版本
  • 保持开发环境一致
  • 定期进行编译和测试

程序执行

Java 程序执行基础

Java 程序执行涉及通过 Java 虚拟机(JVM)运行编译后的字节码,JVM 为 Java 应用程序提供运行时环境。

执行工作流程

graph TD A[编译后的.class 文件] --> B[Java 虚拟机] B --> C[字节码验证] C --> D[解释/编译] D --> E[程序输出]

运行 Java 程序

在 Ubuntu 22.04 上,你可以使用 java 命令执行 Java 程序:

## 基本执行
java 类名

## 使用类路径运行
java -cp./bin 类名

## 使用特定的 JVM 选项运行
java -Xmx512m 类名

执行方法

方法 描述 示例
直接执行 直接运行编译后的类 java HelloWorld
类路径执行 使用多个类文件运行 java -cp./lib:. MainClass
JAR 文件执行 运行打包后的应用程序 java -jar myapp.jar

实际执行示例

// UserGreeter.java
public class UserGreeter {
    public static void main(String[] args) {
        String username = args.length > 0? args[0] : "LabEx 用户";
        System.out.println("欢迎," + username + "!");
    }
}

编译并运行程序:

## 编译源代码
javac UserGreeter.java

## 无参数运行
java UserGreeter

## 使用自定义用户名运行
java UserGreeter "John Doe"

命令行参数

Java 允许将参数传递给 main 方法:

public static void main(String[] args) {
    for (String arg : args) {
        System.out.println("参数:" + arg);
    }
}

JVM 性能选项

选项 用途 示例
-Xmx 设置最大堆大小 java -Xmx512m MyApp
-Xms 设置初始堆大小 java -Xms256m MyApp
-verbose:gc 打印垃圾回收详细信息 java -verbose:gc MyApp

常见执行挑战

  1. 类未找到异常
  2. 方法未找到错误
  3. 内存不足错误
  4. Java 版本不兼容

LabEx 执行提示

在使用 LabEx 进行 Java 编程时:

  • 确保 JDK 版本一致
  • 使用适当的 JVM 设置
  • 练习错误处理
  • 优化内存使用

高级执行技术

## 远程调试
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 MyApp

## JVM 性能分析
java -XX:+PrintCompilation MyApp

总结

通过掌握编译和执行 Java 源代码的过程,开发者能够有效地将他们编写的程序转化为可运行的应用程序。本教程探讨了在不同环境中成功运行 Java 程序所需的基本步骤、工具和技术。