Runtime类

描述运行时的状态,整个JVM唯一与运行有关的类。
每一个JVM进程里面只允许提供有一个Runtime类的对象

 
Runtime类属于单例设计模式
获取实例化对象:public static Runtime getRuntime();
【例子】查询本机CPU内核数:使用availableProcessors()方法


public class Main{
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        System.out.println(runtime.availableProcessors());
    }
}

【例子】获取JVM最大可用内存空间:public long maxMemory();以字节为单位,一般为本机内存的1/4


public class Main{
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        System.out.println(runtime.maxMemory());
    }
}
【例子】获取可用内存空间:public long totalMemory();以字节为单位,一般为本机内存的1/64


public class Main{
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        System.out.println(runtime.totalMemory());
    }
}


【例子】获取空闲内存空间:public long freeMemory();以字节为单位,一般为本机内存的1/4


public class Main{
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        System.out.println(runtime.freeMemory());
    }
}

手工进行GC处理:public void gc();运行垃圾回收器

经典话题:什么是GC?如何处理?

GC是垃圾收集器,可以由系统自动调用的垃圾释放功能,或者使用Runtime类中的gc()手工调用
 


System类

常用方法:

  • 数组复制:public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);

  • 【最常用】获取当前日期时间数值:public static long currentTimeMillis();虽然返回值的时间单位为毫秒,但该值的粒度取决于底层操作系统,并且可能较大

  • 进行垃圾回收:public static void gc() ;   等于Runtime.getRuntime().gc()

 


 

Cleaner类

负责清理对象
替代finialize()方法
 

您必须 登录 才能发表评论