【Java】Runtime与Properties获取系统信息

Java系列文章目录

补充内容 Windows通过SSH连接Linux
第一章 Linux基本命令的学习与Linux历史


一、前言

  • 这些都被淘汰比较少用了,可能就看看系统信息还有点用,所以只是解一下历史看看即可

二、学习内容:

  • Runtime 类 主要用于与 JVM 运行时环境交互,执行外部命令、获取系统信息等。适用于需要与操作系统进行交互的场景,如执行脚本、监控系统资源等。
  • Properties 类主要用于管理配置信息,适合用于读取和存储配置文件。适用于需要存储键值对形式的配置信息的场景,如数据库连接信息、国际化资源等。

三、问题描述

  • 这个技术很少用了,只是看看他们的操作

四、解决方案:

4.1 代码

  • 使用方法如下

现在已经有很多框架和其他方法使用更方便了,比方说使用Properties进行配置已经被淘汰了

import java.io.IOException;

public class Main {
    /**
     * 程序的入口点
     * @param args 命令行参数
     */
    public static void main(String[] args) {
        // 输出当前时间戳
        System.out.println(System.currentTimeMillis());

        // 分隔线,用于区分输出内容
        System.out.println("=================================");
        // 输出系统属性信息
        System.out.println("系统属性:");
        System.out.println("操作系统名称: " + System.getProperty("os.name"));
        System.out.println("操作系统版本: " + System.getProperty("os.version"));
        System.out.println("操作系统架构: " + System.getProperty("os.arch"));
        System.out.println("用户名: " + System.getProperty("user.name"));
        System.out.println("当前工作目录: " + System.getProperty("user.dir"));

        // 分隔线,用于区分输出内容
        System.out.println("=================================");

        // 获取运行时环境
        Runtime runtime = Runtime.getRuntime();
        // 输出运行时环境信息
        System.out.println("处理器数量: " + runtime.availableProcessors());
        System.out.println("可用内存: " + runtime.freeMemory());
        System.out.println("总内存: " + runtime.totalMemory());
        System.out.println("最大内存: " + runtime.maxMemory());

        try {
            // 执行外部命令,这里以打开记事本为例
            Process process = runtime.exec("notepad.exe");

            // 等待进程执行完毕
            int exitCode = process.waitFor();
            // 输出进程执行结果
            System.out.println("进程退出码: " + exitCode);

            // 关闭进程
            process.destroy();
        } catch (IOException e) {
            // 处理执行外部命令异常
            System.err.println("执行外部命令失败: " + e.getMessage());
        } catch (InterruptedException e) {
            // 处理线程中断异常
            Thread.currentThread().interrupt();
            System.err.println("进程等待被中断: " + e.getMessage());
        }
    }
}

4.2 运行结果

本机状态如图

在这里插入图片描述


五、总结:

在现代 Spring 应用中,RuntimeProperties 被更高级的工具和技术所替代

了解一下历史,他们已经被替代了太具体的就没必要深入了解了

  • Runtime 类 在执行简单外部命令和获取系统信息方面仍然有用。
  • Properties 类 在简单的配置管理和向后兼容性方面仍然有用。
  • Spring Boot 提供了更高级的工具和技术,如 Configuration Properties、YAML/JSON配置、Spring Actuator 等,更适合现代应用的需求。

(后续有遇到问题再添加)


声明:如本内容中存在错误或不准确之处,欢迎指正。转载时请注明原作者信息(麻辣香蝈蝈)。

在这里插入图片描述

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值