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

java学习笔记(三十四)认识Runtime类

 
阅读更多

1.1 认识Runtime类


Runtime:运行时,是一个封装了JVM进程的类,每一个java程序实际上都是启动了一个JVM进程,那么每个JVM进程都是对应这一个Runtime实例,此实例是由JVM为其实例化的。

public class Runtimeextends Object每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。

应用程序不能创建自己的 Runtime 类实例。


1.2 本类的定义中根本就没有构造方法,本类的构造公共被私有化了。则在此类中肯定有一个方法可以返回该类的实例化对象。

public static Runtime getRuntime()

返回与当前 Java 应用程序相关的运行时对象。Runtime 类的大多数方法是实例方法,并且必须根据当前的运行时对象对其进行调用。

返回:
与当前 Java 应用程序相关的 Runtime 对象。

--------------------------------------------------------------------------------

得到JVM信息

实例:


public class RunTimeDemo01
{
 public static void main(String args[]){
 Runtime run = Runtime.getRuntime();
 System.out.println("JVM最大内存:"+run.maxMemory());
 System.out.println("JVM空闲内存:"+run.freeMemory());

 }
}


结果:

F:\java>javac RunTimeDemo01.java

F:\java>java RunTimeDemo01
JVM最大内存:259522560
JVM空闲内存:15932104


1.3 释放内存 run.gc()

public class RunTimeDemo01
{
 public static void main(String args[]){
 Runtime run = Runtime.getRuntime();
 String str = "hahei"+"dd"+"sggh";
 System.out.println("JVM最大内存:"+run.maxMemory());
 System.out.println("操作之前JVM空闲内存:"+run.freeMemory());
 for(int i = 0;i < 100;i++){
 str += i;
 }
   
 System.out.println("JVM最大内存:"+run.maxMemory());
 System.out.println("操作之后JVM空闲内存:"+run.freeMemory());
 run.gc();
    System.out.println("free之后"+run.freeMemory());
 }
}


结果:

F:\java>javac RunTimeDemo01.java

F:\java>java RunTimeDemo01
JVM最大内存:259522560
操作之前JVM空闲内存:15932176
JVM最大内存:259522560
操作之后JVM空闲内存:15841496
free之后16045904

1.4 Runtime类与Process类


除了观察内存使用量之外,也可以直接使用Runtime类运行本机的可执行程序,例如,调用记事本

public Process exec(String command)
throws IOException在单独的进程中执行指定的字符串命令。
这是一个很有用的方法。对于 exec(command) 形式的调用而言,其行为与调用 exec(command, null, null) 完全相同。


参数:
command - 一条指定的系统命令。
返回:
一个新的 Process 对象,用于管理子进程
抛出:
SecurityException - 如果安全管理器存在,并且其 checkExec 方法不允许创建子进程
IOException - 如果发生 I/O 错误
NullPointerException - 如果 command 为 null
IllegalArgumentException - 如果 command 为空


实例:


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics