Runtime类和Process类及设计模式
1) 每一个Java程序都有一个Runtime类的单一实例。
2) 通过Runtime.getRuntime()获取Runtime类的实例。
3) Runtime类是使用单例模式的一个例子。
下面为Runtime类的代码,可以通过exec来执行相应的编译和运行某个程序,可以应用到图形界面的设计中。
import java.io.*;
class RuntimeTest
{
public static void main(String[]args)
{
Runtime rt=Runtime.getRuntime();
System.out.println(rt.totalMemory());
System.out.println(rt.freeMemory());
try
{
rt.exec("javac ArrayTest.java");//编译ArrayTest.java
Process p=rt.exec("java ArrayTest");//执行ArrayTest
InputStream stream=p.getInputStream();
int data;
while((data=stream.read())!=-1)//让执行ArrayTest的输出结果在屏幕上显示
{
System.out.print((char)data);
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
设计模式
1) 在我们进行程序设计时,逐渐形成了一些典型问题和问题的解决方案,这就是软件模式。
2) 每一个模式描述了一个在我们程序设计中经常发生的问题,以及该问题的解决方案。
3) 当我们碰到模式所描述的问题,就可以直接用相应的解决方法去解决这个问题,这就是设计模式。
4) 单例(Singleton)模式
(1)一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类。
(2)单例类的一个最重要的特点是类的构造方法是私有的,从而避免了外部利用构造方法直接创建多个实例。
单例类的实现
class Singleton
{
private static final Singleton st=new Singleton();
private Singleton(){}
public static Singleton getInstance()
{
return st;
}
}