Java入门:从编写到运行第一步

Java 入门及运行方式详解

一、Java 入门基础

1.1 环境搭建

  • 下载并安装 JDK(推荐 JDK 8 或更高版本)。
  • 配置环境变量 JAVA_HOMEPATH

1.2 第一个 Java 程序

java 复制代码
// HelloWorld.java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
  • 编译:javac HelloWorld.java
  • 运行:java HelloWorld

1.3 基本语法

概念 示例
变量 int age = 25;
条件语句 if (age > 18) { ... }
循环 for (int i = 0; i < 5; i++) { ... }
方法 public void greet() { ... }

二、Java 代码的运行方式

2.1 使用命令行运行 Java 程序

步骤:

  1. 编写 Java 代码

    创建一个名为 HelloWorld.java 的文件,内容如下:

    java 复制代码
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, World!");
        }
    }
  2. 编译 Java 文件

    在命令行中执行以下命令:

    bash 复制代码
    javac HelloWorld.java

    如果没有错误,会生成一个 HelloWorld.class 文件。

  3. 运行编译后的 Java 文件

    执行以下命令:

    bash 复制代码
    java HelloWorld

    输出结果为:

    复制代码
    Hello, World!

注意事项:

  • javac 是 Java 编译器,用于将 .java 文件编译为 .class 文件。
  • java 是 Java 虚拟机,用于运行编译后的 .class 文件。
  • 类名必须与文件名一致(例如:HelloWorld.java 对应 HelloWorld 类)。

2.2 使用 IDE 运行 Java 程序

以 IntelliJ IDEA 为例:

  1. 打开 IntelliJ IDEA,新建一个 Java 项目。
  2. 新建一个类 HelloWorld,并将代码粘贴进去。
  3. 右键点击类名 → 选择 Run 'HelloWorld.main()' 即可运行。

三、定时发送请求案例的运行说明

3.1 完整代码示例

java 复制代码
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import java.io.IOException;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class ScheduledHttpRequest {

    // 发送 GET 请求的方法
    public static void sendGetRequest(String url) {
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            HttpGet request = new HttpGet(url);
            try (CloseableHttpResponse response = httpClient.execute(request)) {
                HttpEntity entity = response.getEntity();
                if (entity != null) {
                    String result = EntityUtils.toString(entity);
                    System.out.println("Response: " + result);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    // 定时任务执行方法
    public static void scheduleTask(String url, long delay, long period, TimeUnit timeUnit) {
        ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
        scheduler.scheduleAtFixedRate(() -> sendGetRequest(url), delay, period, timeUnit);
    }

    public static void main(String[] args) {
        String targetUrl = "https://example.com/api/data"; // 替换为实际 URL
        scheduleTask(targetUrl, 0, 5, TimeUnit.SECONDS); // 每 5 秒发送一次请求
    }
}

3.2 运行步骤

方法一:使用命令行(JDK + Maven)

  1. 添加 Maven 依赖(可选)

    创建 pom.xml 文件,并添加以下内容:

    xml 复制代码
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.example</groupId>
        <artifactId>scheduled-http-request</artifactId>
        <version>1.0-SNAPSHOT</version>
        <dependencies>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.13</version>
            </dependency>
        </dependencies>
    </project>
  2. 编译项目

    执行以下命令进行编译:

    bash 复制代码
    mvn clean compile
  3. 运行程序

    使用以下命令运行程序:

    bash 复制代码
    mvn exec:java -Dexec.mainClass="ScheduledHttpRequest"

    或者直接使用 JDK 命令运行(不使用 Maven):

    bash 复制代码
    javac -cp .:./lib/httpclient-4.5.13.jar ScheduledHttpRequest.java
    java -cp .:./lib/httpclient-4.5.13.jar ScheduledHttpRequest

    注意:./lib/httpclient-4.5.13.jar 是你下载的 Apache HttpClient 的 JAR 文件路径,需要提前下载并放在指定目录。

方法二:使用 IDE(如 IntelliJ IDEA)

  1. 打开 IntelliJ IDEA,新建一个 Java 项目。
  2. 新建一个类 ScheduledHttpRequest,并将代码粘贴进去。
  3. 右键点击类名 → 选择 Run 'ScheduledHttpRequest.main()' 即可运行。

3.3 运行结果说明

当你运行程序后,控制台会输出类似以下信息:

复制代码
Response: {"data": "example data", "status": "success"}
Response: {"data": "example data", "status": "success"}
...

这表示程序正在每 5 秒向指定 URL 发送一次 GET 请求,并打印返回结果。


3.4 注意事项

  • URL 地址 :请确保 targetUrl 是一个有效的 API 接口地址,否则可能会出现错误。
  • 网络权限:如果目标 URL 需要认证或访问受限,请在请求中添加相应的 Header。
  • 异常处理:当前示例中对异常进行了简单打印,实际生产环境中建议记录日志或进行重试机制。
  • 线程管理 :定时任务使用了 ScheduledExecutorService,建议在程序退出时关闭线程池以避免资源泄漏。

参考来源

相关推荐
liangshanbo12151 小时前
Nginx 进程管理命令深度面试题解析
java·nginx·面试
Mr. zhihao1 小时前
死锁排查实战:JVM 唯一会“自动报案“的问题(场景 B5)
java·jvm·gc
LINgZone21 小时前
后端Java编码规范
java·开发语言
weixin_399380692 小时前
TongWeb7.0.4.9M11一键安装脚本(by sy)
java·spring
CallFay云起未来2 小时前
AI客服能不能减少人工回复?从重复咨询到人机协同的落地分析
java·大数据·人工智能·文心一言
我命由我123453 小时前
Android 开发 - 获取当前设备屏幕的旋转角度
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
Elastic 中国社区官方博客3 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch
京东云开发者3 小时前
上游给空、下游拿到 -1,我把故障一直追到了 commons-beanutils 的构造函数
java·ai编程
阿无,3 小时前
Java多线程面试题之AQS
java·开发语言