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

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"));

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值