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

news2024/12/25 23:46:21

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 应用中,RuntimeProperties 被更高级的工具和技术所替代

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

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

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


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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124211.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入研究基于多层卷积和全连接网络结构的数据处理与特征提取方法

1 问题 卷积层的输入输出的shape的计算公式探究多个卷积层加上多个全连接层的输出方法 2 方法 卷积层的输入输出的shape的计算公式:输出形状的计算公式:输出高度 (输入高度 - 卷积核高度 2 * 填充) / 步长 1输出宽度 (输入宽度 - 卷积核宽度 2 * 填…

一码空传临时网盘PHP源码,支持提取码功能

源码介绍 一码空传临时网盘源码V2.0免费授权,该源码提供了一个简单易用的无数据库版临时网盘解决方案。前端采用了layui开发框架,后端使用原生PHP编写,没有引入任何开发框架,保持了代码的简洁和高效。 这个程序使用了一个无数据…

设计模式 装饰模式(Decorator Pattern)

装饰器模式简绍 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 装饰器模式的基本结构 装饰器模式的基本结构如下&…

【数据管理】DAMA-数据安全

目录 1、概述 2、数据安全要求来源 3、业务驱动因素 4、目标和原则 5、脆弱性、威胁、风险 6、风险分类 7、安全过程 8、数据完整性 9、混淆或脱敏 10、数据安全类型 11、数据安全制约因素 12、系统安全风险 13、工具 1、概述 数据安全包括安全策略和过程的规划、…

无人机动力系统设计之电调芯片参数选型

无人机动力系统设计之电调芯片参数选型 1. 源由2. 关键因素2.1 电压范围2.2 电流处理能力2.3 控制方式2.4 PWM输出与分辨率2.5 通讯接口2.6 保护功能2.7 支持霍尔传感器与无传感器模式2.8 集成度与外围器件2.9 效率与散热2.10 市场供应与成本 3. 因素阐述3.1 PWM工作频率3.1.1 …

二次规划及其MATLAB实现

引言 二次规划(Quadratic Programming, QP)是一类重要的优化问题,其目标函数为二次函数,约束条件为线性不等式或等式。二次规划问题在工程、经济、金融等领域有广泛应用,如投资组合优化、人脸表情动画的权重求解、机械…

UE中如何制作后处理设置面板

1)UE中如何制作后处理设置面板 2)Magica Clothes 2插件与Burst编译问题 3)UI大小和文本变量 4)如何检索直线与网格的所有交点 这是第399篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社…

tabBar设置底部菜单选项以及iconfont图标,setTabBar设置TabBar和下拉刷新API

tabBartabBar属性:设置底部 tab 的表现 ​ ​ ​ ​ 首先在pages.json页面写一个tabBar对象,里面放入list对象数组,里面至少要有2个、最多5个 tab, 如果只有一个tab的话,H5(浏览器)依然可以显示底部有一个导航栏,如果没有,需要重启后才有,小程序则报错,只有2个以上才可以…

51单片机-蜂鸣器介绍-1

作者:王开心 时间:2024.9.11 目的:学习51进阶中。。。 蜂鸣器是一种一体化结构的电子讯响器, 采用直流电压供电, 广泛应用于计算机、 打印机、 复印机、 报警器、 电子玩具、 汽车电子设备、 电话机、 定时器等电子…

数学 |x-2| + 2|x-5| = 12 ,那么x = ?

1、先上图,问了一下AI,这AI的节奏是不认识这个。 2、这个题的解题思路:如何去掉绝对值符号,让这个题看上去正常一些,然后就可以解。 |x-2| 这个代表,x到2的距离。|x-5| 这个代表,x到5的距离。 …

基于SSM的“高校就业管理系统”的设计与实现(源码+数据库+文档)

基于SSM的“高校就业管理系统”的设计与实现(源码数据库文档) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 首界面 后台首页 各管理功能 摘要 本论文主要讲述了基于SSM框…

移动UI案例:交通旅行类整套案例

1. 地图导航: 提供地图展示、路线规划、实时导航等功能,帮助用户找到目的地并提供最佳路线。 2. 公交线路查询: 提供公交车站信息、线路查询、实时公交到站信息等功能,方便用户使用公共交通工具。 3. 实时交通信息:…

0基础跟德姆(dom)一起学AI Python进阶10-算法和数据结构

* 自定义代码-模拟链表 * 删除节点 * 查找节点 * 算法入门-排序类的 * 冒泡排序 * 选择排序 * 插入排序 * 快速排序 * 算法入门-查找类的 * 二分查找-递归版 * 二分查找-非递归版 * 分线性结构-树介绍 * 基本概述 * 特点和分类 * 自定义代码-模拟二叉树 …

windows下关闭解除占用端口的进程

环境:windows 10 场景:启动某一应用程序时,提示其他应用已占用此端口,比如端口2425。 解决步骤: 1/3、打开windows的命令提示符,输入以下命令,查找占用此端口2425的PID号: # win…

winpe是什么意思_winpe制作详细图文教程

有些小白很好奇,winpe是什么意思?所谓的winpe系统其实就是当我们的电脑出现问题而不能进入正常系统时候的一种“紧急备用”系统。如果需要重装操作系统的话,以往采用光盘使用的比较多,随着技术的进步,用u盘制作一个winpe去安装系…

中国(分31省、分196个国家地区、分19个行业)对外直接投资存量及流量(2003-2022年)

2003-2022年中国(分31省、分196个国家地区、分19个行业)对外直接投资存量及流量_分行业资本存量数据资源-CSDN文库https://download.csdn.net/download/2401_84585615/89475600 相关数据 中国(31省)对外非金融类直接投资存量及流…

【C语言 vs C++:编译过程详解与对比】

C语言 vs C:编译过程详解与对比 对于初学编程的人来说,C语言和C语言的编译过程有着很多相似之处,但它们也有显著的区别。本文将带你详细了解C和C编译的整个流程,并对比两者的主要不同点。 1. C 和 C 的编译过程简介 在现代编程中…

网络操作系统项目

部署与管理Active Directory 项目基础知识 活动目录是一种由微软开发的网络服务,用于在网络环境中管理和组织用户、计算机和其他网络资源。它是基于目录服务的概念,类似于电话号码簿。 活动目录主要用于集中管理网络中的用户帐户、组织单位、计算机、打…

在 openEuler 系统中,设置补全功能可以提高命令行操作的效率。

目录 1.在 openEuler 系统中,设置补全功能可以提高命令行操作的效率。你可以通过以下步骤设置命令行补全功能 安装 Bash 补全工具 启用 Bash 补全 保存并关闭文件后,重新加载配置: 🌐 无论你是初学者还是经验丰富的专家&#x…

如何从损坏的 Mac 或外部驱动器恢复数据

告诉人们要备份是件好事。但人性意味着,寻求备份建议通常是在最坏的情况已经发生之后才会发生。希望您能够按照我们的建议修复损坏的驱动器并恢复数据,但我们还将介绍您需要了解的有关没有备份而崩溃的信息以及如何从损坏的硬盘或外部驱动器中恢复数据。…