您的位置:首页 > 编程语言 > Java开发

java中的Runtime 和Process 类用法 以及开发中的单例模式 暑假十一天

2011-07-29 18:14 375 查看
/*

java 的 Runtime 和 Process类 以及java的单例模式

单例模式:大型开发的时候如果一个程序只需要一个类的实例进行服务那么 我们就可以使用单例模式

Runtime类没有public构造函数 我们只能通过 getRuntime静态方法获得 这个类可以动态的获得JVM的空闲内存 所有内存 以及运行一个子进程 exec函数

制作可视化编译工具的时候可以利用这个

Process类中的函数可以获得子进程的输入输出流

*/

import java.io.* ;// 导入javaIO包的 所有类 输入输出流都在这个类

class Test

{

public static void main(String []args) throws Exception //直接抛出所有异常

{

Runtime run=Runtime.getRuntime(); //只能通过静态方法获得一个实例这就是 单例模式

System.out.println(run.freeMemory()); //获得JVM的 空闲内存

System.out.println(run.totalMemory());//获得JVM虚拟机的全部内存

// run.exec("explorer.exe http://www.baidu.com");//类似于VC的ShellExcute函数 VB的shell函数

Process p=run.exec("netstat -na ");

InputStream in=p.getInputStream(); //拦截输入流通过Runtime类的函数

int data; //用于接收输入流数据

while((data=in.read())!=-1) //如果读取到末尾会返回-1 否则返回 0-255对应的ASCII码

{

System.out.print((char)data); //将流中的每个字节 输出

}

//下面演示了单例模式 类似Runtime类一个 唯一的实例为全局服务

Singleton single=Singleton.getInstance(); //通过唯一的一个静态方法返回一个静态实例

single.outPut(); //调用函数

}

}

//下面这个类演示了单利模式

class Singleton

{

private Singleton(){};//只有构造方法私有了才不能被外部调用从而实现单例模式

private static final Singleton onlyInstance=new Singleton();//创建一个私有的静态 final常量 保证只有一个实例

public static Singleton getInstance()

{

return Singleton.onlyInstance;

}

void outPut()

{

System.out.println("Singleton Instance is constructed");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: