单例模式在JDK中的使用
一 点睛
Runtime类是使用的单例设计模式。
二 分析
通过源代码查看使用的是哪种单例模式
public class Runtime {
private static Runtime currentRuntime = new Runtime();
/**
* Returns the runtime object associated with the current Java application.
* Most of the methods of class <code>Runtime</code> are instance
* methods and must be invoked with respect to the current runtime object.
*
* @return the <code>Runtime</code> object associated with the current
* Java application.
*/
public static Runtime getRuntime() {
return currentRuntime;
}
/** Dont let anyone else instantiate this class */
private Runtime() {
}
...
}
从上面源代码中可以看出Runtime类使用的是饿汉式(静态属性)方式来实现单例模式的。
三 使用Runtime类中的方法
public class RuntimeDemo {
public static void main(String[] args) throws IOException {
// 获取Runtime类对象
Runtime runtime = Runtime.getRuntime();
// 返回 Java 虚拟机中的内存总量。
System.out.println(runtime.totalMemory());
// 返回 Java 虚拟机试图使用的最大内存量。
System.out.println(runtime.maxMemory());
// 创建一个新的进程执行指定的字符串命令,返回进程对象
Process process = runtime.exec("ipconfig");
// 获取命令执行后的结果,通过输入流获取
InputStream inputStream = process.getInputStream();
byte[] arr = new byte[1024 * 1024* 100];
int b = inputStream.read(arr);
System.out.println(new String(arr,0,b,"gbk"));
}
}
四 执行结果
257425408 3797417984 Windows IP 配置
下一篇:
主要元素+有序数组的平方
