——- android培训、java培训、期待与您交流! ———-
System类
我的学习印象
这个类是在4月22日开始学习的,我当时只是看了一遍,
觉得能看懂就没急着去写一个Demo。
今天2015/5/11 11:52我在写Demo之前先回忆一下。
System类是java.lang包下的一个子类.
system类是一个不能被实例化的类,它所有的字段和方法都是被static修饰的,
所以使用system类中的字段和方法时必须使用system.字段或者system.方法的形式调用.
与system类类似的有collections类.arrays类.
我所记得的system类中一些常用的字段和方法.
字段
system.out
system.in
方法
getProperty()获取系统属性中的一个
getProperties()获取Jvm加载的所有系统属性,以键值对的形式出现.
system.exit(0)借书处程序,退出虚拟机
gc()垃圾回收
我不记得的但是又非常常用的一些方法
arraycopy()数组拷贝
long cunrrentTimeMillis()返回long型的以毫秒为单位的当前时间
String getenv()获取指定的环境变量
setProperties()将系统属性设置为 Properties 参数。
setProperty()设置自定义系统属性
演示代码
下面演示一下常用的方法
import java.util.*;
public class SystemDemo
{
public static void main(String[] args)
{
//主函数线程开始时间
long startTime = System.currentTimeMillis();
System.out.println("程序开始时间:"+startTime);
//获取系统所有属性
Properties props = System.getProperties();
//System.out.println(props);//打印所有系统属性--打印结果可读性差
//props.list(System.out);//以键值对的形式打印所有系统属性,可读性好
//for(Map.Entry me : props.entrySet())
//{
////因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。
////那么可以通过map的方法取出该集合中的元素。
////该集合中存储都是字符串。没有泛型定义。
//String key = (String)me.getKey();
//String value = (String)me.getValue();
//System.out.println(key+"="+value);
//}
//获取指定属性
String javaVersion = System.getProperty("java.version");
System.out.println("Java Version:"+javaVersion);
//设置自定义系统属性
System.setProperty("myProperty","myValue");
//获取自定义系统属性
System.out.println(System.getProperty("myProperty"));
//在java虚拟机启动的时候,动态加载一些属性信息
//Eg:java -Dhehe=hengheng SystemDemo
String v = System.getProperty("hehe");
System.out.println("v="+v);
//getenv()返回一个不能修改的当前系统环境的字符串映射视图。
Map<String,String> map = System.getenv();
for(Iterator<String> iter = map.keySet().iterator(); iter.hasNext(); )
{
String key = iter.next();
String value = map.get(key);
System.out.println(key+"="+value);
}
//主函数线程结束时间
long endTime = System.currentTimeMillis();
System.out.println("程序结束时间:"+endTime);
//程序运行时间
long time = endTime-startTime;
System.out.println(time+"毫秒");
}
}