熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java獲得內存使用,磁盤情況

2013-11-23 19:34:46  來源: Java核心技術 

  import javaioFile;

  /**

  *

  * jdk下的磁盤使用情況例子

  */

  public class Diskfree {

  public static void main(String[] args) {

  File[] roots = FilelistRoots();//獲取磁盤分區列表

  for (File file : roots) {

  Systemoutprintln(filegetPath()+信息如下:);

  Systemoutprintln(空閒未使用 = + filegetFreeSpace()///+G);//空閒空間

  Systemoutprintln(已經使用 = + filegetUsableSpace()///+G);//可用空間

  Systemoutprintln(總容量 = + filegetTotalSpace()///+G);//總空間

  Systemoutprintln();

  }

  }

  }

  java獲得當前系統內存情況的代碼如下

  Java code

  import javalangmanagementManagementFactory;

  import comsunmanagementOperatingSystemMXBean;

  public class OSTest {

  public static void main(String[] args)

  {

  OperatingSystemMXBean osmb = (OperatingSystemMXBean) ManagementFactorygetOperatingSystemMXBean();

  Systemoutprintln(系統物理內存總計 + osmbgetTotalPhysicalMemorySize() / / + MB);

  Systemoutprintln(系統物理可用內存總計 + osmbgetFreePhysicalMemorySize() / / + MB);    }

  }

  ManagementFactorygetOperatingSystemMXBean()返回的是javalangmanagement裡面的OperatingSystemMXBean

  我們要用的是comsunmanagementOperatingSystemMXBean;

  在java類庫中可以查到

  public abstract Interface comsunmanagementOperatingSystemMXBean extends javalangmanagementOperatingSystemMXBean

  所以我們可以強制轉換一下

  想得到磁盤使用情況的話可以看樓的例子要得到系統信息的話使用SystemgetProperty(String key);

  方法

   內存使用可以使用RuntimegetRuntime()getTotalMemory() RuntimegetRuntime()getFreeMemory()

   純JAVA是不能同操作系統打交到得比如你要看CPU使用率一般就是使用JNI技術(一些簡單得系統熟悉可以通過SystemgetProperties()獲得)

   JNI技術涉及到不同操作系統提供得API我只知道Windows下得API好像是NT開頭得一個函數用於查看系統信息包括CPU使用率


From:http://tw.wingwit.com/Article/program/Java/hx/201311/27126.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.