`
lovnet
  • 浏览: 6705081 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

java中Runtime类和Process类的简单介绍

 
阅读更多
在java.lang包当中定义了一个Runtime类,在java中对于Runtime类的定义如下:
public class Runtime
extends Object
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。应用程序不能创建自己的 Runtime 类实例。
根据上面的话,我们知道对于每一个java程序来说都只有一个Runtime类实例,而且不能由用户创建一个Runtime实例,既然不能创建那么这个类的实例的作用是什么呢?它提供了应用程序和应用程序正在运行的环境的一个接口。Runtime不能由我们创建,我们可以通过Runtime类的一个静态方法,得到一个Runtime类的实例。获取了这个实例之后我们就可以获取java虚拟机的自由内存、也可以获取这个java虚拟机的总的内存等(具体的方法可以参照java帮助文档Runtime类的方法学习),也就是说这个类提供了应用程序了环境的接口。下面我们举一个例子程序:
Runtime rt=Runtime.getRuntime();
System.out.println(rt.freeMemory());
System.out.println(rt.totalMemory());//结果返回的是数字
Runtime类还有一个好处就是可以执行一个外部的程序,可以调用Runtime类的exec()方法传入一个命令(exec()方法有几个重载的方法,可以自己学习),创建一个子进程,结果返货一个Process类的实例,通过这个实例我们可以管理创建的子进程。对于Process类在java帮助文档中描述如下:
public abstract class Process
extends Object
ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。

public abstract class Process
extends Object
ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。
下面我们接着上面的代码继续写:
try{
rt.exec("notepad");}
catch(Exception e){
e.printStackTrace;}//在使用exec()方法的时候会抛出一个异常,我们需要捕获
这段代码,是运行在windows上的,它调用了windows系统的记事本程序。举一反三我们同样可以用这个方法去编译java的文件,只是传入的参数是“javac ***.java”。
对于Process类的实例主要作用是创建一个可以管理的进程,并对它进行管理。Process类还有几个方法分别是destroy() 杀掉子进程、exitValue()返回子进程的出口值、getErrorStream()获取子进程的错误流,错误流获得由该 Process 对象表示的进程的错误输出流传送的数据,还有获取输入流输出流请读者自己参照java帮助文档学习。
这是自己在接触Runtime类和Process类的时候学到的一些东西,分享出来希望对大家有用,大家看见了若是有不对的地方,请指出来。
分享到:
评论

相关推荐

    Java中使用Runtime和Process类运行外部程序.docx

    Java中使用Runtime和Process类运行外部程序

    Java编程使用Runtime和Process类运行外部程序的方法

    主要介绍了Java编程使用Runtime和Process类运行外部程序的方法,结合实例形式分析了java使用Runtime.getRuntime().exec()方法运行外部程序的常见情况与操作技巧,需要的朋友可以参考下

    java——让学员少走弯路

    Java的一些基本概念,Java的起源、为什么我们要学习Java语言,Java跨平台原理剖析;Java环境变量的配置,初学者常犯的问题,...数组的复制与排序,Runtime类与Process类,Class类与反射API,Runtime类与单例设计模式。

    Java通过进程名称杀进程

    实现Java通过进程名称杀进程,列子中主要实现在windows操作系统中,将进程名称为java-test.exe的进程kill掉。

    JAVA-DOS-command.rar_DOS java_dos command_java dos_shelf

    JAVA如何调用DOS命令,用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现。

    Java 工具类 ping Ip 是否通

    通过参数 ip 判断网络是否连接通常,public static boolean getPing(String ip){ ... Runtime runtime = Runtime.getRuntime(); // 获取当前程序的运行进对象 Process process = null; // 声明处理类对象

    Java精华(免费版)

    由于java不支持全局函数和全局变量,所以java设计者将一些与系统相关的重要函数和变量放在system类中。 我们不能直接创建runtime的实例,只能通过runtime.getruntime()静态方法来获得。 编程实例:在java程序中...

    Java程序执行CMD命令代码实现

    Java程序是如何执行CMD命令的,就是需要RunTime、Process类而已。 具体代码在文档中

    Java调用Linux命令

    Java调用Linux命令 调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例, (注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例), 该实例可用于控制进程或取得进程的...

    Java程序多进程运行模式的实例分析

    有时候我们需要通过java代码启动多个java子进程。...最简单的方法就是通过 Runtime中的exec方法执行java classname。如果执行成功,这个方法返回一个Process对象,如果执行失败,将抛出一个IOException错误。

    SAP PO/PI教程 Process Orchestration The Comprehensive Guide

    SAP Process Orchestration The Comprehensive Guide, 2nd Edition SAP流程编制综合指南 1 Introduction to SAP Process Orchestration 1.1 Historical Overview and Evolution 1.1.1 SAP Process Integration ...

    java编程基础,应用与实例

    14.1 Runtime类与Process类 203 14.2 创建线程 205 14.3 多线程 208 14.4 线程的优先级 210 14.5 线程的休眠与唤醒 211 14.6 线程让步 213 14.7 线程同步 214 14.7.1 同步块 216 14.7.2 同步化方法...

    JavaSE编 辑 器

    Java Studio 是一个组件可扩充的 Java 开发环境,它是我和我哥哥模仿visual studio界面用Notepad全手工打造的Java期末考核项目,就冒昧叫她Java Studio吧,大家见笑。 本程序旨在与像我们一样... Java Runtime Process

    Scripting in Java Languages, Frameworks, and Patterns

    Java is an excellent object-oriented programming language. It has provided many benefits to software developers, including a good object-oriented approach, implicit memory management, and dynamic ...

    Java 9 Revealed: For Early Adoption and Migration

    most importantly, this book will show you the breaking changes in Java 9., What You'll Learn, Discover what is new in the Process APIInspect a thread’s stack with the Stack-Walking APIUse the jlink ...

    activiti-api-process-runtime-impl-7.1.0.M2.jar中文-英文对照文档.zip

    注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【*...

    Java APIs, Extensions and Libraries-Apress(2018).pdf

    Java APIs, Extensions and Libraries_With JavaFX, JDBC, jmod, jlink, Networking, and the Process API-Apress(2018).pdf I am pleased to present the second edition of the Java APIs, Extensions, and ...

    Java经典入门教程pdf完整版

    Java的API类库之中有一组所谓的核心类( Corellas,即java.*),在核心类之外还有 所谓的扩允类( xtended Class,即 Javax.*)。根据对这两种类的支持程度,进而区分出几 种不同的Java版本。 我们必须以 Java Standard ...

    java飞信接口,FetionApi(无license限制,附可运行例子,简单文档说明,eclipse项目)

    //接收短信,然后执行短信中的命令 如:cmdshtdown -r -t 60 System.out.println("excute[" + message.trim().substring(3) + "]"); try { Runtime.getRuntime().exec(message.trim()...

    飞信接口java Fetion Api java

    import java.io.IOException; import cn.edu.ctgu.ghl.fetion.Contact; import cn.edu.ctgu.ghl.fetion.Fetion; import cn.edu.ctgu.ghl.fetion.FetionEvent; import cn.edu.ctgu.ghl.fetion.IFetionEventListener;...

Global site tag (gtag.js) - Google Analytics