当前位置: 代码迷 >> Java相关 >> Eclipse中osmxb包下没getTotalPhysicalMemorySize()与getTotalPhysicalMemorySize()方法
  详细解决方案

Eclipse中osmxb包下没getTotalPhysicalMemorySize()与getTotalPhysicalMemorySize()方法

热度:1267   发布时间:2016-04-22 20:59:07.0
Eclipse中osmxb包下没有getTotalPhysicalMemorySize()与getTotalPhysicalMemorySize()方法。
当前软件版本信息:Eclipse4.4,tomcat8.8,JDK8u20
Eclipse中OperatingSystemMXBean包,没有getTotalPhysicalMemorySize()与getTotalPhysicalMemorySize()方法。

代码如下:
OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
String osName=System.getProperty("os.name");
long totalMemorySize = osmxb.getTotalPhysicalMemorySize() / kb;
long freePhysicalMemorySize=osmxb.getSystemLoadAverage()/kb;
没有这2个方法,只有getAvailableProcessors()与getSystemLoadAverage()方法。

求大神帮忙解决,是需要添加包吗,还是不支持需要使用其他方法?
------解决方案--------------------
有的,在JDK的rt.jar这个包中
import sun.management.ManagementFactory;

import com.sun.management.OperatingSystemMXBean; 

public class Test1 {

public static void main(String args[]){
OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory  
                .getOperatingSystemMXBean();  
long totalMemorySize = osmxb.getTotalPhysicalMemorySize();
long freePhysicalMemorySize=(long) osmxb.getSystemLoadAverage();
System.out.println("totalMemorySize="+totalMemorySize);
System.out.println("freePhysicalMemorySize="+freePhysicalMemorySize);
}
}

------解决方案--------------------
你新建项目的时候JRE指定为JavaSE-1.X就行了。
------解决方案--------------------
引用:
我指定的是JAVASE-1.8,但是导包时不会去访问jdk8/jre/lib/rt.jar包,回去访问jre8/lib/rt.jar包。前者为62M,后者为50M。不手动引入前者就不能导入OperatingSystemMXBean。

在Eclipse设置过jre就应该可以了,这样每次新建项目jre默认就是你设置的那个
------解决方案--------------------
引用:
有设置具体位置的方法吗?不是那种选择JAVASE-1.X版本,而是手动设置jre路径。

windows->Preferences->installed jres->add……
  相关解决方案