java

位置:IT落伍者 >> java >> 浏览文章

Java获得内存使用,磁盘情况


发布日期:2020年02月15日
 
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使用率

               

上一篇:java如何创建jar文件

下一篇:Flex Socket与Java通讯客户端写法