静态方法: public static Runtime getRuntime()
实际上可以通过Runtime 类直接运行本机的程序
package org.systemdemo;
import java.io.IOException;
public class systemdemo01 {
/**
* @param args
* @throws exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Runtime run = Runtime.getRuntime(); //单例设置
Process proc = run.exec("calc.exe"); //执行程序
Thread.sleep(2000); //看2秒
proc.destroy(); //销毁
}
}
可以让指定的程序,进行自动的关闭,exec()方法返回一个Process 类的实例,表示一个进程的对象
如果要想关闭,则使用此类中: public abstract void destroy()
Runtime 取得系统信息
package org.systemdemo;
public class runtimedeom01 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Runtime run = Runtime.getRuntime();
System.out.println(run.maxMemory()); //最大可用内存
System.out.println(run.freeMemory()); //空亲的内存空间
System.out.println(run.totalMemory()); //总共内存空间
String name ="Hello";
for (int i=0;i<1000;i++){
name +=i;
}
System.out.println(run.maxMemory());
System.out.println(run.freeMemory());
System.out.println(run.totalMemory());
}
}
垃圾回收
package org.systemdemo;
public class runtimedeom01 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Runtime run = Runtime.getRuntime();
System.out.println(run.maxMemory()); //最大可用内存
System.out.println(run.freeMemory()); //空亲的内存空间
System.out.println(run.totalMemory()); //总共内存空间
String name ="Hello";
for (int i=0;i<1000;i++){
name +=i;
}
System.out.println("--------------------");
System.out.println(run.maxMemory());
System.out.println(run.freeMemory());
System.out.println(run.totalMemory());
System.gc(); //垃圾回收
System.out.println("--------------------");
System.out.println(run.maxMemory());
System.out.println(run.freeMemory());
System.out.println(run.totalMemory());
}
}
System 类
System 类是一个系统类,例如:System.out.println()就是类中提供的操作
取得计算时间
使用此类可以取得计算的时间
public static long currentTimeMillis()
package org.systemdemo;
public class SystemDemo02 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long begin = System.currentTimeMillis();
String name ="Hello";
for (int i=0;i<50000;i++){
name +=i;
}
long end = System.currentTimeMillis();
System.out.println((end-begin)/1000);
}
}
System 与垃圾收集
在System 类中存在一个gc()方法:
public static void gc()
调用此方法实际上就是调用了Runtime类中的gc()方法
如果一个对象不用的话则就有可能进行垃圾的收集,但是如果一个对象在被收集前需要做一些收尾工作
在Object 类中存在一个方法,此方法将在对象被回收前调用:
protected void finalize() throws Throwable
package org.systemdemo;
class Person{
private String name;
public Person(String name){
this.setName(name);
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public String toString(){
return "name:"+this.name;
}
public void finalize() throws Throwable{
System.out.println("我被回收了"+this);
}
}
public class SystemDemo03 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person per = new Person("张三");
System.out.println(per);
per = null; //取消引用
System.gc(); //强制进行垃圾收集
}
}
分享到:
相关推荐
Installation notes for the J2SE Runtime Environment 5.0 (JRE), including system requirements and installation instructions, are available for the following platforms. Platform 32-bit Installation 64...
在Java中,claiming exceptions是告诉Java runtime system可能出错的地方。claiming exceptions使用throws关键字在方法声明中指定可能抛出的异常。可以claim多个异常,使用逗号分隔。 三、checked exception和...
### Java执行可执行文件的方法详解 在Java编程中,经常需要执行一些外部的可执行文件或者脚本(如bat或shell脚本)。本文将详细介绍三种常用的方法:`Runtime.exec()`、`ProcessBuilder`以及`commons-exec`库。 ##...
使用 System.getProperty() 函数可以获取当前路径,该函数可以获取 Java 运行时环境的各种属性,其中包括当前路径。下面是一个示例代码: ```java System.out.println(System.getProperty("user.dir")); ``` 这段...
This paper describes JSpy, a system for high-level instrumentation of Java bytecode and its use with JPaX, our system for runtime analysis of Java programs. JPaX monitors the execution of temporal ...
`Runtime`类是Java标准库提供的一种机制,允许我们在程序中执行操作系统命令。本文将深入探讨如何使用`Runtime`和相关概念来实现Linux命令行或shell脚本的多次调用。 首先,`Runtime`类是每个Java应用实例的一部分...
Objective-C的运行时系统(Runtime System)赋予了开发者在程序运行过程中修改和替换类的方法的能力,这在其他静态类型语言中是不常见的。以下是对这个主题的详细解释: 1. **Objective-C Runtime**: Objective-C...
这通常是通过`java.lang.Runtime`类的`exec()`方法执行外部命令来实现的。 1. **设置文件为只读**:使用`File.setReadOnly()`。 ```java File file = new File("path/to/your/file"); boolean success = file....
然而时至今日,并没有任何一本书详细地解释Java 2 SDK以及JRE(Java Runtime Environment)如何相互配合,让Java程序畅行无阻;也没有一本书解释Java编译器在编译Java程序时的细节;更没有一本书告诉您Java程序如何与...
System 类和 Runtime 类是 Java 核心库中的关键类,它们提供了与操作系统交互以及管理 Java 运行时环境的能力。让我们深入了解一下这两个类的常用方法和功能。 首先,System 类: 1. 获取系统环境变量: System ...
然而,有时环境变量可能不直接包含完整的JDK路径,例如,它可能只包含JRE(Java Runtime Environment)的路径。在这种情况下,我们需要通过一些额外的逻辑来找到JDK路径。例如,JDK路径通常位于`JAVA_HOME`下的一级...
- **System、Runtime、Process、Math、Calendar类**:理解这些类的功能及应用场景。 - **反射机制**:深入学习反射机制及其在程序设计中的应用。 接下来,我们将详细探讨文档中提到的一些核心知识点。 #### 二、...
6. **jmods**:Java模块系统(Java Module System,Jigsaw项目的一部分)的模块描述文件,用于Java 9及以上版本的模块化系统。 7. **include**:包含头文件,供使用JNI(Java Native Interface)进行C/C++编程时使用...
在 JAVA 中,我们可以使用 System.LoadLibrary 方法来加载我们的 DLL 文件,并使用 System.Runtime.InteropServices.DllImportAttribute 属性来调用我们的 DLL 文件。 public class Main { public native String ...
在 Java 中,我们可以使用多种方式来获取系统信息,如使用 Runtime 类、System 类、ManagementFactory 类等。 CPU 信息 在 Java 中,我们可以使用 ManagementFactory 类来获取 CPU 信息。ManagementFactory 类提供...
在Java编程中,有时我们需要在程序中调用操作系统级别的命令或者执行外部程序,这就涉及到Java中的`Runtime`和`Process`类。这两个类提供了一种机制,使得Java应用程序能够与操作系统进行交互,执行系统命令或者运行...
Java 运行环境(Java Runtime Environment) 3. JVM abbr. Java 虚拟机(Java Virtual Machine) 4. system ['sɪstəm] System n. 制度,系统; 5. out [aʊt] adj. 外面的;出去 6. println n. 换行打印...
### JAVA读取环境变量 #### 知识点概述 在Java程序中,有时我们需要根据不同的运行环境(如Windows或Linux)来获取系统环境变量。这些环境变量包含了操作系统配置的重要信息,比如路径设置、用户信息等。本文将...
这主要通过`java.lang.Runtime`类和`java.lang.ProcessBuilder`类实现。本文将深入讲解如何在Java程序中调用Linux命令,并通过实例来阐述这一过程。 一、Runtime类 `Runtime`类是每个Java应用程序都有的一个单例...