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

Java系列文章目录
补充内容 Windows通过SSH连接Linux
第一章 Linux基本命令的学习与Linux历史
文章目录
- Java系列文章目录
- 一、前言
- 二、学习内容:
- 三、问题描述
- 四、解决方案:
- 4.1 代码
- 4.2 运行结果
- 五、总结:
一、前言
- 这些都被淘汰比较少用了,可能就看看系统信息还有点用,所以只是解一下历史看看即可
二、学习内容:
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
应用中,Runtime
和 Properties
被更高级的工具和技术所替代
了解一下历史,他们已经被替代了太具体的就没必要深入了解了
- Runtime 类 在执行简单外部命令和获取系统信息方面仍然有用。
- Properties 类 在简单的配置管理和向后兼容性方面仍然有用。
- Spring Boot 提供了更高级的工具和技术,如 Configuration Properties、YAML/JSON配置、Spring Actuator 等,更适合现代应用的需求。
(后续有遇到问题再添加)
声明:如本内容中存在错误或不准确之处,欢迎指正。转载时请注明原作者信息(麻辣香蝈蝈)。