System对象

System对象

System中的类和属性都是静态的

System可以描述系统环境

在虚拟机启动的时候,系统环境会去加载一些系统属性信息,getProperties()获取描述,Property类是HashTable的子类,

out是标准输出,默认是控制台,

in是标准输入,默认是键盘

System.gc()垃圾回收

查看系统环境加载了那些信息(因为Properties是hashtable的子类,所以可以用hashtable的方法取出数据)

import java.util.*;
public class test{
    public static void main(String[] args)
    {
        Properties p= System.getProperties();
        for(Object o :p.keySet())
        {
            String value=(String)p.get(o);
            System.out.println(o+" "+value);
        }
    }
}

如何在系统中自定义一些特有信息?

通过System.setProperty();

System.setProperty("hhhhhhhhhhhhhhhhhh","mmmmmmmmmmmmmmmm");

获取指定属性信息

System.out.println(System.getProperty("hhhhhhhhhhhhhhhhhh"));

 在虚拟机启动时动态加载一些属性信息

在cmd窗口运行时通过-D参数名=参数值的形式传递参数

C:>java -Ddd=kkk test
System.setProperty("hhhhhhhhhhhhhhhhhh","mmmmmmmmmmmmmmmm");
Properties p= System.getProperties();
String u=System.getProperty("dd");
System.out.println(u);

输出结果:kkk

Runtime对象

1,每个java应用程序都有一个Runtime(运行时)实例,使应用程序能与其运行环境相连接

没有构造函数,而且他的方法都不是静态的,所以他一定会通过一个本类类型的静态方法提供一个本类对象【应用程序一执行,对象就创建完毕了】-----》单例设计模式---》只有一个对象

获取对象的方法 static Runtime getRuntime()

这个类的作用:

exec():execute【执行】的简写

command:cmd:命令

exec(String command):可以在单独的进程中执行单独的命令

有这个特点可以看出该类使用了单例设计模式完成

下列代码可以运行qq应用程序

Runtime r= Runtime.getRuntime();
        r.exec("C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe");

%SystemRoot%system32;%SystemRoot%;

因为环境变量中有这条,所以在执行这条命令式会去系统盘找

C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe这个路径下的.exe文件

桌面图标打开应用程序:点击按钮,调用本机应用程序

Process exec(String command)

返回值类型是Process abstract

应用程序一被执行就已经创建了一个进程,是虚拟机创建的,

Process中的方法

destory()杀掉子进程【QQScLauncher.exe被秒杀

他只能杀掉他自己创建的进程

Runtime r= Runtime.getRuntime();
Process p=r.exec("C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe");
Thread.sleep(1000);
p.destroy();

打开一个文件,只需要指定打开他的工具【使用记事本打开test.java文件】

Runtime r= Runtime.getRuntime();
Process p=r.exec("notepad.exe test.java");

Date类

他对时间和日期进行了描述【精确到了毫秒】

Date d= new Date();
System.out.println(d);

打印结果:Sun Mar 18 09:58:56 CST 2018

打印的是当前时间

原文地址:https://www.cnblogs.com/excellencesy/p/8592996.html