`
85977328
  • 浏览: 1899489 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Runtime类的用法

阅读更多
简介及示例
Runtime是当前JVM的运行时环境
下面的命令是运行一些dos命令,你也可以运行其他的命令
public class Test {

	public static void main(String[] args) throws Exception {
		Runtime rt = Runtime.getRuntime();

		// 运行一个exe程序
	Process proc = rt.exec("C:\\Program Files\\Internet Explorer\\iexplore.exe");

		// 运行一个dos命令
		// 开关E:ON指定dos命令处理器允许命令扩展
		// 开关 /c指明后面跟随的字符串是命令,并在命令执行后关闭dos窗口
		// start 命令会开启一个单独的窗口执行所提供的命令
		Process proc2 = rt.exec("cmd /E:ON /c taskmgr");
	}
}



try {
            Runtime.getRuntime().exec("shutdown -s");
           } catch (IOException e) {
            // TODsO Auto-generated catch block
            e.printStackTrace();
}

重启:
Runtime.getRuntime().exec("shutdown -r");
注销:
Runtime.getRuntime().exec("shutdown -l");

获得执行dos指令后的结果,并输出:
java的Runtime.getRuntime().exec(String cmdString)可以调用执行cmd指令。
cmd /c dir 是执行完dir命令后关闭命令窗口。类似于运行中执行dos命令
cmd /k dir 是执行完dir命令后不关闭命令窗口。
cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。
cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。


执行原理
    首先克隆一个和当前虚拟机拥有一样环境变量的进程,再用这个新的进程去执行外部命令,最后再退出这个进程。
    如果频繁执行这个操作,系统的消耗会很大,不仅是CPU,内存负担也很重。这种方法在JAVA虚拟机中非常消耗资源,即使外部命令本身很快能执行完毕,频繁调用时创建进程的开销也非常可观。


附录
2014-01-14
增加执行原理及使用中的注意事项




作者简介
昵称:澳洲鸟
姓名:朴海林
QQ:85977328
MSN:6301655@163.com

转载请注明出处
2
0
分享到:
评论

相关推荐

    iOS开发Runtime的用法

    Runtime,全称为Objective-C Runtime,是Objective-C语言的核心组成部分,它在程序执行过程中提供了对类、对象、方法等元数据的访问和操作能力。下面将详细介绍Runtime的几个关键概念和用法。 1. **消息传递...

    runtime10种用法

    Runtime在iOS开发中有着广泛的应用场景,本文将重点介绍其中的十种常见用法。 #### 二、替换系统方法(Swizzling) Swizzling是Objective-C中一种常用技巧,用于交换两个方法的实现,通常用来重写或拦截系统方法的...

    自己研究的runtime知识和一些方法调用,KVO的原理

    Runtime系统允许程序在运行时获取和修改对象、类、方法等信息,甚至可以在运行时改变对象的行为。下面将详细探讨Runtime的知识点,以及与方法调用和KVO(Key-Value Observing)的关系。 一、Runtime基本概念 1. **...

    总结iOS中runtime的使用

    5. **Category和Extension**:Category用于给已有的类添加方法,而Extension可以为类添加私有属性和方法,这些都依赖于Runtime的特性。 6. **反射(Reflection)**:类似于Java的反射机制,Runtime可以让我们在运行...

    深入研究java.lang.Runtime类.doc

    一般不能实例化一个 Runtime 对象,应用程序也不能创建自己的 Runtime 类实例,但可以通过 getRuntime 方法获取当前 Runtime 运行时对象的引用。 一旦得到了一个当前的 Runtime 对象的引用,就可以调用 Runtime ...

    09 Runtime

    这个类提供了多个静态方法来获取当前的`Runtime`实例,并且不允许用户直接创建此类的新实例。这是为了确保每个Java应用仅有一个`Runtime`对象,从而避免资源冲突或不必要的开销。 ##### 代码示例: ```java /** *...

    System 类 和 Runtime 类的常用用法介绍

    System 类和 Runtime 类是 Java 核心库中的关键类,它们提供了与操作系统交互以及管理 Java 运行时环境的能力。让我们深入了解一下这两个类的常用方法和功能。 首先,System 类: 1. 获取系统环境变量: System ...

    runtime(获取类属性等信息实例)

    以上就是使用Objective-C runtime获取类属性、方法和协议的基本操作。通过这些API,开发者可以在运行时动态地改变类的行为,实现更灵活的代码设计。例如,我们可以通过runtime来实现动态代理、AOP(面向切面编程)...

    onnxruntime-1.10.0-1.5.7-API文档-中文版.zip

    赠送jar包:onnxruntime-1.10.0-1.5.7.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Runtime 方法的替换(不同类).zip

    - 只在必要的时候使用方法替换,避免滥用。 - 使用前进行充分的测试,确保替换后的行为符合预期。 - 如果可能,优先考虑使用Category添加新的方法,而不是替换原有方法,以减少副作用。 7. **应用案例**: - ...

    使用runtime实现linux命令行或shell脚本多次调用

    `Runtime.exec(String command)`方法用于执行单个命令,而如果需要执行包含多个命令的shell脚本,可以使用`Runtime.exec(String[] cmdArray)`,其中cmdArray是一个包含命令及其参数的字符串数组。 下面是一个简单的...

    onnxruntime-1.10.0-1.5.7-API文档-中英对照版.zip

    使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    (OC)RunTime获取类的对象方法

    本文将详细探讨如何利用Runtime获取类的对象方法。 1. **Runtime概述** - Runtime是一套C语言的库,为OC提供了一种在程序运行过程中操作和改变对象、类以及它们之间的关系的能力。 - 它允许我们访问类的信息,如...

    RunTime类学习

    `Runtime`类是Java标准库的一部分,它提供了与运行时环境进行交互的方法,允许程序访问并控制Java虚拟机(JVM)的特性以及执行外部进程。以下将对`Runtime`类的关键知识点进行详细解析。 ### JVM内存管理 在代码...

    Java Runtime类详解_动力节点Java学院整理

    总的来说,Java的Runtime类是Java程序与运行环境交互的重要工具,它提供了一系列方法,使得开发者能够更好地管理应用程序的内存使用,执行外部程序,并且可以参与到JVM的生命周期管理中。在编写Java程序时,合理使用...

    onnxruntime 1.3版本

    在Python中,这通常涉及到`onnxruntime.InferenceSession`对象的创建,以及`run`方法的调用,以执行模型预测。 ONNX Runtime 1.3版本还可能包含一些新特性、性能提升和bug修复。例如,它可能对某些特定模型的优化...

    runtime最新代码

    `runtime` 是一种底层的系统库,它在程序运行时管理对象、类、方法和其他关键元素。当我们谈论 `objc4-709` 版本的 runtime 源码时,这是 Objective-C 的一个特定实现,它揭示了语言内部工作原理的细节。 Objective...

    runtime 源码

    - 为了提高性能,`runtime` 使用方法缓存来存储最近使用的 SEL 和其对应的方法实现。 - 当收到新的消息时,`runtime` 首先会在缓存中查找,如果找不到则遍历方法列表。 6. **类别(Category)**: - 类别允许在...

    jaxb-runtime-2.3.5-API文档-中英对照版.zip

    使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    runtime源码

    3. **类别(Category)与协议(Protocol)**:runtime支持类别和协议的实现,允许向已有的类添加方法和属性,而协议则定义了一组方法签名,可以用于接口规范或实现多继承的效果。 4. **内存管理**:runtime负责对象...

Global site tag (gtag.js) - Google Analytics