当前位置: 首页 > 面试题库 >

Java 获取操作系统级别的系统信息

公良骁
2023-03-14
问题内容

我目前正在构建一个Java应用程序,该应用程序最终可能在许多不同的平台上运行,但主要是Solaris,Linux和Windows的变体。

是否有人能够成功提取信息,例如当前使用的磁盘空间,CPU利用率和底层操作系统中使用的内存?Java应用程序本身正在消耗什么呢?

最好我不使用JNI来获取此信息。


问题答案:

你可以从Runtime类中获取一些有限的内存信息。确实不是你要找的东西,但我想为完整起见会提供它。这是一个小例子。编辑:你还可以从java.io.File类获取磁盘使用情况信息。磁盘空间使用情况需要Java 1.6或更高版本。

public class Main {
  public static void main(String[] args) {
    /* Total number of processors or cores available to the JVM */
    System.out.println("Available processors (cores): " + 
        Runtime.getRuntime().availableProcessors());

    /* Total amount of free memory available to the JVM */
    System.out.println("Free memory (bytes): " + 
        Runtime.getRuntime().freeMemory());

    /* This will return Long.MAX_VALUE if there is no preset limit */
    long maxMemory = Runtime.getRuntime().maxMemory();
    /* Maximum amount of memory the JVM will attempt to use */
    System.out.println("Maximum memory (bytes): " + 
        (maxMemory == Long.MAX_VALUE ? "no limit" : maxMemory));

    /* Total memory currently available to the JVM */
    System.out.println("Total memory available to JVM (bytes): " + 
        Runtime.getRuntime().totalMemory());

    /* Get a list of all filesystem roots on this system */
    File[] roots = File.listRoots();

    /* For each filesystem root, print some info */
    for (File root : roots) {
      System.out.println("File system root: " + root.getAbsolutePath());
      System.out.println("Total space (bytes): " + root.getTotalSpace());
      System.out.println("Free space (bytes): " + root.getFreeSpace());
      System.out.println("Usable space (bytes): " + root.getUsableSpace());
    }
  }
}


 类似资料:
  • 问题内容: 我还无法找出如何使用PHP进行操作,并想尝试找出答案。 我注意到他们列出了,其中提供了有关浏览器的大量信息。他们是从中获取操作系统信息还是从别的东西获取操作系统信息?有没有我可以用来获取用户操作系统的API? 我知道他们是如何获得浏览器和IP的,但无法弄清操作系统部分! 问题答案: 下面的代码可以单独说明如何显示某人正在使用哪个操作系统。 它的作用是嗅探您的核心操作系统模型,例如作为我

  • sed sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的

  • 操作系统提供的服务 操作系统的五大功能,分别为:作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理 中断 所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类: 内部异常中断:由计算机硬件异常或故障引起的中断; 软中断:由程序中执行了引起中断的指令而造成

  • 本文向大家介绍Java获取当前操作系统的信息实例代码,包括了Java获取当前操作系统的信息实例代码的使用技巧和注意事项,需要的朋友参考一下 主流有几种方法,一种是用下面的函数 publicstaticStringgetProperty(Stringkey) 键 相关值的描述 java.version java.version Java 运行时环境版本 java.vendor java.vendor

  • 本文向大家介绍Python脚本获取操作系统版本信息,包括了Python脚本获取操作系统版本信息的使用技巧和注意事项,需要的朋友参考一下 查看系统版本信息是一件家常便饭的事情,有时候需要将版本信息录入到资产管理系统中,如果每次手动的去查询这些信息再录入系统那么是一件令人呢头疼的事情,如果采用脚本去完成这件事情,那么情况就有所不同了。 在Python的世界里,获取Windows版本信息和Linux的版

  • 本文向大家介绍利用Python获取操作系统信息实例,包括了利用Python获取操作系统信息实例的使用技巧和注意事项,需要的朋友参考一下 前言 每一位运维人员都应该对自己所管理的机器配置很清楚,因为这对我们快速处理问题很有帮助,比如随着业务增长,突然某些机器负载上涨的厉害,这时候要排查原因,除了从应用程序、架构上分析外,当前硬件性能的分析应该是必不可少的一环,今天我们将不用第三方模块,用python