1. 在JAVA程序中可以用process类的实例对象来表示子进程。子进程的标准输入和输出流不在连接到键盘和显示器,而是一管道流的形式连接到父进程的一个输出流和输入流
2. 创建子进程:
a. Runtime类封装了运行是的环境。没给JAVA程序都有一个Runtime类的实例,使应用程序与其运行的环境相连。 一般不能实例化Runtime对象,也不能创建自己的实例,但是可以通过getRuntime获得。一旦得到了当前Runtime对象的引用,就可以调用Runtime 对象的方法控制JAVA虚拟机的状态和行为
a. Runtime.exec() 在单独的进程中执行指定的字符串命令,返回一个Process对象,用于管理子进程
b. Process p = Runtime.getRuntime().exec(“java Test”); (Test 是一个有入口方法的类)
3. 调用process类的getOutputStream 和getInputStream (得到的流对象的输入输出相对的是父进程)方法可以获得连接到子进程的输出流和输出流对象 。当然大多的对标准输入输出流的操作是通过new BufferedReader(new InputStreamReader(InputStream in))包装后实现的(输出流也一样..)
4. 其实大多集成开发环境都是用的这个原理,代码的标准输出输入流与编辑器相连,而可以把输出显示在编辑器上。
输入流的缓冲区,如果放满了,则会阻塞。而不是覆盖或抛出异常