一、system类

System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。


1.1、成员变量


System类内部包含inouterr三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。

注:sysetm类中的属性和方法都是静态的。


例如:

System.out.print("hello world!");

该行代码的作用是将字符串”hello world”输出到系统的标准输出设备上,也就是显示在屏幕上。


1.2、成员方法

System类中提供了一些系统级的操作方法,这些方法实现的功能分别如下:


(1)、getProperties()方法

该方法是确定当前的系统属性。

使用示例:

class SystemDemo
{
	public static void main(String[] args)
	{
		Properties prop = System.getProperties();
		
		//因为properties是Hashtable的子类,也就是Map集合的一个子类对象
		//那么可以通过Map的方法取出该集合中的元素
                //该集合中存的都是字符串,没有泛型定义
		for(Object obj:pro.keySet())
		{
			String value = (String)prop.get(obj);

			System.out.println(obj+"::"+value);
		}
	}
}

会获得虚拟机在加载时所有获得的默认的属性信息。


(2)、setProperty()方法

该方法可以设置指定键指示的系统属性。

使用示例:

System.setProperyt("mykey","myvalue"); //可以随时修改


(3)、getProperty()方法

该方法可以获取指定键指示的系统属性。

使用示例:

String value = System.setProperyt("os.name"); //获取指定信息

System.out.println("Value = " + value);

注:1、跨平台时该方法可以加入判断。

2、可以在加载时动态输入参数值 方法为 -D【那么】=【value】。

例如:

String v = System.setProperyt("haha"); //获取指定信息

System.out.println("V = " + v);



(4)、currentTimeMillis()方法

该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。

使用示例:

        

long l = System. currentTimeMillis();

则获得的将是一个长整型的数字,该数字就是以差值表达的当前时间。


使用该方法获得的时间不够直观,但是却很方便时间的计算。

例如,计算程序运行需要的时间则可以使用如下的代码:

         

long start = System. currentTimeMillis();
         for(int i = 0;i < 100000000;i++){
                   int a = 0;
         }
         long end = System. currentTimeMillis();
         long  time = end – start;

则这里变量time的值就代表该代码中间的for循环执行需要的毫秒数。


(5)、exit()方法

该方法的作用是退出程序。


(6)、gc()方法

该方法的作用是请求系统进行垃圾回收。

 

1.3、个人总结

System类是一个功能强大、非常有用的特殊类,它提供了标准输入输出、运行是的系统信息等重要工具。

但不能创建System类的对象,它所有的属性和方法都是静态的,引用时应以System为前缀。