零基础java自学流程-Java语言进阶56

1.Runtime类的主要作用

在每个JVM进程中,都有一个带有Runtime类的对象,其主要功能是获取Runtime环境属性或创建新进程。

在定义Runtime类时,它的构造函数已经被私有了(单例设计模式的应用程序),以确保在整个Runtime中只有一个Runtime对象。所以在Runtime类中有一个静态方法来获取Runtime实例

public static Runtime getRuntime();

2.Runtime类的定义形式

Runtime类中有以下方法: public long totalMemory();//返回所有可用内存空间 public long maxMemory();//返回最大可用内存空间 public long freeMemory();//返回空余内存空间

例如:观察内存大小:

public class TestDemo{
    
    public static void main(String[] args){
        Runtime runtime=Runtime.getRuntime();
        System.out.println("MAX="+runtime.maxMemory());
        System.out.println("Total="+runtime.totalMemory());
        System.out.println("FREE="+runtime.freeMemory());
    }   
}

如果一旦产生了过多垃圾,那么就会改变可用的内存空间大小,为此Runtime类里面提供了:public void gc();手动实现JVM的gc机制。

package TestDemo;


public class TestDemo{
    
    public static void main(String[] args){
        Runtime runtime=Runtime.getRuntime();
        System.out.println("MAX="+runtime.maxMemory());
        System.out.println("Total="+runtime.totalMemory());
        System.out.println("FREE="+runtime.freeMemory());
        String str="";
        for (int i = 0; i < 9000; i++) {
            str+=i;
        }
        System.out.println("MAX="+runtime.maxMemory());
        System.out.println("Total="+runtime.totalMemory());
        System.out.println("FREE="+runtime.freeMemory());
        runtime.gc();
        System.out.println("MAX="+runtime.maxMemory());
        System.out.println("Total="+runtime.totalMemory());
        System.out.println("FREE="+runtime.freeMemory());
    }   
}

1. Runtime类使用单例设计模式,并且必须通过内部的getRuntime()方法获得实例化的对象

2. Runtime类为手动gc提供了gc()


想要系统学习JAVA推荐JAVA300集

经验分享 程序员 微信小程序 职场和发展