在java/jsp中想要得到系统信息,引入sun.management.ManagementFactory; com.sun.management.OperatingSystemMXBean; 出错。
对于com.sun.management.OperatingSystemMXBean,只要把Windows-Preferences-Java-Complicer- Errors/Warnings里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning就可以编译通过。
对于sun.management.ManagementFactory;在jdk1.7中,需要改为java.lang.management.ManagementFactory;
// 获得系统配置 Properties pro = System.getProperties(); // 获得操作系统版本 String sysVersion = pro.getProperty("os.name") + "-" + pro.getProperty("os.version"); // 获得系统架构 String sysFramework = pro.getProperty("os.arch"); // 获得java环境目录 String homePath = pro.getProperty("java.home"); // 获得javaJDK版本 String environment = pro.getProperty("java.version"); // 获得javaJVM信息 String javaJVM = pro.getProperty("java.vm.specification.name") + " " + pro.getProperty("java.vm.version"); // 获得内存信息 OperatingSystemMXBean osmb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); long totalMem = osmb.getTotalPhysicalMemorySize() / 1024 / 1024; long useMem = osmb.getFreePhysicalMemorySize() / 1024 / 1024; long haveMem = totalMem - useMem; Site s = TokenManager.getNowSite(); CommonModelAndView cmav = new CommonModelAndView(this.INDEX); cmav.addObject("sysVersion", sysVersion); cmav.addObject("sysFramework", sysFramework); cmav.addObject("javaHomePath", homePath); cmav.addObject("environment", environment); cmav.addObject("javaJVM", javaJVM); cmav.addObject("totalMem", totalMem + "MB"); cmav.addObject("useMem", useMem + "MB"); cmav.addObject("haveMem", haveMem + "MB"); cmav.addObject("nowSite",s); return cmav; }