单例模式在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 配置
下一篇:
主要元素+有序数组的平方