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;
}
}