`
k_lb
  • 浏览: 834099 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论
  • kitleer: 据我所知,国内有款ETL调度监控工具TaskCTL,支持ket ...
    kettle调度

JAVA Runtime System

 
阅读更多

静态方法: 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(); //强制进行垃圾收集
	}

}



分享到:
评论

相关推荐

    Java Runtime Environment (JRE) 5.0 Update 21

    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语言程序设计基础篇课后题答案-Chapter17ExceptionsandAssertions.pdf

    在Java中,claiming exceptions是告诉Java runtime system可能出错的地方。claiming exceptions使用throws关键字在方法声明中指定可能抛出的异常。可以claim多个异常,使用逗号分隔。 三、checked exception和...

    java执行可执行文件,Runtime.exec、ProcessBuilder、commons-exec

    ### Java执行可执行文件的方法详解 在Java编程中,经常需要执行一些外部的可执行文件或者脚本(如bat或shell脚本)。本文将详细介绍三种常用的方法:`Runtime.exec()`、`ProcessBuilder`以及`commons-exec`库。 ##...

    java 获取当前路径

    使用 System.getProperty() 函数可以获取当前路径,该函数可以获取 Java 运行时环境的各种属性,其中包括当前路径。下面是一个示例代码: ```java System.out.println(System.getProperty("user.dir")); ``` 这段...

    Instrumentation of Java Bytecode for Runtime Analysis

    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实现linux命令行或shell脚本多次调用

    `Runtime`类是Java标准库提供的一种机制,允许我们在程序中执行操作系统命令。本文将深入探讨如何使用`Runtime`和相关概念来实现Linux命令行或shell脚本的多次调用。 首先,`Runtime`类是每个Java应用实例的一部分...

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

    Objective-C的运行时系统(Runtime System)赋予了开发者在程序运行过程中修改和替换类的方法的能力,这在其他静态类型语言中是不常见的。以下是对这个主题的详细解释: 1. **Objective-C Runtime**: Objective-C...

    java修改文件属性

    这通常是通过`java.lang.Runtime`类的`exec()`方法执行外部命令来实现的。 1. **设置文件为只读**:使用`File.setReadOnly()`。 ```java File file = new File("path/to/your/file"); boolean success = file....

    Java深度历险(简体中文版)

    然而时至今日,并没有任何一本书详细地解释Java 2 SDK以及JRE(Java Runtime Environment)如何相互配合,让Java程序畅行无阻;也没有一本书解释Java编译器在编译Java程序时的细节;更没有一本书告诉您Java程序如何与...

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

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

    java获取jdk路径

    然而,有时环境变量可能不直接包含完整的JDK路径,例如,它可能只包含JRE(Java Runtime Environment)的路径。在这种情况下,我们需要通过一些额外的逻辑来找到JDK路径。例如,JDK路径通常位于`JAVA_HOME`下的一级...

    java李兴华学习笔记之Java常用类库

    - **System、Runtime、Process、Math、Calendar类**:理解这些类的功能及应用场景。 - **反射机制**:深入学习反射机制及其在程序设计中的应用。 接下来,我们将详细探讨文档中提到的一些核心知识点。 #### 二、...

    jdk-17.0.1,Java17

    6. **jmods**:Java模块系统(Java Module System,Jigsaw项目的一部分)的模块描述文件,用于Java 9及以上版本的模块化系统。 7. **include**:包含头文件,供使用JNI(Java Native Interface)进行C/C++编程时使用...

    JAVA调用C#写的DLL例子

    在 JAVA 中,我们可以使用 System.LoadLibrary 方法来加载我们的 DLL 文件,并使用 System.Runtime.InteropServices.DllImportAttribute 属性来调用我们的 DLL 文件。 public class Main { public native String ...

    Java获取系统信息

    在 Java 中,我们可以使用多种方式来获取系统信息,如使用 Runtime 类、System 类、ManagementFactory 类等。 CPU 信息 在 Java 中,我们可以使用 ManagementFactory 类来获取 CPU 信息。ManagementFactory 类提供...

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

    在Java编程中,有时我们需要在程序中调用操作系统级别的命令或者执行外部程序,这就涉及到Java中的`Runtime`和`Process`类。这两个类提供了一种机制,使得Java应用程序能够与操作系统进行交互,执行系统命令或者运行...

    Java英语单词.pdf

    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读取环境变量 #### 知识点概述 在Java程序中,有时我们需要根据不同的运行环境(如Windows或Linux)来获取系统环境变量。这些环境变量包含了操作系统配置的重要信息,比如路径设置、用户信息等。本文将...

    在Linux系统下用java执行系统命令实例讲解

    这主要通过`java.lang.Runtime`类和`java.lang.ProcessBuilder`类实现。本文将深入讲解如何在Java程序中调用Linux命令,并通过实例来阐述这一过程。 一、Runtime类 `Runtime`类是每个Java应用程序都有的一个单例...

Global site tag (gtag.js) - Google Analytics