您的位置:首页 > 编程语言 > Java开发

Java获取电脑CPU个数及系统信息

2016-09-28 16:55 120 查看


FROM:http://bingoffice.blog.163.com/blog/static/17403510420115109343883/

Runtime 类:

每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接。应用程序不能创建自己的 Runtime 类实例,可以通过getRuntime()方法获取当前运行时。 

Properties 类:

Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。list(PrintStream out)或者list(PrintWriter out)方法将属性列表输出到指定的输出流。

System 类:

System 类包含一些有用的类字段和方法。它不能被实例化。在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。getProperties()方法确定当前的系统属性。

import java.util.Properties;//导入Properties类

public class SystemInfo{

 public static void main(String args[]){

  Properties p=System.getProperties();//获取当前的系统属性

  p.list(System.out);//将属性列表输出

  System.out.print("CPU个数:");//Runtime.getRuntime()获取当前运行时的实例

  System.out.println(Runtime.getRuntime().availableProcessors());//availableProcessors()获取当前电脑CPU数量

  System.out.print("虚拟机内存总量:");

  System.out.println(Runtime.getRuntime().totalMemory());//totalMemory()获取java虚拟机中的内存总量

  System.out.print("虚拟机空闲内存量:");

  System.out.println(Runtime.getRuntime().freeMemory());//freeMemory()获取java虚拟机中的空闲内存量

  System.out.print("虚拟机使用最大内存量:");

  System.out.println(Runtime.getRuntime().maxMemory());//maxMemory()获取java虚拟机试图使用的最大内存量

 }

}

方法简单实用,虽然不是经常用,但是还是有必要去了解一下,因为不可能每次遇到不会的都拿出字典来查阅。但搞开放最重要的是拿到资料会运用,我们也不可能把所有的类、方法和属性等全部记住,所以要会看API和应用。

在本例中,我们要获取系统信息,要用到Properties类,首先要创建一个Properties对象,然后通过System类的getProperties()方法获取当前系统的信息。然后把获取到的系统属性交给Properties对象,该对象保存着系统信息的集合。最后由Properties类的list方法,把信息输出。Runtime类的几个方法可以相应的获取其他的信息。只要我们熟悉这些方法,自然能应用。

下面将介绍System.getProperty 系统参数:

Properties props=System.getProperties(); //系统属性 

System.out.println("Java的运行环境版本:"+props.getProperty("java.version")); 

System.out.println("Java的运行环境供应商:"+props.getProperty("java.vendor")); 

System.out.println("Java供应商的URL:"+props.getProperty("java.vendor.url")); 

System.out.println("Java的安装路径:"+props.getProperty("java.home")); 

System.out.println("Java的虚拟机规范版本:"+props.getProperty("java.vm.specification.version")); 

System.out.println("Java的虚拟机规范供应商:"+props.getProperty("java.vm.specification.vendor")); 

System.out.println("Java的虚拟机规范名称:"+props.getProperty("java.vm.specification.name")); 

System.out.println("Java的虚拟机实现版本:"+props.getProperty("java.vm.version")); 

System.out.println("Java的虚拟机实现供应商:"+props.getProperty("java.vm.vendor")); 

System.out.println("Java的虚拟机实现名称:"+props.getProperty("java.vm.name")); 

System.out.println("Java运行时环境规范版本:"+props.getProperty("java.specification.version")); 

System.out.println("Java运行时环境规范供应商:"+props.getProperty("java.specification.vender")); 

System.out.println("Java运行时环境规范名称:"+props.getProperty("java.specification.name")); 

System.out.println("Java的类格式版本号:"+props.getProperty("java.class.version")); 

System.out.println("Java的类路径:"+props.getProperty("java.class.path")); 

System.out.println("加载库时搜索的路径列表:"+props.getProperty("java.library.path")); 

System.out.println("默认的临时文件路径:"+props.getProperty("java.io.tmpdir")); 

System.out.println("一个或多个扩展目录的路径:"+props.getProperty("java.ext.dirs")); 
System.out.println("操作系统的名称:"+props.getProperty("os.name")); 

System.out.println("操作系统的构架:"+props.getProperty("os.arch")); 

System.out.println("操作系统的版本:"+props.getProperty("os.version")); 

System.out.println("文件分隔符:"+props.getProperty("file.separator"));   //在 unix 系统中是"/" 

System.out.println("路径分隔符:"+props.getProperty("path.separator"));   //在 unix 系统中是":" 

System.out.println("行分隔符:"+props.getProperty("line.separator"));   //在 unix 系统中是"/n" 

System.out.println("用户的账户名称:"+props.getProperty("user.name")); 

System.out.println("用户的主目录:"+props.getProperty("user.home")); 

System.out.println("用户的当前工作目录:"+props.getProperty("user.dir"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐