Java当中的RunTime类

每一个Java程序都有一个且只有一个Runtime类的单一实例。

RunTime类非常特殊,是没有构造方法的。它提供了应用程序和java的接口。是通过Runtime.getRuntime()获取Runtime类的实例。

可以通过RunTime类的对象来获取JVM所使用的内存。

class RuntimeTest

{

public static void main(String[] args)

{

Runtime rt=Runtime.getRuntime(); //静态方法

System.out.println(rt.freeMemory()); //可用内存

System.out.println(rt.totalMemory());  //总内存

}

}

RunTime可以调用外部程序:

class RuntimeTest

{

public static void main(String[] args){

Runtime rt=Runtime.getRuntime(); //静态方法

try

{

rt.exec("notepad");

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

调用的外部程序可以返回一个process,process对象可以管理子进程。Process是个抽象类,不可以直接实例化,是通过Process p=rt.exec("javac ClassTest.java") 来获取这个类的实例。

import java.io.*;

class RuntimeTest //实际上,此程序是把ClassTest.class的输入打印到屏幕上。

{

public static void main(String[] args){

Runtime rt=Runtime.getRuntime(); //静态方法

try

{

Process p=rt.exec("java ClassTest");

InputStream is=p.getInputStream();

int data;

while((data=is.read())!=-1)

{

System.out.print((char)data);

}

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

单例模式:

一个类只有一个实例,而且自行实例化(不用new,而是采用其他的方式来实例化比如 getRuntime())并向整个系统提供这个实例,这个类称为单例类。实际上在单例类内部还是用了new来创建了该类的对象。

为了避免了外部利用构造方法去new实例单例类, 就把类的构造方法是声明为私有的。

时间: 2024-10-08 09:17:13

Java当中的RunTime类的相关文章

单例模式的Java代码体现Runtime类(JDK提供的类)

Runtime类的源代码部分如下: /*Runtime类的部分源代码,给别人吹牛的小资本 *public class Runtime{ * private Runtime(){} * private static Runtime currentRuntime = new Runtime(); * public static Runtime getRuntime(){ * return currentRuntime; * } * } */ //设计模式(单例模式的Java代码体现Runtime类)

Java中的Runtime类

Runtime类描述了虚拟机一些信息.该类采用了单例设计模式,可以通过静态方法 getRuntime()获取Runtime类实例.下面演示了获取虚拟机的内存信息: 1 package Main; 2 3 public class Main 4 { 5 public static void main(String[] args) throws Exception 6 { 7 Runtime runtime = Runtime.getRuntime(); 8 System.out.println("

Java System、Runtime类

package com.fish.other; import java.util.Arrays; import java.util.Properties; /* System  系统类 主要用于获取系统的属性数据.   System类常用的方法:  arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 一般      src - 源数组.       srcPos - 源数组中的起始位置.       de

在java当中定义了类数组之后为什么还都要new一下?

java 数组是引用对象,引用对象都需要开辟内存空间,    //Cat[]  c=new Car[100];new 关键字在java里是实例化对象,也是为对象开辟内存空间. /*for(int i=0;i<100;i++) c[i]=new Cat(); */

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

在编写Java程序时,有时候我们需要调用其他的诸如exe,shell这样的程序或脚本.在Java中提供了两种方法来启动其他程序: (1) 使用Runtime的exec()方法 (2) 使用ProcessBuilder的start()方法 Runtime和ProcessBulider提供了不同的方式来启动程序,设置启动参数.环境变量和工作目录.但是这两种方法都会返回一个用于管理操作系统进程的Process对象. 使用Runtime.getRuntime().exec()方法可以在java程序里运行

Runtime 类

关于 Java 中的 Runtime 类对象,每一个 Java 应用都只有一个 Runtime 对象单实例,而 Runtime 类是不能通过 new 方法创建的.因为在这个类中,它将其构造方法私有化了,并提供了一个恶汉式的单例设计模式来获得 Runtime 对象.下面是这个类上述中的关键代码: public class Runtime { private static Runtime currentRuntime = new Runtime(); public static Runtime ge

Java之2.System.RunTime类

1. System  系统类 主要用于获取系统的属性数据. System类常用的方法: arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 一般 src - 源数组. srcPos - 源数组中的起始位置. dest - 目标数组. destPos - 目标数据中的起始位置. length - 要复制的数组元素的数量. currentTimeMillis()  获取当前系统系统.       重点 exi

深入研究java.lang.Runtime类

深入研究java.lang.Runtime类 一.概述      Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.      一般不能实例化一个Runtime对象,应用程序也不能创建自己的 Runtime 类实例,但可以通过 getRuntime 方法获取当前Runtime运行时对象的引用.      一旦得到了一个当前的Runtime对象的引用,就可以调用Runtime对象的方法去控制Java虚拟机的状态和行为.

JAVA API(二)System类与Runtime类

1.System类与Runtime类 1.1System类 System类对我们来说并不陌生,在之前学习的知识中,当我们需要打印结果时,使用的都是"System.out.println()"语句进行打印输出,这句代码中就使用了System类.这个类中定义了与系统相关的属性和方法,它所提供的属性和方法都是静态的,因此,想要引用这些属性和方法,直接使用System类调用即可.下表是System类常用的一些方法. 方法声明 功能描述 static void exit(int status)