如何使用Java获取Ram大小和硬盘大小?
如何使用Java获取PC的Ram大小和硬盘大小?是否可以通过java在PC上获取当前登录的用户名?磁盘大小:如何使用Java获取Ram大小和硬盘大小?,java,Java,如何使用Java获取PC的Ram大小和硬盘大小?是否可以通过java在PC上获取当前登录的用户名?磁盘大小: long diskSize = new File("/").getTotalSpace(); 用户名: String userName = System.getProperty("user.name"); 我不知道用Java来确定系统内存总量的可靠方法。在Unix系统上,您可以解析/proc/meminfo。当然,您可以找到JVM可用的最大内存: long maxMemory = R
long diskSize = new File("/").getTotalSpace();
用户名:
String userName = System.getProperty("user.name");
我不知道用Java来确定系统内存总量的可靠方法。在Unix系统上,您可以解析/proc/meminfo
。当然,您可以找到JVM可用的最大内存:
long maxMemory = Runtime.getRuntime().maxMemory();
编辑:为完整起见(感谢Suresh S),这里有一种仅使用Oracle JVM获取总内存的方法:
long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory
.getOperatingSystemMXBean()).getTotalPhysicalMemorySize();
请看一下,它详细介绍了如何获取这样的操作系统信息。如果您使用的是java 1.5 java.lang.management包
com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(mxbean.getTotalPhysicalMemorySize() + " Bytes ");
相关:+1不知道这一点,但值得注意的是,这是针对Oracle JVM的。我发现这对于审计目的非常有用(例如,记录谁做了什么,例如,我将其传递到RMI调用),但它不是非常安全。“仅Oracle JVM”是不正确的,从JDK 1.8开始,这是一种JDK。导出类型,请参阅磁盘大小是指驱动器大小,而不是,物理磁盘。
import java.lang.management.*;
import java.io.*;
class max
{
public static void main(String... a)
{
long diskSize = new File("/").getTotalSpace();
String userName = System.getProperty("user.name");
long maxMemory = Runtime.getRuntime().maxMemory();
long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean()).getTotalPhysicalMemorySize();
System.out.println("Size of C:="+diskSize+" Bytes");
System.out.println("User Name="+userName);
System.out.println("RAM Size="+memorySize+" Bytes");
}
}