java 获取系统信息(CPU,内存,硬盘,进程)的相关方法 一、这是一个获取相关信息的简单的方法 import java.io.*; import com.sun.management.OperatingSystemMXBean; import sun.management.ManagementFactory; public class Tst{ public static String pt="D:\\abc.txt"; public Tst(){ } public static void main(String[] args) throws Exception{ //free 和 use 和 total 均为 KB long free=0; long use=0; long total=0; int kb=1024; Runtime rt=Runtime.getRuntime(); total=rt.totalMemory(); free=rt.freeMemory(); use=total-free; System.out.println("系统内存已用的空间为:"+use/kb+" MB"); System.out.println("系统内存的空闲空间为:"+free/kb+" MB"); System.out.println("系统总内存空间为:"+total/kb+" MB"); OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); long physicalFree=osmxb.getFreePhysicalMemorySize()/kb; long physicalTotal=osmxb.getTotalPhysicalMemorySize()/kb; long physicalUse=physicalTotal-physicalFree; String os=System.getProperty("os.name"); System.out.println("操作系统的版本:"+os); System.out.println("系统物理内存已用的空间为:"+physicalFree+" MB"); System.out.println("系统物理内存的空闲空间为:"+physicalUse+" MB"); System.out.println("总物理内存:"+physicalTotal+" MB"); // 获得线程总数 ThreadGroup parentThread; for (parentThread = Thread.currentThread().getThreadGroup(); parentThread .getParent() != null; parentThread = parentThread.getParent()) ; int totalThread = parentThread.activeCount(); System.out.println("获得线程总数:"+totalThread); } } 二,别的方法技巧 1.利用jdk 自带的API 获取信息:(只支持jdk1.60 以上的版本啊) import java.io.InputStreamReader; import java.io.LineNumberReader; import java.util.ArrayList; import java.util.List; import mytools.com.sun.management.OperatingSystemMXBean; import mytools.java.io.File; import mytools.java.lang.management.ManagementFactory; /** * 获取windows 系统信息(CPU,内存,文件系统...