/*
Runtime对象:该类并没有提供构造函数,说明不可以new对象,那么会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定会提供了方法获取本类对象,并且该方法是静态的,并返回值类型是本类类型。由这个特点可以看出该类使用了单例设计模式完成。
该方法是static Runtime getRuntime();
*/
public class RuntimeDemo { public static void main(String[] args) throws Exception { Runtime r = Runtime.getRuntime(); //Process p = r.exec("C:\\Program Files (x86)\\Tencent\\QQ\\Bin\\QQ.exe"); Process p = r.exec("notepad.exe SystemDemo.java"); //Thread.sleep(4000); //p.destroy(); }}
/*
System:类中的方法和属性都是静态的。out:标准输出,默认是控制台。in:标准输入,默认是键盘。描述系统一些信息。
获取系统属性信息:Properties getProperties();
*/public class SystemDemo { public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) { Properties prop = System.getProperties(); //如何在系统中自定义一些特有信息呢? System.setProperty("mykey", "myvalues"); //获取指定属性信息: String value = System.getProperty("os.name"); sop("value="+value); String v = System.getProperty("haha"); //可不可以在jvm启动时,动态加载一些属性信息呢? sop("v="+v); //因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。 //那么可以通过map的方法取出该集合中的元素。 //该集合存储的都是字符串,没有泛型定义. /* for(Object obj:prop.keySet()) { String value = (String)prop.get(obj); sop(obj+"::"+value); } */ }}